Workshops/DeployingLinux/Author_Group.xml | 24
Workshops/DeployingLinux/Book_Info.xml | 29
Workshops/DeployingLinux/Common_Content/Feedback.xml | 45
Workshops/DeployingLinux/Makefile | 15
Workshops/DeployingLinux/Preface.xml | 12
Workshops/DeployingLinux/en-US/Author_Group.xml | 16
Workshops/DeployingLinux/en-US/Book_Info.xml | 32
Workshops/DeployingLinux/en-US/Chapter.xml | 25
Workshops/DeployingLinux/en-US/DeployingLinux.ent | 2
Workshops/DeployingLinux/en-US/DeployingLinux.xml | 12
Workshops/DeployingLinux/en-US/Preface.xml | 13
Workshops/DeployingLinux/en-US/Revision_History.xml | 26
Workshops/DeployingLinux/en-US/images/icon.svg | 3936 ++++++++++
Workshops/PuppetWorkshop/Makefile | 15
Workshops/PuppetWorkshop/en-US/Appendix.xml | 176
Workshops/PuppetWorkshop/en-US/Author_Group.xml | 24
Workshops/PuppetWorkshop/en-US/Book_Info.xml | 29
Workshops/PuppetWorkshop/en-US/Chapter.xml | 25
Workshops/PuppetWorkshop/en-US/Common_Content/Feedback.xml | 45
Workshops/PuppetWorkshop/en-US/Preface.xml | 12
Workshops/PuppetWorkshop/en-US/PuppetWorkshop.ent | 4
Workshops/PuppetWorkshop/en-US/Puppet_Workshop.xml | 1076 ++
Workshops/PuppetWorkshop/en-US/Revision_History.xml | 26
Workshops/PuppetWorkshop/en-US/images/icon.svg | 3936 ++++++++++
en-US/Book_Info.xml | 2
en-US/Books/ClassRoom/Manual-Book_Info.xml | 2
en-US/Books/Linux/Advanced/Course-Book_Info.xml | 2
en-US/Books/Linux/Advanced/Manual-Book_Info.xml | 2
en-US/Books/Linux/Basic/Course-Book_Info.xml | 2
en-US/Books/Linux/Basic/Manual-Book_Info.xml | 2
en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml | 2
en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml | 2
en-US/Books/Linux/RHCETraining/Course-Book_Info.xml | 2
en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml | 2
en-US/Books/Linux/Senior/Course-Appendix.xml | 1
en-US/Books/Linux/Senior/Course-Book_Info.xml | 2
en-US/Books/Linux/Senior/Manual-Book_Info.xml | 2
en-US/Books/PuppetWorkshop/Author_Group.xml | 24
en-US/Books/PuppetWorkshop/Course-Appendix.xml | 176
en-US/Books/PuppetWorkshop/Course-Book_Info.xml | 27
en-US/Books/PuppetWorkshop/Course-Preface.xml | 12
en-US/Books/PuppetWorkshop/Course.xml | 1071 --
en-US/Books/PuppetWorkshop/Revision_History.xml | 26
en-US/Books/Template/Course-Book_Info.xml | 2
en-US/Books/Template/Manual-Book_Info.xml | 2
en-US/Courses.xml | 57
en-US/Template/Course-Book_Info.xml | 2
en-US/Template/Manual-Book_Info.xml | 2
48 files changed, 9586 insertions(+), 1395 deletions(-)
New commits:
commit 883a89c5e744bd96bd379ab3ed89b42c5b406669
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Thu Oct 9 14:36:38 2008 +0200
Major Updates
diff --git a/Workshops/DeployingLinux/Author_Group.xml
b/Workshops/DeployingLinux/Author_Group.xml
new file mode 100644
index 0000000..c9ba622
--- /dev/null
+++ b/Workshops/DeployingLinux/Author_Group.xml
@@ -0,0 +1,24 @@
+<?xml version='1.0'?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<authorgroup>
+ <author>
+ <firstname>Jeroen</firstname>
+ <surname>van Meeuwen</surname>
+ <affiliation>
+ <orgname>Operator Groep Delft</orgname>
+ <orgdiv>Sr. System Engineer</orgdiv>
+ </affiliation>
+ <email>j.van.meeuwen(a)ogd.nl</email>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Hartsuiker</surname>
+ <affiliation>
+ <orgname>Operator Groep Delft</orgname>
+ <orgdiv>System Engineer</orgdiv>
+ </affiliation>
+ <email>s.hartsuiker(a)ogd.nl</email>
+ </author>
+</authorgroup>
diff --git a/Workshops/DeployingLinux/Book_Info.xml
b/Workshops/DeployingLinux/Book_Info.xml
new file mode 100644
index 0000000..2c5296f
--- /dev/null
+++ b/Workshops/DeployingLinux/Book_Info.xml
@@ -0,0 +1,29 @@
+<?xml version='1.0'?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<bookinfo id="PuppetWorkshop-Product_Name_and_Version">
+ <title>Puppet Workshop</title>
+ <subtitle>Puppet Workshop</subtitle>
+ <issuenum>0.1</issuenum>
+ <productnumber>1</productnumber>
+ <edition>1</edition>
+ <pubsnumber>1</pubsnumber>
+ <abstract><para>This is a Configuration Management workshop (based on
Puppet)</para></abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <copyright>
+ <year>&YEAR;</year>
+ <holder>&HOLDER;</holder>
+ </copyright>
+ <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+</bookinfo>
+
+
+
diff --git a/Workshops/DeployingLinux/Common_Content/Feedback.xml
b/Workshops/DeployingLinux/Common_Content/Feedback.xml
new file mode 100644
index 0000000..34b6b81
--- /dev/null
+++ b/Workshops/DeployingLinux/Common_Content/Feedback.xml
@@ -0,0 +1,45 @@
+<?xml version='1.0'?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<section>
+ <title>We Need Feedback!</title>
+ <indexterm>
+ <primary>feedback</primary>
+ <secondary>contact information for this manual</secondary>
+ </indexterm>
+ <para>
+ We would love to see your feedback!
+ </para>
+ <para>
+ Our mailing lists are as follows:
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title><ulink
url="http://lists.fedorahosted.org/mailman/listinfo/courses-users/&q...
/></title>
+ <para>
+ Our "users" mailing list where anyone can comment on
the course materials offered, provide other means of feedback and ask questions when
things appear to not be as clear as they intend to be.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><ulink
url="http://lists.fedorahosted.org/mailman/listinfo/courses-devel/&q...
/></title>
+ <para>
+ Our development mailing list for anyone seeking to get involved
in the project.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><ulink
url="http://lists.fedorahosted.org/mailman/listinfo/courses-commits/...
/></title>
+ <para>
+ This mailing list is used to send any changes made to any of the
documents to anyone subscribed.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+</section>
+
+
diff --git a/Workshops/DeployingLinux/Makefile b/Workshops/DeployingLinux/Makefile
new file mode 100644
index 0000000..4b0291f
--- /dev/null
+++ b/Workshops/DeployingLinux/Makefile
@@ -0,0 +1,15 @@
+#Makefile for DeployingLinux
+
+XML_LANG = en-US
+DOCNAME = DeployingLinux
+PRODUCT = Fedora
+BRAND = fedora
+
+#OTHER_LANGS = as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN
mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
+
+# Extra Parameters start here
+
+# Extra Parameters stop here
+COMMON_CONFIG = /usr/share/publican
+include $(COMMON_CONFIG)/make/Makefile.common
+
diff --git a/Workshops/DeployingLinux/Preface.xml b/Workshops/DeployingLinux/Preface.xml
new file mode 100644
index 0000000..d8e4a06
--- /dev/null
+++ b/Workshops/DeployingLinux/Preface.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0'?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<preface id="PuppetWorkshop-Preface">
+ <title>Preface</title>
+ <para>
+ paragraph
+ </para>
+ <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+</preface>
diff --git a/Workshops/DeployingLinux/en-US/Author_Group.xml
b/Workshops/DeployingLinux/en-US/Author_Group.xml
new file mode 100644
index 0000000..474378e
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/Author_Group.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0'?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<authorgroup>
+
+ <author>
+ <firstname>Dude</firstname>
+ <surname>McDude</surname>
+ <affiliation>
+ <orgname>My Org</orgname>
+ <orgdiv>Best Div in the place</orgdiv>
+ </affiliation>
+ <email>dude.mcdude(a)myorg.org</email>
+ </author>
+</authorgroup>
diff --git a/Workshops/DeployingLinux/en-US/Book_Info.xml
b/Workshops/DeployingLinux/en-US/Book_Info.xml
new file mode 100644
index 0000000..ca3249d
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/Book_Info.xml
@@ -0,0 +1,32 @@
+<?xml version='1.0'?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<bookinfo id="DeployingLinux-Documentation">
+ <title>DeployingLinux</title>
+ <subtitle>short descriptor</subtitle>
+ <productname>Documentation</productname>
+ <productnumber>1</productnumber>
+ <edition>1</edition>
+ <pubsnumber>0</pubsnumber>
+ <abstract>
+ <para>A short overview and summary of the book's subject and purpose,
traditionally no more than one paragraph long. Note: the abstract will appear in the front
matter of your book and will also be placed in the #description field of the book's
RPM spec file.</para>
+ </abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ </imageobject>
+ <textobject><phrase>Logo</phrase></textobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <copyright>
+ <year>&YEAR;</year>
+ <holder>&HOLDER;</holder>
+ </copyright>
+ <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+</bookinfo>
+
+
+
diff --git a/Workshops/DeployingLinux/en-US/Chapter.xml
b/Workshops/DeployingLinux/en-US/Chapter.xml
new file mode 100644
index 0000000..319438a
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/Chapter.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<chapter id="DeployingLinux-Test">
+ <title>Test</title>
+ <para>
+ This is a test paragraph
+ </para>
+ <section id="DeployingLinux-Test-Section_1_Test">
+ <title>Section 1 Test</title>
+ <para>
+ Test of a section
+ </para>
+ </section>
+
+ <section id="DeployingLinux-Test-Section_2_Test">
+ <title>Section 2 Test</title>
+ <para>
+ Test of a section
+ </para>
+ </section>
+
+</chapter>
+
diff --git a/Workshops/DeployingLinux/en-US/DeployingLinux.ent
b/Workshops/DeployingLinux/en-US/DeployingLinux.ent
new file mode 100644
index 0000000..eb212ee
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/DeployingLinux.ent
@@ -0,0 +1,2 @@
+<!ENTITY PRODUCT "Documentation">
+<!ENTITY BOOKID "DeployingLinux">
diff --git a/Workshops/DeployingLinux/en-US/DeployingLinux.xml
b/Workshops/DeployingLinux/en-US/DeployingLinux.xml
new file mode 100644
index 0000000..045bbf9
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/DeployingLinux.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<book>
+ <xi:include href="Book_Info.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Preface.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Chapter.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Revision_History.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <index />
+</book>
+
diff --git a/Workshops/DeployingLinux/en-US/Preface.xml
b/Workshops/DeployingLinux/en-US/Preface.xml
new file mode 100644
index 0000000..0ab7049
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/Preface.xml
@@ -0,0 +1,13 @@
+<?xml version='1.0'?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<preface id="DeployingLinux-Preface">
+ <title>Preface</title>
+ <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude">
+ <xi:fallback
xmlns:xi="http://www.w3.org/2001/XInclude">
+ <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </xi:fallback>
+ </xi:include>
+</preface>
diff --git a/Workshops/DeployingLinux/en-US/Revision_History.xml
b/Workshops/DeployingLinux/en-US/Revision_History.xml
new file mode 100644
index 0000000..68432a0
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/Revision_History.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<appendix id="appe-Publican-Revision_History">
+ <title>Revision History</title>
+ <simpara>
+ <revhistory>
+ <revision>
+ <revnumber>1.0</revnumber>
+ <date></date>
+ <author>
+ <firstname></firstname>
+ <surname></surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member></member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </simpara>
+</appendix>
+
diff --git a/Workshops/DeployingLinux/en-US/images/icon.svg
b/Workshops/DeployingLinux/en-US/images/icon.svg
new file mode 100644
index 0000000..c471a60
--- /dev/null
+++ b/Workshops/DeployingLinux/en-US/images/icon.svg
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://web.resource.org/cc/"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+
style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)"
/>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)"
/>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504
381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C
372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504
390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504
424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C
415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504
433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504
500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C
491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504
509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504
464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C
455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504
473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93
471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49
473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49
475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05
471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04
469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+
transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875
L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C
31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L
32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375
C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+
style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L
287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091
301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C
307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432
309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C
581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C
574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363
314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124
292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363
293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
diff --git a/Workshops/PuppetWorkshop/Makefile b/Workshops/PuppetWorkshop/Makefile
new file mode 100644
index 0000000..ef2009f
--- /dev/null
+++ b/Workshops/PuppetWorkshop/Makefile
@@ -0,0 +1,15 @@
+#Makefile for PuppetWorkshop
+
+XML_LANG = en-US
+DOCNAME = PuppetWorkshop
+PRODUCT = Fedora
+BRAND = fedora
+
+#OTHER_LANGS = as-IN bn-IN de-DE es-ES fr-FR gu-IN hi-IN it-IT ja-JP kn-IN ko-KR ml-IN
mr-IN or-IN pa-IN pt-BR ru-RU si-LK ta-IN te-IN zh-CN zh-TW
+
+# Extra Parameters start here
+
+# Extra Parameters stop here
+COMMON_CONFIG = /usr/share/publican
+include $(COMMON_CONFIG)/make/Makefile.common
+
diff --git a/Workshops/PuppetWorkshop/en-US/Appendix.xml
b/Workshops/PuppetWorkshop/en-US/Appendix.xml
new file mode 100644
index 0000000..37b3e31
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Appendix.xml
@@ -0,0 +1,176 @@
+<?xml version='1.0'?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<part id="PuppetWorkshop-Appendices">
+ <title>Appendices</title>
+ <appendix id="PuppetWorkshop-Appendix-Terminology">
+ <title>Puppet Terminology</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title>class</title>
+ <para>
+ A class is a collection of resources applied to a node with a
single include statement. It groups together a comprehensible set of resources. A class
<emphasis>ypclient</emphasis> would manage the
<code>File["/etc/nsswitch.conf"]</code>,
<code>File["/etc/yp.conf"]</code>,
<code>Package["ypbind"]</code>, and
<code>Service["ypbind"]</code> resources.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>fact</title>
+ <para>
+ A client-side generated aspect of the node the puppet client
runs on. Example facts are the amount of available memory, the hostname, the fully
qualified domain name, the operating system (version).
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>manifest</title>
+ <para>
+ The collection of classes, modules and resources that the
<xref linkend="PuppetWorkshop-Appendix-Terminology-puppetmaster" /> uses
to distribute the appropriate configuration to a <xref
linkend="PuppetWorkshop-Appendix-Terminology-puppet" />.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>module</title>
+ <para>
+ module
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>node</title>
+ <para>
+ The client, a node, is an operating system instance running
the puppet client application. This can be a regular operating system running directly on
top of actual hardware, a virtual guest as well as a virtual host.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara
id="PuppetWorkshop-Appendix-Terminology-puppet">
+ <title>puppet</title>
+ <para>
+ The client, a node, runs the
<application>puppetd</application> daemon or service, and is referred to as
the <emphasis>puppet</emphasis>
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara
id="PuppetWorkshop-Appendix-Terminology-puppetmaster">
+ <title>puppetmaster</title>
+ <para>
+ The puppetmaster is the node that runs the server-side
application to a puppet setup.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>resource</title>
+ <para>
+ A resource is an instantiated <xref
linkend="PuppetWorkshop-Appendix-Terminology-type" />
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>system resource</title>
+ <para>
+<!-- A system resource is a resource available on the node
whether it is managed by puppet or not. Unlike in other cases, this term does not as much
to system hardware resources such as the CPU or memory available to the operating system,
because that.
+//-->
+ A system resource is a resource available on the node
whether it is managed by puppet or not. Unlike what is otherwise understood by system
resources, the puppet definition of system resources does not so much refer to resources
like CPU or memory, but rather to whether or not a package is installed or what version of
said package, or the $osversion, and so on and so forth.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara
id="PuppetWorkshop-Appendix-Terminology-type">
+ <title>type</title>
+ <para>
+ definition
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </appendix>
+ <appendix
id="PuppetWorkshop-Appendix-ExampleSSLFrontendReverseProxyLoadBalancerConfiguration">
+ <title>Example SSL Frontend Reverse Proxy Load Balancer
Configuration</title>
+ <para>
+<screen>
+<ifModule !mod_proxy.c>
+ LoadModule proxy_module modules/mod_proxy.so
+</IfModule>
+
+<IfModule !mod_proxy_http.c>
+ LoadModule proxy_http_module modules/mod_proxy_http.so
+</IfModule>
+
+<IfModule !mod_proxy_balancer.c>
+ LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
+</IfModule>
+
+<IfModule !mod_headers.c>
+ LoadModule headers_module modules/mod_headers.so
+</IfModule>
+
+<IfModule !mod_ssl.c>
+ LoadModule ssl_module modules/mod_ssl.so
+</IfModule>
+
+<IfModule !mod_authz_host.c>
+ LoadModule authz_host_module modules/mod_authz_host.so
+</IfModule>
+
+<IfModule !mod_log_config.c>
+ LoadModule log_config_module modules/mod_log_config.so
+</IfModule>
+
+<Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ Order deny,allow
+ Deny from all
+</Directory>
+
+<Proxy balancer://master.puppetmanaged.org>
+ BalancerMember
http://127.0.0.1:8141 keepalive=on retry=30
+</Proxy>
+
+<VirtualHost *:8140>
+ ServerName
master.puppetmanaged.org
+ SSLEngine on
+ SSLCipherSuite SSLv2:-LOW:-EXPORT:RC4+RSA
+ SSLCertificateFile /var/lib/puppet/ssl/certs/master.puppetmanaged.org.pem
+ SSLCertificateKeyFile
/var/lib/puppet/ssl/private_keys/master.puppetmanaged.org.pem
+ SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
+ SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem
+ SSLVerifyClient optional
+ SSLVerifyDepth 1
+ SSLOptions +StdEnvVars
+
+ # The following client headers allow the same configuration to work with Pound.
+ RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
+ RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
+ RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
+
+ <Location />
+ SetHandler balancer-manager
+ Order allow,deny
+ Allow from all
+ </Location>
+
+ ProxyPass / balancer://master.puppetmanaged.org:8140/ timeout=180
+ ProxyPassReverse / balancer://master.puppetmanaged.org:8140/
+ ProxyPreserveHost on
+ SetEnv force-proxy-request-1.0 1
+ SetEnv proxy-nokeepalive 1
+
+ ErrorLog logs/master.puppetmanaged.org-balancer-error_log
+ CustomLog logs/master.puppetmanaged.org-balancer-access_log combined
+ CustomLog logs/master.puppetmanaged.org-balancer-ssl_request_log "%t %h
%{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+</VirtualHost>
+</screen>
+ </para>
+ </appendix>
+ <xi:include href="Revision_History.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+</part>
diff --git a/Workshops/PuppetWorkshop/en-US/Author_Group.xml
b/Workshops/PuppetWorkshop/en-US/Author_Group.xml
new file mode 100644
index 0000000..c9ba622
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Author_Group.xml
@@ -0,0 +1,24 @@
+<?xml version='1.0'?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<authorgroup>
+ <author>
+ <firstname>Jeroen</firstname>
+ <surname>van Meeuwen</surname>
+ <affiliation>
+ <orgname>Operator Groep Delft</orgname>
+ <orgdiv>Sr. System Engineer</orgdiv>
+ </affiliation>
+ <email>j.van.meeuwen(a)ogd.nl</email>
+ </author>
+ <author>
+ <firstname>Stefan</firstname>
+ <surname>Hartsuiker</surname>
+ <affiliation>
+ <orgname>Operator Groep Delft</orgname>
+ <orgdiv>System Engineer</orgdiv>
+ </affiliation>
+ <email>s.hartsuiker(a)ogd.nl</email>
+ </author>
+</authorgroup>
diff --git a/Workshops/PuppetWorkshop/en-US/Book_Info.xml
b/Workshops/PuppetWorkshop/en-US/Book_Info.xml
new file mode 100644
index 0000000..2c5296f
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Book_Info.xml
@@ -0,0 +1,29 @@
+<?xml version='1.0'?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<bookinfo id="PuppetWorkshop-Product_Name_and_Version">
+ <title>Puppet Workshop</title>
+ <subtitle>Puppet Workshop</subtitle>
+ <issuenum>0.1</issuenum>
+ <productnumber>1</productnumber>
+ <edition>1</edition>
+ <pubsnumber>1</pubsnumber>
+ <abstract><para>This is a Configuration Management workshop (based on
Puppet)</para></abstract>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+ <copyright>
+ <year>&YEAR;</year>
+ <holder>&HOLDER;</holder>
+ </copyright>
+ <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+</bookinfo>
+
+
+
diff --git a/Workshops/PuppetWorkshop/en-US/Chapter.xml
b/Workshops/PuppetWorkshop/en-US/Chapter.xml
new file mode 100644
index 0000000..e32f15e
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Chapter.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<chapter id="PuppetWorkshop-Test">
+ <title>Test</title>
+ <para>
+ This is a test paragraph
+ </para>
+ <section id="PuppetWorkshop-Test-Section_1_Test">
+ <title>Section 1 Test</title>
+ <para>
+ Test of a section
+ </para>
+ </section>
+
+ <section id="PuppetWorkshop-Test-Section_2_Test">
+ <title>Section 2 Test</title>
+ <para>
+ Test of a section
+ </para>
+ </section>
+
+</chapter>
+
diff --git a/Workshops/PuppetWorkshop/en-US/Common_Content/Feedback.xml
b/Workshops/PuppetWorkshop/en-US/Common_Content/Feedback.xml
new file mode 100644
index 0000000..34b6b81
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Common_Content/Feedback.xml
@@ -0,0 +1,45 @@
+<?xml version='1.0'?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<section>
+ <title>We Need Feedback!</title>
+ <indexterm>
+ <primary>feedback</primary>
+ <secondary>contact information for this manual</secondary>
+ </indexterm>
+ <para>
+ We would love to see your feedback!
+ </para>
+ <para>
+ Our mailing lists are as follows:
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title><ulink
url="http://lists.fedorahosted.org/mailman/listinfo/courses-users/&q...
/></title>
+ <para>
+ Our "users" mailing list where anyone can comment on
the course materials offered, provide other means of feedback and ask questions when
things appear to not be as clear as they intend to be.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><ulink
url="http://lists.fedorahosted.org/mailman/listinfo/courses-devel/&q...
/></title>
+ <para>
+ Our development mailing list for anyone seeking to get involved
in the project.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title><ulink
url="http://lists.fedorahosted.org/mailman/listinfo/courses-commits/...
/></title>
+ <para>
+ This mailing list is used to send any changes made to any of the
documents to anyone subscribed.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+</section>
+
+
diff --git a/Workshops/PuppetWorkshop/en-US/Preface.xml
b/Workshops/PuppetWorkshop/en-US/Preface.xml
new file mode 100644
index 0000000..d8e4a06
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Preface.xml
@@ -0,0 +1,12 @@
+<?xml version='1.0'?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<preface id="PuppetWorkshop-Preface">
+ <title>Preface</title>
+ <para>
+ paragraph
+ </para>
+ <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+</preface>
diff --git a/Workshops/PuppetWorkshop/en-US/PuppetWorkshop.ent
b/Workshops/PuppetWorkshop/en-US/PuppetWorkshop.ent
new file mode 100644
index 0000000..fc041ac
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/PuppetWorkshop.ent
@@ -0,0 +1,4 @@
+<!ENTITY PRODUCT "Documentation">
+<!ENTITY BOOKID "PuppetWorkshop">
+<!ENTITY HOLDER "Jeroen van Meeuwen">
+<!ENTITY YEAR "2008">
diff --git a/Workshops/PuppetWorkshop/en-US/Puppet_Workshop.xml
b/Workshops/PuppetWorkshop/en-US/Puppet_Workshop.xml
new file mode 100644
index 0000000..ec54e83
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Puppet_Workshop.xml
@@ -0,0 +1,1076 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.docbook.org/xml/4.4/docbookx.dtd">
+
+<book id="PuppetWorkshop">
+
+ <xi:include href="Book_Info.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Preface.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <part id="PuppetWorkshop-Part">
+ <title>Puppet Workshop</title>
+ <chapter id="PuppetWorkshop-Introduction">
+ <title>Introduction</title>
+ <para>
+ Welcome to the Puppet Workshop (or Configuration Management workshop).
Today's workshop is comprised of the following topics:
+ </para>
+ <para>
+ <segmentedlist>
+ <segtitle>Topic</segtitle>
+ <seglistitem>
+ <seg>Introduction to Configuration Management</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Introduction to Puppet</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Puppet Terminology</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>How Puppet Works</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Puppet Features</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Troubleshooting Puppet</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Setting up Puppet</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>How to use Puppet</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Other Things To Do With Puppet</seg>
+ </seglistitem>
+ <seglistitem>
+ <seg>Best Practices</seg>
+ </seglistitem>
+ </segmentedlist>
+ </para>
+ </chapter>
+
+ <chapter
id="PuppetWorkshop-IntroductionToConfigurationManagement">
+ <title>Introduction to Configuration Management</title>
+
+ <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-WhatIsConfigurationManagement">
+ <title>What is Configuration Management?</title>
+ <para>
+ Within virtually every organization, there's probably a number of
systems running Linux, Solaris, Mac OS X or HP-UX. All these machines need to be
configured to be able to function properly. Some will need special drivers, and all of
them will need correct DNS settings, certain packages installed and certain other packages
removed. Most probably, the more systems, the more these diverge in the configuration they
need, and potentially diverge in the way this configuration needs to be applied to a given
operating system or operating system version.
+ </para>
+ <para>
+ More specifically, an organization may have a couple of webservers,
fileservers, a DNS and a DHCP server, a number of desktop PCs, and a number of laptops.
The laptops may need slightly different system configuration (no LDAP authentication, and
with a VPN client installed, for example), and the desktop PCs may need different
applications installed then the servers, and so forth. Yet, between, say, a hundred
desktop PCs, you would want the configuration to be as similar as possible. You may want
to diverge between a software developer's desktop PC and a desktop PC in Human
Resources, but in essence these are desktop profiles diverging on the application level,
applied upon a stable system configuration which remains the same, or similar at least.
+ </para>
+ <para>
+ By the time the organization grows, replaces the hardware, upgrades
to another version of the operating system, or applies changes, the challenge to making
everything work yet maintain a similar configuration between all nodes becomes bigger.
While every attempt made to control the situation can be called a form of configuration
management, the solution without a configuration management framework is often comprised
of:
+ </para>
+ <para>
+ <orderedlist>
+ <listitem>
+ <para>
+ a number of scripts (with or without revision control),
to move around files, install packages, perform daily check-ups,
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ NFS mounts with programs pre-installed, so that nodes can
mount these NFS shares and the software needs to be provided once, in one location, for
all to share,
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ file server shares with pre-compiled drivers, or driver
sources being compiled on the nodes by scripts running on the nodes,
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ terminal servers or desktop servers like with FreeNX, so
that configuration concentrates on a smaller number of boxes
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ <para>
+ This means that work-arounds for actual (user) problems maybe require
an additional if-then-else in one or the other script, and updates to programs installed
require manual compilation and installation. The success rate of these solutions never
reaches 100%, and as it turns out the longer such a implemented solution runs, the more
exotic problems become and the more machines will fail to remain up-to-date regardless of
any attempt made to fix the issue; simply because it becomes to diversive and
unmaintainable.
+ </para>
+
+ <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-WhatIsConfigurationManagement-ConfigurationManagement">
+ <title>Configuration Management</title>
+ <para>
+ Generally speaking, with configuration management, it's about
managing the configuration of one or more organizational resources in order to have it be
in a state in which it can perform the operations required by, and possibly critical to,
the organization's operations.
+ </para>
+ <para>
+ In this workshop though, we are not going to explore
configuration management of a coffee machine. Instead we look at the computers in a
network running any platform but the one from a prominent proprietary North America-based
vendor. We are talking automation and further enhancement of Computer Systems
Administration.
+ </para>
+ <para>
+ When managing the operating system and software running on
mainframes, servers, desktop PCs and laptops, you may find yourself looking for answers to
questions such as:
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ How do I manage what packages are installed on a
given system?
+ <itemizedlist>
+ <listitem>
+ <para>
+ How do I manage the configuration of
those packages (this software)?
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ How do I make sure these packages are
updated?
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ How do I make sure the services that every machine
needs to run are actually running?
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ How do I manage monitoring the services or a
machine's state?
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A job needs to run periodically (maybe via
<application>crontab</application>), but how do I make sure it is run, and how
can I change or remove the job later?
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Given different operating systems and operating
system versions, how do I make sure I apply the correct routine for adding a user,
starting a service, install/update/remove a package?
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-WhatIsConfigurationManagement-ConfigurationManagementRequirements">
+ <title>Configuration Management Requirements</title>
+ <para>
+ This section is about what you would want Configuration
Management to do for you:
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title>Maintain consistency across
systems</title>
+ <para>
+ Consistency across systems is key in
understanding where a problem might come from. If each and every system is unique, you may
end up searching for unique aspects of the system's configuration in order to
determine the cause of a problem, while if systems are consistent to some extend, you may
have found the problem even before your users report it.
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>Consistency !== Equality</title>
+ <para>
+ Of course keeping system consistent in their
configuration doesn't say all your systems should be entirely equal, because that
would not be feasible for many organizations and defeat the purpose of configuration
management. Needless to say though, having all systems be entirely unique defeats part of
the purpose of configuration management as well.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Categorize systems</title>
+ <para>
+ Categorizing systems into categories like (for
example) <emphasis>desktop</emphasis>, <emphasis>server</emphasis>
and/or <emphasis>laptop</emphasis>, helps in applying changes to one category,
such as installing <application>GNOME</application> or keeping systems
up-to-date according to a schedule that may (servers) or may not (desktops, laptops) need
a service or maintenance window.
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>Different profiles</title>
+ <para>
+ More generally speaking, different profiles for
each of these categories may be defined as well, of course. A developer's desktop most
likely has different requirements then a publicly accessible booth at the reception desk.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Version Control</title>
+ <para>
+ Version control lets you keep track of changes
applied to the overall configuration management framework, which is important because
since you are managing different aspects of a number of systems, if something goes wrong
the changes applied to the configuration of puppet will most likely be the first clue as
to what caused the new problem and lets you recover relatively fast.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Overview of systems' tasks and
services</title>
+ <para>
+ Being able to quickly tell what a system does
exactly, and how it differs from another system not only aids in performing risk
assessments (impact of a given change), but may also help in determining the impact of a
change beforehand, as well as determine the impact of an unexpected system interruption.
Providing an example to the latter I suppose if you update httpd across systems (whether
tested or untested), but the new software version doesn't work as expected, a
configuration management framework should be able to quickly give you an overview of
impacted systems and services.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Updating systems</title>
+ <para>
+ Some systems can be updated irregularly, such as
desktop PCs, but need to be kept up-to-date nonetheless. Other systems need to have
service and/or maintenance windows, such as servers.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ </section>
+
+ <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-ProblemsWithoutConfigurationManagement">
+ <title>Problems without Configuration Management</title>
+ <para>
+ There's a number of challenges in applying configuration
management, such as:
+ </para>
+ <para>
+ <orderedlist>
+ <listitem>
+ <formalpara>
+ <title>Different operating systems</title>
+ <para>
+ If you have a diverse organization in terms of the
operating systems your nodes run, applying the same thing to a set of different operating
systems is challenging in that adding a user or setting a password on one operating system
isn't the same as adding a user or setting a password on another operating system. Of
course the same applies to installing, updating or removing a package, and so forth. Of
course the more different operating systems you have, the harder managing any given
resource becomes.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Different distributions</title>
+ <para>
+ Although an organization may not have different
distributions running right now, sooner or later, an organization will migrate from one
distribution to another; That is practically inevitable. If an organization does have
different distributions running, practical problems such as the location of certain files
become evident, as well as different interfaces to resource-management (like adding a user
with <application>useradd</application> or
<application>adduser</application>).
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Different versions of
distributions</title>
+ <para>
+ Different versions of distributions, or more
accurately the different versions of the utilities, as well as the configuration settings
for updated programs that come with the distributions, can form a challenge when or if the
organization does not have a proper configuration management framework in place. Note that
even though an organization may not have different versions of a distribution right now,
at some point the organization will need to upgrade to the next available release.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Different tasks to perform</title>
+ <para>
+ Each different system in an organization is
performing one or more tasks that may be unique to the system or may be shared between a
group of systems, but with many different tasks being performed throughout the
organization's infrastructure, keeping track of what system performs which task,
keeping these systems up to date and configuring them to have the required packages
installed for each of the tasks they perform, tackling the problem becomes harder.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Different ways to perform a
task</title>
+ <para>
+ Within an organization that has multiple servers
performing the same task, keeping a similar state or perform a task in a similar manner is
challenging in that without configuration management, you are most likely to find three or
more ways to purge old files from <filename>/tmp/</filename> and
<filename>/var/tmp/</filename>, for example. The same differentiation may
apply to how webservers' VirtualHost's are configured, or how a NFS share is
mounted (mount options in particular).
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Different nodes</title>
+ <para>
+ This one goes to hardware-specific needs and
configuration. When each of the systems in an organization are not all of the same brand,
make and model, or each system has different harddisk layouts, or needs different
videocard drivers, you are basically keeping lists and making choices based on this list.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Different services</title>
+ <para>
+ Different services of course are configured
differently, as far as configuration file locations and syntax are concerned. However,
figuring out the best way to apply certain configuration to a system for each service is
less efficient without configuration management. You might adjust a script or two and/or
adjust the source repository from which you pull updates to each machine, but the changes
may turn out to only apply to that system that needed the exception to the rule instead of
focussing on a more general solution to the problem once, and apply that solution multiple
times, over and over again.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Interfaces to a system
resource</title>
+ <para>
+ This is probably the hardest one if you are not using
any configuration management framework. Given different operating systems, distributions
and/or distribution versions, in which case any combination of the three only makes the
problem harder to solve, you are most likely to encounter so many different ways to manage
a resource, that a simple script or routine cannot cover all of them. One example is
adding a user to the system, and making the user a group member of several groups. You may
find routines ranging from using <application>useradd</application> or
<application>adduser</application> depending on the distribution used, to
writing out ldifs from a template and using <application>ldapadd</application>
or <application>ldapmodify</application> depending on whether the user already
exists or not.
+ </para>
+ </formalpara>
+ </listitem>
+ </orderedlist>
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-NotSoTechnicalAspects">
+ <title>Not So Technical Aspects</title>
+ <para>
+ In addition to the problems you may encounter with or without
configuration management, there's a number of problems or challenges that are not so
technical, but you may want to see resolved by a configuration management utility;
+ </para>
+ <para>
+ <orderedlist>
+ <listitem>
+ <formalpara>
+ <title>Applying changes</title>
+ <para>
+ Applying changes to multiple machines at once may
become a problem depending on the size of the organization or the amount of control that
you have over systems, remotely. There was a time when changing the DNS servers for a set
of systems required one to log on to the console of each system and edit
<filename>/etc/resolv.conf</filename> manually. You can see the problem become
bigger if the organization does not have 20 systems, but 1200.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Keeping track of changes</title>
+ <para>
+ Another challenge is keeping track of the changes
applied to each system. Even with configuration management, errors can be made and systems
might behave unexpectedly, in which case you will want to know what changed on these
systems, and how to recover to an operational state. Keeping track of changes without a
configuration management framework however is a little harder, but with configuration
management, you have reports (changes applied to a system in a nice overview), and most
advisebly you have the configuration for Puppet stored in a Source Control Management
system, or SCM system, like CVS, SVN, Mercurial, or GIT.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Staging changes</title>
+ <para>
+ Staging changes is a huge must-have in case changes
are radical or might destroy a normal system's operation (even if temporary). For such
changes, you would want to test the changes first, and with Puppet, you get this in the
form of <emphasis>environments</emphasis>.
+ </para>
+ </formalpara>
+ </listitem>
+ </orderedlist>
+ </para>
+ </section>
+
+ </chapter>
+
+ <chapter id="PuppetWorkshop-IntroductionToPuppet">
+ <title>Introduction To Puppet</title>
+ <para>
+ Puppet is a solution to the problems set forth in <xref
linkend="PuppetWorkshop-IntroductionToConfigurationManagement-ProblemsWithoutConfigurationManagement"
/>.
+ </para>
+
+ <section
id="PuppetWorkshop-IntroductionToPuppet-WhatDoesPuppetDo">
+ <title>What Does Puppet Do?</title>
+ <para>
+ Puppet offers a high-level abstraction of system resources like you
would encounter on any given system, such as users, services and packages. Seeing as how
different operating systems and different distributions each have different interfaces,
so-called <emphasis>providers</emphasis> in puppet terms, to these system
resources, scripting a package to be installed, updated, removed or be of a certain
version includes a lot of <code>if-then-else</code> statements in a script
you'd write to manage that particular system resource, the package.
+ </para>
+ <para>
+ On Debian, Ubuntu and derivative distributions for example, the
package provider may be <application>apt</application>,
<application>dpkg</application>, <application>smart</application>,
<application>alien</application>,
<application>PackageKit</application>, while on Fedora, Red Hat and it's
derivatives, the package provider may be <application>rpm</application>,
<application>yum</application>,
<application>PackageKit</application>,
<application>apt</application> or
<application>smart</application>.
+ </para>
+ <para>
+ Another difference between distributions is how services can be
started, or configured to start up when the machine boots. A
<application>service</application> script may be available, or
<filename>/etc/init.d/</filename> may contain scripts to start and stop a
service. Also, some of these service providers may have <code>status</code>,
<code>reload</code> and <code>restart</code> command parameters,
whereas others may not have. Additionally, using
<application>chkconfig</application> to configure the runlevels the service
should be enabled or disabled in may not be available on all systems.
+ </para>
+ <para>
+ By abstracting these system resources into
<emphasis>types</emphasis>, Puppet takes on the headaches for most operating
system and distribution specific interfaces to managing these system resources. It knows,
or figures out all by itself, what provider to use given a
<emphasis>type</emphasis>.
+ </para>
+ <formalpara>
+ <title>Abstraction of system resources</title>
+ <para>
+ Abstraction of the system resources into so-called
<emphasis>types</emphasis> causes the administrator to only need to configure
a type, such as <emphasis>package</emphasis>,
<emphasis>user</emphasis>, <emphasis>cron</emphasis>, and so
forth. The configuration management utility itself will figure out what package manager
backend to use, whether it's apt, yum, rpm, dpkg, smart or PackageKit.
+ </para>
+ </formalpara>
+ <para>
+ Puppet example to ensure user
<emphasis>sysadmin</emphasis> exists on a system:
+ <screen>user { "sysadmin":
+ ensure => present
+}</screen>
+ </para>
+ <para>
+ Puppet example to ensure the <emphasis>ypbind</emphasis>
package is installed and the most recent version, <emphasis>ypbind</emphasis>
is correctly configured, and the <emphasis>ypbind</emphasis> service is
running:
+ <screen>package { "ypbind":
+ ensure => latest
+}
+
+file { "/etc/yp.conf":
+ source => "puppet://$server/files/yp.conf",
+ notify => Service["ypbind"],
+ require => Package["ypbind"]
+}
+
+service { "ypbind":
+ enable => true,
+ ensure => running,
+ require => [
+ File["/etc/yp.conf"],
+ Package["ypbind"]
+ ]
+}</screen>
+ </para>
+ <para>
+ The above example is called a
<emphasis>manifest</emphasis>, built out of
<emphasis>types</emphasis> (package, file, service), which, once defined in a
manifest, are referred to as <emphasis>resources</emphasis>. See also <xref
linkend="PuppetWorkshop-Appendix-Terminology" />
+ </para>
+ </section>
+
+ </chapter>
+
+ <chapter id="PuppetWorkshop-PuppetTerminology">
+ <title>Puppet Terminology</title>
+ <para>
+ Terminology used in this documentation. See also <xref
linkend="PuppetWorkshop-Appendix-Terminology" />
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title>class</title>
+ <para>
+ A class is a collection of resources applied to a node
with a single include statement. It groups together a comprehensible set of resources. A
class <emphasis>ypclient</emphasis> would manage the
<code>File["/etc/nsswitch.conf"]</code>,
<code>File["/etc/yp.conf"]</code>,
<code>Package["ypbind"]</code>, and
<code>Service["ypbind"]</code> resources.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>fileserver</title>
+ <para>
+ The fileserver is where the puppet pulls files from. It
is normally integrated with the puppetmaster, but it can be an entirely different server,
too.
+ </para>
+ </formalpara>
+ <para>
+ The fileserver serves files to puppets that request them, but
it also serves <emphasis>templates</emphasis>, which are parsed on the
fileserver (puppetmaster), and passed on to the client as a whole new file.
+ </para>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>manifest</title>
+ <para>
+ The collection of classes, modules and resources that the
<xref linkend="PuppetWorkshop-PuppetTerminology-puppetmaster" /> uses to
distribute the appropriate configuration to a <xref
linkend="PuppetWorkshop-PuppetTerminology-puppet" />.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>module</title>
+ <para>
+ A module is a placeholder for files, manifests, plugins
and templates. Creating a module has numerous advantages such as separate version control,
separate staging from development through testing to production, and so forth.
+ </para>
+ </formalpara>
+ <para>
+ <emphasis>See also</emphasis>: <xref
linkend="PuppetWorkshop-HowToUsePuppet-Modules" />, <xref
linkend="PuppetWorkshop-HowToUsePuppet-Plugins" />
+ </para>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>node</title>
+ <para>
+ The client, a node, is an operating system instance
running the puppet client application. This can be a regular operating system running
directly on top of actual hardware, a virtual guest as well as a virtual host.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara
id="PuppetWorkshop-PuppetTerminology-puppet">
+ <title>puppet</title>
+ <para>
+ The client, a node, runs the
<application>puppetd</application> daemon or service, and is referred to as
the <emphasis>puppet</emphasis>
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara
id="PuppetWorkshop-PuppetTerminology-puppetmaster">
+ <title>puppetmaster</title>
+ <para>
+ The puppetmaster is the node that runs the server-side
application to a puppet setup.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>resource</title>
+ <para>
+ A resource is an instantiated <xref
linkend="PuppetWorkshop-PuppetTerminology-type" />
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>system resource</title>
+ <para>
+<!--
+FIXME:
+//-->
+ A system resource is a resource available on the node
whether it is managed by puppet or not. Unlike what is otherwise understood by system
resources, the puppet definition of system resources does not so much refer to resources
like CPU or memory, but rather to whether or not a package is installed or what version of
said package, or the $osversion, and so on and so forth.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara
id="PuppetWorkshop-PuppetTerminology-type">
+ <title>type</title>
+ <para>
+ definition
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </chapter>
+
+ <chapter id="PuppetWorkshop-HowPuppetWorks">
+ <title>How Puppet Works</title>
+ <para>
+ This is an overview of how puppet works -in a working setup.
+ </para>
+ <para>
+ <orderedlist>
+ <listitem>
+ <formalpara>
+ <title>The puppet starts for the first
time</title>
+ <para>
+ It generates a certificate using the node's FQDN.
+ </para>
+ </formalpara>
+ <note>
+ <para>
+ Although not required, it is strongly recommended to have
the client use a FQDN that is registered in DNS (forward as well as reverse).
+ </para>
+ </note>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet submits the certificate to the
puppetmaster</title>
+ <para>
+ The puppetmaster, also the Certificate Authority, or
<emphasis>puppetca</emphasis>, needs to sign the certificate before the client
can be considered authenticated.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet waits 300 seconds for a signed
certificate</title>
+ <para>
+ It this configurable timeout of 300
seconds<footnote><para>Specify the timeout with <code>--waitforcert
[seconds]</code></para></footnote> has passed, the puppet quits.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppetmaster signs the
certificate</title>
+ <para>
+ To do so, you can either configure the puppetmaster to
automatically sign certificates or sign manually. Automatically signing certificates is
generally a very bad idea. To manually sign a certificate, use:
+ </para>
+ </formalpara>
+ <para>
+ <screen># <userinput>puppetca --sign
<fqdn></userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet receives the signed
certificate</title>
+ <para>
+ Immediately thereafter, the puppet starts a configuration
run.
+ </para>
+ </formalpara>
+ <warning>
+ <para>
+ The time on both the puppetmaster and the puppet must be
within 5 minutes of eachother as the certificate generated and signed has a validity
period. If the difference in time of these two nodes is more then 5 minutes, you will get
a "Certificates not trusted" type of error.
+ </para>
+ </warning>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet generates all the
facts</title>
+ <para>
+ Most configurations rely on client information to make
decisions. When the Puppet client starts, it loads the Facter Ruby library, collects all
of the facts that it can, and passes those facts to the interpreter. When you use Puppet
over a network, these facts are passed over the network to the server and the server uses
them to compile the client's configuration.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppetmaster parses it's
manifests</title>
+ <para>
+ The puppetmaster parses through all it's manifests,
including the manifests not applicable to the puppet that is polling. It only sends out
the manifest applicable to the puppet polling, however.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet receives the manifests</title>
+ <para>
+ When the puppet receives the manifests, it may still
contain variables such as <code>$hostname</code>,
<code>$operatingsystem</code> and others, which the puppet fills out with the
appropriate values.
+ </para>
+ </formalpara>
+<!-- <warning>
+ <para>
+ All variables in the manifest sent to the client should
be based on facts rather then fiction.
+ </para>
+ </warning>-->
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet applies the manifest</title>
+ <para>
+ While the puppet applies the manifest, it pulls files
from the puppetmaster's <emphasis>fileserver</emphasis> after checking the
local checksum against the remote checksum. When running with debug output, this will show
as
+ <screen>debug: Calling fileserver.list
+debug: //Node[node1.example.com]/File[/tmp/foo]/checksum: Initializing checksum hash
+debug: //Node[node1.example.com]/File[/tmp/foo]: Creating checksum
{md5}85e53dc9439253a1ec9ca87aeffd9b0b
+debug: Calling fileserver.describe</screen>
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>Files that are replaced are backed
up</title>
+ <para>
+ The puppet sends a copy of the files it replaces back to
the puppetmaster.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet reports to the
puppetmaster</title>
+ <para>
+ A detailed report of what the puppet has done with the
manifests is sent back to the puppetmaster.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>The puppet waits for 30 minutes</title>
+ <para>
+ The next run the puppet performs/polls for is after a
configurable timeperiod, which defaults to 30 minutes.
+ </para>
+ </formalpara>
+ </listitem>
+ </orderedlist>
+ </para>
+ <para>
+ A puppet setup is comprised out of the following parts:
+ </para>
+ <formalpara>
+ <title>The Puppetmaster</title>
+ <para>
+ The puppetmaster of course is the core element in a puppet setup. Not
only is it responsible for the handing over the manifest to the client, it also takes care
of serving the files needed by the manifest, as well as
+ </para>
+ </formalpara>
+ </chapter>
+
+ <chapter id="PuppetWorkshop-PuppetFeatures">
+ <title>Puppet Features</title>
+ <para>
+ paragraph
+ </para>
+ </chapter>
+
+ <chapter id="PuppetWorkshop-TroubleshootingPuppet">
+ <title>Troubleshooting Puppet</title>
+ <para>
+ This section is about troubleshooting the puppetmaster and puppet
+ </para>
+ </chapter>
+
+ <chapter id="PuppetWorkshop-SettingUpPuppet">
+ <title>Setting Up Puppet</title>
+ <para>
+ In this section, we are going to set up a puppetmaster, and a puppet
client. The puppetmaster is going to run the <emphasis>mongrel</emphasis>
server-type, for setting up a puppetmaster for larger environments.
+ </para>
+
+ <section id="PuppetWorkshop-SettingUpPuppet-Installation">
+ <title>Installation</title>
+ <para>
+ The default server type for the puppetmaster is called
<emphasis>webrick</emphasis>, a single-threaded webserver. The webserver
handles the puppets' requests for manifests, certificate exchanges, as well requests
for files and templates. Being single-threaded, the webrick webserver can only handle one
client at a time. While the puppets poll the puppetmaster with a default interval of 30
minutes, and configuration runs can take longer then 60 seconds, putting more then 25
clients in front of a puppetmaster with a webrick webserver is a very, very bad idea.
+ </para>
+ <para>
+ There is a multi-threaded webserver in Ruby, called
<emphasis>mongrel</emphasis>. This is a simple, multi-threaded, but not very
feature-rich webserver. For one, it does not perform SSL. For scalability purposes though,
the mongrel server type is an absolute must, and can better be chosen as the webserver to
handle the puppets' requests, right from the beginning. This however requires a
frontend that performs the SSL part of the communications between the puppetmaster and the
puppets. We choose Apache's HTTPd for it's excellent performance, flexible
configuration, excellent configuration syntax, and because it can be set up as a reverse
proxy load balancer, allowing more then one puppetmaster behind the scenes if necessary.
+ </para>
+ <para>
+ Install the required packages for the puppetmaster:
+ </para>
+ <formalpara>
+ <title>Smaller organizations (< ~25
clients)</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ The puppetmaster.
+ </para>
+ <para>
+ <screen># <userinput>yum install
puppet-server</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ (optional) A database server (one of MySQL, SQLite3
or Postgresql), and the appropriate Ruby library. During this workshop, we use MySQL.
+ </para>
+ <para>
+ <screen># <userinput>yum install
mysql-server ruby-mysql</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ (optional) The Ruby RRDtool library.
+ </para>
+ <para>
+ <screen># <userinput>yum install
ruby-RRDtool</userinput></screen>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>Larger organizations (> ~25
clients)</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ A webserver capable of performing as a frontend SSL
reverse proxy load balancer, such as the Apache HTTPd webserver.
+ </para>
+ <para>
+ <screen># <userinput>yum install
httpd</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The Ruby mongrel library, for better scalability.
+ </para>
+ <para>
+ <screen># <userinput>yum install
rubygem-mongrel</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The puppetmaster.
+ </para>
+ <para>
+ <screen># <userinput>yum install
puppet-server</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ (optional) A database server (one of MySQL, SQLite3
or Postgresql), and the appropriate Ruby library. During this workshop, we use MySQL.
+ </para>
+ <para>
+ <screen># <userinput>yum install
mysql-server ruby-mysql</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ (optional) The Ruby RRDtool library.
+ </para>
+ <para>
+ <screen># <userinput>yum install
ruby-RRDtool</userinput></screen>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ </section>
+
+ <section id="PuppetWorkshop-SettingUpPuppet-Configuration">
+ <title>Configuration</title>
+ <para>
+ In this section, we walk you through the initial configuration of a
puppetmaster with the mongrel server type.
+ </para>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster">
+ <title>Configuring the Puppetmaster</title>
+ <para>
+ The configuration file for puppet and puppetmaster is
<filename>/etc/puppet/puppet.conf</filename>. It is a file in INI-like format
with sections, keys and values. There's 4 sections of interest,
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title>[main]</title>
+ <para>
+ Primarily file locations, directory settings and
other globals applicable to both the puppet as well as the puppetmaster.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>[puppetca]</title>
+ <para>
+ Puppet Certificate Authority (puppetca)
settings.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>[puppetd]</title>
+ <para>
+ Puppet client daemon settings.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>[puppetmasterd]</title>
+ <para>
+ Puppetmaster daemon settings.
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-Settings">
+ <title>Relevant Settings</title>
+ <formalpara>
+ <title>Relevant Settings For The First
Run</title>
+ <para>
+ For the first run of the puppetmaster, the following
settings require configuration:
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title>[main]</title>
+ <para>
+ The locations where puppet seeks it's
configuration and puts it's transitional data. The most important setting is
<literal>vardir</literal>, which should be set to
<filename>/var/lib/puppet/</filename>. Further settings include:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>logdir =
/var/log/puppet/</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>rundir =
/var/run/puppet/</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>ssldir =
$vardir/ssl/</code>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ <note>
+ <para>
+ If you used a package to install puppet,
the defaults should work, but may not comply with your backup strategy. It is the upstream
puppet package that cannot cater to each and every distribution or operating system it is
available for, and therefore has a set of defaults that will work, but will need to be
changed on most platforms.
+ </para>
+ </note>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>[puppetmasterd]</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+
<title>certname</title>
+ <para>
+ The puppetmaster
certificate's Common Name (CN), for which by default the system's hostname is
used. The hostname of the system is a pretty reasonable value.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+
<title>certdnsnames</title>
+ <para>
+ A colon
(<literal>:</literal>) seperated list of DNS names resolving to the
puppetmaster. Include here:
+ <orderedlist>
+ <listitem>
+ <para>
+ The short
hostname of the system, using the output of: <screen># <userinput>hostname
-s</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+
<literal>puppet</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+
<literal>puppet</literal>, followed by the DNS domain name of the system,
using the output of <screen>#
<userinput>dnsdomainname</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Any other
hostname or fully qualified domain name you want to use for the puppetmaster.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <para>
+ Another setting to check is whether or not
this puppetmaster is going to be the Certificate Authority <screen>[puppetmasterd]
+ ca = <replaceable>true</replaceable></screen>
+ The default is often set to
<code>true</code>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Whether or not to use autosigning of
certificates, using
+ <screen>[puppetca]
+ autosign = <replaceable>false</replaceable></screen>
+ The default is to
<emphasis>not</emphasis> use autosigning. Only applicable if
<code>puppetca</code> is set to <code>true</code>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>Other Relevant Settings</title>
+ <para>
+ The following settings require review before the
puppetmaster is going in production.
+ <itemizedlist>
+ <listitem>
+ <para>
+ A list of environments using a comma
seperated list, in
+ <screen>[puppetmasterd]
+ environments =
<replaceable>development,testing,production</replaceable></screen>
+ </para>
+ <para>
+ <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-HowToUsePuppet-Environments" />
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Whether or not to use reporting, and what
reporting to use (tagmail, store, rrdgraph). To configure the types or reports that should
be used by the puppetmaster, use a comma separated list without spaces, in:
+ <screen>[puppetmasterd]
+ reports =
<replaceable>tagmail,store,rrdgraph</replaceable></screen>
+ </para>
+ <para>
+ <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The location of tagmail.conf, in order to map
tags you give to resources to email addresses the reports should be sent to;
<screen>[main]
+ tagmap =
<replaceable>/path/to/tagmail.conf</replaceable></screen>
+ for reporting changes applied to puppets, via
email.
+ </para>
+ <para>
+ <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-Sitepp">
+ <title>Minimal site.pp</title>
+ <para>
+ Create a minimal <code>site.pp</code> in
<filename>/etc/puppet/manifests/site.pp</filename> for the puppetmaster to
parse on it's initial startup. Below is an example.
+ </para>
+ <screen>#
+# site.pp for any domain
+#
+
+$server = "<replaceable>master.puppetmanaged.org</replaceable>"
+
+# The default node
+
+node default {
+}</screen>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-ServiceConfiguration">
+ <title>Service Configuration</title>
+ <para>
+ On Red Hat based systems, use
<filename>/etc/sysconfig/puppetmaster</filename> to configure the service. It
has three variables set, of which <code>PUPPETMASTER_MANIFEST</code> needs to
point to the default manifest to use.
+ </para>
+ </section>
+
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-SSLFrontendReverseProxyLoadBalancer">
+ <title>Configuring the SSL Frontend Reverse Proxy Load
Balancer</title>
+ <para>
+ A webserver needs to be configured to handle the SSL XML-RPC
requests from the puppets, because the mongrel server type is not capable of performing
SSL.
+ </para>
+ <para>
+ The webserver is going to listen on port 8140, the default port
for the puppetmaster to listen for clients. It is going to forward traffic (after being
decrypted) to the puppetmaster on 127.0.0.1:8141.
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer">
+ <title>Configuring the Database Server</title>
+ <para>
+ para
+ </para>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer-SQLite3">
+ <title>SQLite3</title>
+ <para>
+ para
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer-MySQL">
+ <title>MySQL</title>
+ <para>
+ para
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer-Postgresql">
+ <title>PostgreSQL</title>
+ <para>
+ para
+ </para>
+ </section>
+
+ </section>
+
+ </section>
+
+ </chapter>
+
+ <chapter id="PuppetWorkshop-HowToUsePuppet">
+ <title>How To Use Puppet</title>
+ <para>
+ This is a first section
+ </para>
+
+ <section id="PuppetWorkshop-HowToUsePuppet-Modules">
+ <title>Using Modules</title>
+ <para>
+ About using modules
+ </para>
+ </section>
+
+ <section id="PuppetWorkshop-HowToUsePuppet-Plugins">
+ <title>Using Plugins</title>
+ <para>
+ About the use of plugins
+ </para>
+ </section>
+
+ <section id="PuppetWorkshop-HowToUsePuppet-Environments">
+ <title>Environments</title>
+ <para>
+ paragraph
+ </para>
+ </section>
+
+ </chapter>
+
+ <chapter id="PuppetWorkshop-OtherThingsToDoWithPuppet">
+ <title>Other Things To Do With Puppet</title>
+ <para>
+ This is a first section
+ </para>
+
+ <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting">
+ <title>Tweaking Reporting</title>
+ <para>
+ paragraph
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-WritingCustomTypes">
+ <title>Writing Custom Types</title>
+ <para>
+ paragraph
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-WritingCustomFacts">
+ <title>Writing Custom Facts</title>
+ <para>
+ paragraph
+ </para>
+ </section>
+
+ <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-WritingCustomFunctions">
+ <title>Writing Custom Functions</title>
+ <para>
+ paragraph
+ </para>
+ </section>
+
+ </chapter>
+
+ <chapter id="PuppetWorkshop-BestPractices">
+ <title>Best Practices</title>
+ <para>
+ This is a first section
+ </para>
+ </chapter>
+
+ </part>
+
+ <xi:include href="Appendix.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+</book>
+
+<!-- Local variables:
+ mode: xml
+ fill-column: 72
+ End:
+-->
+
+<!--
+ vim: softtabstop=4:shiftwidth=4:expandtab
+-->
diff --git a/Workshops/PuppetWorkshop/en-US/Revision_History.xml
b/Workshops/PuppetWorkshop/en-US/Revision_History.xml
new file mode 100644
index 0000000..68432a0
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/Revision_History.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+
+<appendix id="appe-Publican-Revision_History">
+ <title>Revision History</title>
+ <simpara>
+ <revhistory>
+ <revision>
+ <revnumber>1.0</revnumber>
+ <date></date>
+ <author>
+ <firstname></firstname>
+ <surname></surname>
+ <email></email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member></member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </simpara>
+</appendix>
+
diff --git a/Workshops/PuppetWorkshop/en-US/images/icon.svg
b/Workshops/PuppetWorkshop/en-US/images/icon.svg
new file mode 100644
index 0000000..c471a60
--- /dev/null
+++ b/Workshops/PuppetWorkshop/en-US/images/icon.svg
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<!-- Created with Inkscape (
http://www.inkscape.org/) -->
+<svg
+
xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+
xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
+
xmlns:cc="http://web.resource.org/cc/"
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+
xmlns:svg="http://www.w3.org/2000/svg"
+
xmlns="http://www.w3.org/2000/svg"
+
xmlns:xlink="http://www.w3.org/1999/xlink"
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd&q...
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+
style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)"
/>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)"
/>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504
381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C
372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504
390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504
424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C
415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504
433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504
500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C
491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504
509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504
464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C
455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504
473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93
471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49
473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49
475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)"
/>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05
471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)"
/>
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04
469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+
gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+
transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875
L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C
31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L
32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375
C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+
style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L
287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091
301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C
307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432
309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C
581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C
574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363
314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124
292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363
293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
diff --git a/en-US/Books/ClassRoom/Manual-Book_Info.xml
b/en-US/Books/ClassRoom/Manual-Book_Info.xml
index 82dadc2..e04ac70 100644
--- a/en-US/Books/ClassRoom/Manual-Book_Info.xml
+++ b/en-US/Books/ClassRoom/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/ClassRoom/Manual-Preface.xml
b/en-US/Books/ClassRoom/Manual-Preface.xml
index dc1e707..dc37059 100644
--- a/en-US/Books/ClassRoom/Manual-Preface.xml
+++ b/en-US/Books/ClassRoom/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Advanced/Course-Book_Info.xml
b/en-US/Books/Linux/Advanced/Course-Book_Info.xml
index 04ad0b2..d5bd65b 100644
--- a/en-US/Books/Linux/Advanced/Course-Book_Info.xml
+++ b/en-US/Books/Linux/Advanced/Course-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Advanced/Course-Preface.xml
b/en-US/Books/Linux/Advanced/Course-Preface.xml
index f2196f6..9518e23 100644
--- a/en-US/Books/Linux/Advanced/Course-Preface.xml
+++ b/en-US/Books/Linux/Advanced/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
b/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
index 11d335f..2931300 100644
--- a/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Advanced/Manual-Preface.xml
b/en-US/Books/Linux/Advanced/Manual-Preface.xml
index e5e1942..ec266f2 100644
--- a/en-US/Books/Linux/Advanced/Manual-Preface.xml
+++ b/en-US/Books/Linux/Advanced/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Basic/Course-Book_Info.xml
b/en-US/Books/Linux/Basic/Course-Book_Info.xml
index 4a31ee0..f8d8257 100644
--- a/en-US/Books/Linux/Basic/Course-Book_Info.xml
+++ b/en-US/Books/Linux/Basic/Course-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Basic/Course-Preface.xml
b/en-US/Books/Linux/Basic/Course-Preface.xml
index 13b52fc..9c6f550 100644
--- a/en-US/Books/Linux/Basic/Course-Preface.xml
+++ b/en-US/Books/Linux/Basic/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Basic/Manual-Book_Info.xml
b/en-US/Books/Linux/Basic/Manual-Book_Info.xml
index edbf500..ea4f38c 100644
--- a/en-US/Books/Linux/Basic/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/Basic/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Basic/Manual-Preface.xml
b/en-US/Books/Linux/Basic/Manual-Preface.xml
index 272a4c0..6cf872e 100644
--- a/en-US/Books/Linux/Basic/Manual-Preface.xml
+++ b/en-US/Books/Linux/Basic/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
b/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
index 96a77d0..845bb07 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
b/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
index 1918605..58f44f6 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
b/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
index 677a6fe..45381e8 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
b/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
index f0f1be3..5032da5 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
b/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
index a3ff1e6..49498ce 100644
--- a/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
+++ b/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/RHCETraining/Course-Preface.xml
b/en-US/Books/Linux/RHCETraining/Course-Preface.xml
index d341b12..0008a64 100644
--- a/en-US/Books/Linux/RHCETraining/Course-Preface.xml
+++ b/en-US/Books/Linux/RHCETraining/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
b/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
index 170369a..8bf3a9e 100644
--- a/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
b/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
index e3ea344..6fe80bf 100644
--- a/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
+++ b/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Senior/Course-Book_Info.xml
b/en-US/Books/Linux/Senior/Course-Book_Info.xml
index bb0eb4d..ed1407c 100644
--- a/en-US/Books/Linux/Senior/Course-Book_Info.xml
+++ b/en-US/Books/Linux/Senior/Course-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Senior/Course-Preface.xml
b/en-US/Books/Linux/Senior/Course-Preface.xml
index 1d9aff8..57db973 100644
--- a/en-US/Books/Linux/Senior/Course-Preface.xml
+++ b/en-US/Books/Linux/Senior/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Senior/Manual-Book_Info.xml
b/en-US/Books/Linux/Senior/Manual-Book_Info.xml
index ea895cc..2a132e3 100644
--- a/en-US/Books/Linux/Senior/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/Senior/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Senior/Manual-Preface.xml
b/en-US/Books/Linux/Senior/Manual-Preface.xml
index 5072c4a..83bd9d6 100644
--- a/en-US/Books/Linux/Senior/Manual-Preface.xml
+++ b/en-US/Books/Linux/Senior/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/PuppetWorkshop/Author_Group.xml
b/en-US/Books/PuppetWorkshop/Author_Group.xml
deleted file mode 100644
index c9ba622..0000000
--- a/en-US/Books/PuppetWorkshop/Author_Group.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-
-<authorgroup>
- <author>
- <firstname>Jeroen</firstname>
- <surname>van Meeuwen</surname>
- <affiliation>
- <orgname>Operator Groep Delft</orgname>
- <orgdiv>Sr. System Engineer</orgdiv>
- </affiliation>
- <email>j.van.meeuwen(a)ogd.nl</email>
- </author>
- <author>
- <firstname>Stefan</firstname>
- <surname>Hartsuiker</surname>
- <affiliation>
- <orgname>Operator Groep Delft</orgname>
- <orgdiv>System Engineer</orgdiv>
- </affiliation>
- <email>s.hartsuiker(a)ogd.nl</email>
- </author>
-</authorgroup>
diff --git a/en-US/Books/PuppetWorkshop/Course-Appendix.xml
b/en-US/Books/PuppetWorkshop/Course-Appendix.xml
deleted file mode 100644
index 37b3e31..0000000
--- a/en-US/Books/PuppetWorkshop/Course-Appendix.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-
-<part id="PuppetWorkshop-Appendices">
- <title>Appendices</title>
- <appendix id="PuppetWorkshop-Appendix-Terminology">
- <title>Puppet Terminology</title>
- <para>
- <itemizedlist>
- <listitem>
- <formalpara>
- <title>class</title>
- <para>
- A class is a collection of resources applied to a node with a
single include statement. It groups together a comprehensible set of resources. A class
<emphasis>ypclient</emphasis> would manage the
<code>File["/etc/nsswitch.conf"]</code>,
<code>File["/etc/yp.conf"]</code>,
<code>Package["ypbind"]</code>, and
<code>Service["ypbind"]</code> resources.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>fact</title>
- <para>
- A client-side generated aspect of the node the puppet client
runs on. Example facts are the amount of available memory, the hostname, the fully
qualified domain name, the operating system (version).
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>manifest</title>
- <para>
- The collection of classes, modules and resources that the
<xref linkend="PuppetWorkshop-Appendix-Terminology-puppetmaster" /> uses
to distribute the appropriate configuration to a <xref
linkend="PuppetWorkshop-Appendix-Terminology-puppet" />.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>module</title>
- <para>
- module
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>node</title>
- <para>
- The client, a node, is an operating system instance running
the puppet client application. This can be a regular operating system running directly on
top of actual hardware, a virtual guest as well as a virtual host.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara
id="PuppetWorkshop-Appendix-Terminology-puppet">
- <title>puppet</title>
- <para>
- The client, a node, runs the
<application>puppetd</application> daemon or service, and is referred to as
the <emphasis>puppet</emphasis>
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara
id="PuppetWorkshop-Appendix-Terminology-puppetmaster">
- <title>puppetmaster</title>
- <para>
- The puppetmaster is the node that runs the server-side
application to a puppet setup.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>resource</title>
- <para>
- A resource is an instantiated <xref
linkend="PuppetWorkshop-Appendix-Terminology-type" />
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>system resource</title>
- <para>
-<!-- A system resource is a resource available on the node
whether it is managed by puppet or not. Unlike in other cases, this term does not as much
to system hardware resources such as the CPU or memory available to the operating system,
because that.
-//-->
- A system resource is a resource available on the node
whether it is managed by puppet or not. Unlike what is otherwise understood by system
resources, the puppet definition of system resources does not so much refer to resources
like CPU or memory, but rather to whether or not a package is installed or what version of
said package, or the $osversion, and so on and so forth.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara
id="PuppetWorkshop-Appendix-Terminology-type">
- <title>type</title>
- <para>
- definition
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
- </para>
- </appendix>
- <appendix
id="PuppetWorkshop-Appendix-ExampleSSLFrontendReverseProxyLoadBalancerConfiguration">
- <title>Example SSL Frontend Reverse Proxy Load Balancer
Configuration</title>
- <para>
-<screen>
-<ifModule !mod_proxy.c>
- LoadModule proxy_module modules/mod_proxy.so
-</IfModule>
-
-<IfModule !mod_proxy_http.c>
- LoadModule proxy_http_module modules/mod_proxy_http.so
-</IfModule>
-
-<IfModule !mod_proxy_balancer.c>
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
-</IfModule>
-
-<IfModule !mod_headers.c>
- LoadModule headers_module modules/mod_headers.so
-</IfModule>
-
-<IfModule !mod_ssl.c>
- LoadModule ssl_module modules/mod_ssl.so
-</IfModule>
-
-<IfModule !mod_authz_host.c>
- LoadModule authz_host_module modules/mod_authz_host.so
-</IfModule>
-
-<IfModule !mod_log_config.c>
- LoadModule log_config_module modules/mod_log_config.so
-</IfModule>
-
-<Directory />
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
-</Directory>
-
-<Proxy balancer://master.puppetmanaged.org>
- BalancerMember
http://127.0.0.1:8141 keepalive=on retry=30
-</Proxy>
-
-<VirtualHost *:8140>
- ServerName
master.puppetmanaged.org
- SSLEngine on
- SSLCipherSuite SSLv2:-LOW:-EXPORT:RC4+RSA
- SSLCertificateFile /var/lib/puppet/ssl/certs/master.puppetmanaged.org.pem
- SSLCertificateKeyFile
/var/lib/puppet/ssl/private_keys/master.puppetmanaged.org.pem
- SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
- SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem
- SSLVerifyClient optional
- SSLVerifyDepth 1
- SSLOptions +StdEnvVars
-
- # The following client headers allow the same configuration to work with Pound.
- RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
- RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
- RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
-
- <Location />
- SetHandler balancer-manager
- Order allow,deny
- Allow from all
- </Location>
-
- ProxyPass / balancer://master.puppetmanaged.org:8140/ timeout=180
- ProxyPassReverse / balancer://master.puppetmanaged.org:8140/
- ProxyPreserveHost on
- SetEnv force-proxy-request-1.0 1
- SetEnv proxy-nokeepalive 1
-
- ErrorLog logs/master.puppetmanaged.org-balancer-error_log
- CustomLog logs/master.puppetmanaged.org-balancer-access_log combined
- CustomLog logs/master.puppetmanaged.org-balancer-ssl_request_log "%t %h
%{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-</VirtualHost>
-</screen>
- </para>
- </appendix>
- <xi:include href="Revision_History.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-</part>
diff --git a/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
b/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
deleted file mode 100644
index d7a78f8..0000000
--- a/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-
-<bookinfo id="PuppetWorkshop-Product_Name_and_Version">
- <title>Puppet Workshop</title>
- <subtitle>Puppet Workshop</subtitle>
- <issuenum>0.1</issuenum>
- <productnumber>1</productnumber>
- <abstract><para>This is a Configuration Management workshop (based on
Puppet)</para></abstract>
- <corpauthor>
- <inlinemediaobject>
- <imageobject>
- <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
- </imageobject>
- </inlinemediaobject>
- </corpauthor>
- <copyright>
- <year>&YEAR;</year>
- <holder>&HOLDER;</holder>
- </copyright>
- <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-</bookinfo>
-
-
-
diff --git a/en-US/Books/PuppetWorkshop/Course-Preface.xml
b/en-US/Books/PuppetWorkshop/Course-Preface.xml
deleted file mode 100644
index d8e4a06..0000000
--- a/en-US/Books/PuppetWorkshop/Course-Preface.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-
-<preface id="PuppetWorkshop-Preface">
- <title>Preface</title>
- <para>
- paragraph
- </para>
- <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-</preface>
diff --git a/en-US/Books/PuppetWorkshop/Course.xml
b/en-US/Books/PuppetWorkshop/Course.xml
deleted file mode 100644
index eb4dc14..0000000
--- a/en-US/Books/PuppetWorkshop/Course.xml
+++ /dev/null
@@ -1,1076 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.docbook.org/xml/4.4/docbookx.dtd">
-
-<book id="PuppetWorkshop">
-
- <xi:include href="Course-Book_Info.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Course-Preface.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <part id="PuppetWorkshop-Part">
- <title>Puppet Workshop</title>
- <chapter id="PuppetWorkshop-Introduction">
- <title>Introduction</title>
- <para>
- Welcome to the Puppet Workshop (or Configuration Management workshop).
Today's workshop is comprised of the following topics:
- </para>
- <para>
- <segmentedlist>
- <segtitle>Topic</segtitle>
- <seglistitem>
- <seg>Introduction to Configuration Management</seg>
- </seglistitem>
- <seglistitem>
- <seg>Introduction to Puppet</seg>
- </seglistitem>
- <seglistitem>
- <seg>Puppet Terminology</seg>
- </seglistitem>
- <seglistitem>
- <seg>How Puppet Works</seg>
- </seglistitem>
- <seglistitem>
- <seg>Puppet Features</seg>
- </seglistitem>
- <seglistitem>
- <seg>Troubleshooting Puppet</seg>
- </seglistitem>
- <seglistitem>
- <seg>Setting up Puppet</seg>
- </seglistitem>
- <seglistitem>
- <seg>How to use Puppet</seg>
- </seglistitem>
- <seglistitem>
- <seg>Other Things To Do With Puppet</seg>
- </seglistitem>
- <seglistitem>
- <seg>Best Practices</seg>
- </seglistitem>
- </segmentedlist>
- </para>
- </chapter>
-
- <chapter
id="PuppetWorkshop-IntroductionToConfigurationManagement">
- <title>Introduction to Configuration Management</title>
-
- <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-WhatIsConfigurationManagement">
- <title>What is Configuration Management?</title>
- <para>
- Within virtually every organization, there's probably a number of
systems running Linux, Solaris, Mac OS X or HP-UX. All these machines need to be
configured to be able to function properly. Some will need special drivers, and all of
them will need correct DNS settings, certain packages installed and certain other packages
removed. Most probably, the more systems, the more these diverge in the configuration they
need, and potentially diverge in the way this configuration needs to be applied to a given
operating system or operating system version.
- </para>
- <para>
- More specifically, an organization may have a couple of webservers,
fileservers, a DNS and a DHCP server, a number of desktop PCs, and a number of laptops.
The laptops may need slightly different system configuration (no LDAP authentication, and
with a VPN client installed, for example), and the desktop PCs may need different
applications installed then the servers, and so forth. Yet, between, say, a hundred
desktop PCs, you would want the configuration to be as similar as possible. You may want
to diverge between a software developer's desktop PC and a desktop PC in Human
Resources, but in essence these are desktop profiles diverging on the application level,
applied upon a stable system configuration which remains the same, or similar at least.
- </para>
- <para>
- By the time the organization grows, replaces the hardware, upgrades
to another version of the operating system, or applies changes, the challenge to making
everything work yet maintain a similar configuration between all nodes becomes bigger.
While every attempt made to control the situation can be called a form of configuration
management, the solution without a configuration management framework is often comprised
of:
- </para>
- <para>
- <orderedlist>
- <listitem>
- <para>
- a number of scripts (with or without revision control),
to move around files, install packages, perform daily check-ups,
- </para>
- </listitem>
- <listitem>
- <para>
- NFS mounts with programs pre-installed, so that nodes can
mount these NFS shares and the software needs to be provided once, in one location, for
all to share,
- </para>
- </listitem>
- <listitem>
- <para>
- file server shares with pre-compiled drivers, or driver
sources being compiled on the nodes by scripts running on the nodes,
- </para>
- </listitem>
- <listitem>
- <para>
- terminal servers or desktop servers like with FreeNX, so
that configuration concentrates on a smaller number of boxes
- </para>
- </listitem>
- </orderedlist>
- </para>
- <para>
- This means that work-arounds for actual (user) problems maybe require
an additional if-then-else in one or the other script, and updates to programs installed
require manual compilation and installation. The success rate of these solutions never
reaches 100%, and as it turns out the longer such a implemented solution runs, the more
exotic problems become and the more machines will fail to remain up-to-date regardless of
any attempt made to fix the issue; simply because it becomes to diversive and
unmaintainable.
- </para>
-
- <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-WhatIsConfigurationManagement-ConfigurationManagement">
- <title>Configuration Management</title>
- <para>
- Generally speaking, with configuration management, it's about
managing the configuration of one or more organizational resources in order to have it be
in a state in which it can perform the operations required by, and possibly critical to,
the organization's operations.
- </para>
- <para>
- In this workshop though, we are not going to explore
configuration management of a coffee machine. Instead we look at the computers in a
network running any platform but the one from a prominent proprietary North America-based
vendor. We are talking automation and further enhancement of Computer Systems
Administration.
- </para>
- <para>
- When managing the operating system and software running on
mainframes, servers, desktop PCs and laptops, you may find yourself looking for answers to
questions such as:
- </para>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- How do I manage what packages are installed on a
given system?
- <itemizedlist>
- <listitem>
- <para>
- How do I manage the configuration of
those packages (this software)?
- </para>
- </listitem>
- <listitem>
- <para>
- How do I make sure these packages are
updated?
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>
- How do I make sure the services that every machine
needs to run are actually running?
- </para>
- </listitem>
- <listitem>
- <para>
- How do I manage monitoring the services or a
machine's state?
- </para>
- </listitem>
- <listitem>
- <para>
- A job needs to run periodically (maybe via
<application>crontab</application>), but how do I make sure it is run, and how
can I change or remove the job later?
- </para>
- </listitem>
- <listitem>
- <para>
- Given different operating systems and operating
system versions, how do I make sure I apply the correct routine for adding a user,
starting a service, install/update/remove a package?
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </section>
-
- <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-WhatIsConfigurationManagement-ConfigurationManagementRequirements">
- <title>Configuration Management Requirements</title>
- <para>
- This section is about what you would want Configuration
Management to do for you:
- </para>
- <para>
- <itemizedlist>
- <listitem>
- <formalpara>
- <title>Maintain consistency across
systems</title>
- <para>
- Consistency across systems is key in
understanding where a problem might come from. If each and every system is unique, you may
end up searching for unique aspects of the system's configuration in order to
determine the cause of a problem, while if systems are consistent to some extend, you may
have found the problem even before your users report it.
- </para>
- </formalpara>
- <formalpara>
- <title>Consistency !== Equality</title>
- <para>
- Of course keeping system consistent in their
configuration doesn't say all your systems should be entirely equal, because that
would not be feasible for many organizations and defeat the purpose of configuration
management. Needless to say though, having all systems be entirely unique defeats part of
the purpose of configuration management as well.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Categorize systems</title>
- <para>
- Categorizing systems into categories like (for
example) <emphasis>desktop</emphasis>, <emphasis>server</emphasis>
and/or <emphasis>laptop</emphasis>, helps in applying changes to one category,
such as installing <application>GNOME</application> or keeping systems
up-to-date according to a schedule that may (servers) or may not (desktops, laptops) need
a service or maintenance window.
- </para>
- </formalpara>
- <formalpara>
- <title>Different profiles</title>
- <para>
- More generally speaking, different profiles for
each of these categories may be defined as well, of course. A developer's desktop most
likely has different requirements then a publicly accessible booth at the reception desk.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Version Control</title>
- <para>
- Version control lets you keep track of changes
applied to the overall configuration management framework, which is important because
since you are managing different aspects of a number of systems, if something goes wrong
the changes applied to the configuration of puppet will most likely be the first clue as
to what caused the new problem and lets you recover relatively fast.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Overview of systems' tasks and
services</title>
- <para>
- Being able to quickly tell what a system does
exactly, and how it differs from another system not only aids in performing risk
assessments (impact of a given change), but may also help in determining the impact of a
change beforehand, as well as determine the impact of an unexpected system interruption.
Providing an example to the latter I suppose if you update httpd across systems (whether
tested or untested), but the new software version doesn't work as expected, a
configuration management framework should be able to quickly give you an overview of
impacted systems and services.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Updating systems</title>
- <para>
- Some systems can be updated irregularly, such as
desktop PCs, but need to be kept up-to-date nonetheless. Other systems need to have
service and/or maintenance windows, such as servers.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
- </para>
- </section>
-
- </section>
-
- <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-ProblemsWithoutConfigurationManagement">
- <title>Problems without Configuration Management</title>
- <para>
- There's a number of challenges in applying configuration
management, such as:
- </para>
- <para>
- <orderedlist>
- <listitem>
- <formalpara>
- <title>Different operating systems</title>
- <para>
- If you have a diverse organization in terms of the
operating systems your nodes run, applying the same thing to a set of different operating
systems is challenging in that adding a user or setting a password on one operating system
isn't the same as adding a user or setting a password on another operating system. Of
course the same applies to installing, updating or removing a package, and so forth. Of
course the more different operating systems you have, the harder managing any given
resource becomes.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Different distributions</title>
- <para>
- Although an organization may not have different
distributions running right now, sooner or later, an organization will migrate from one
distribution to another; That is practically inevitable. If an organization does have
different distributions running, practical problems such as the location of certain files
become evident, as well as different interfaces to resource-management (like adding a user
with <application>useradd</application> or
<application>adduser</application>).
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Different versions of
distributions</title>
- <para>
- Different versions of distributions, or more
accurately the different versions of the utilities, as well as the configuration settings
for updated programs that come with the distributions, can form a challenge when or if the
organization does not have a proper configuration management framework in place. Note that
even though an organization may not have different versions of a distribution right now,
at some point the organization will need to upgrade to the next available release.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Different tasks to perform</title>
- <para>
- Each different system in an organization is
performing one or more tasks that may be unique to the system or may be shared between a
group of systems, but with many different tasks being performed throughout the
organization's infrastructure, keeping track of what system performs which task,
keeping these systems up to date and configuring them to have the required packages
installed for each of the tasks they perform, tackling the problem becomes harder.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Different ways to perform a
task</title>
- <para>
- Within an organization that has multiple servers
performing the same task, keeping a similar state or perform a task in a similar manner is
challenging in that without configuration management, you are most likely to find three or
more ways to purge old files from <filename>/tmp/</filename> and
<filename>/var/tmp/</filename>, for example. The same differentiation may
apply to how webservers' VirtualHost's are configured, or how a NFS share is
mounted (mount options in particular).
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Different nodes</title>
- <para>
- This one goes to hardware-specific needs and
configuration. When each of the systems in an organization are not all of the same brand,
make and model, or each system has different harddisk layouts, or needs different
videocard drivers, you are basically keeping lists and making choices based on this list.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Different services</title>
- <para>
- Different services of course are configured
differently, as far as configuration file locations and syntax are concerned. However,
figuring out the best way to apply certain configuration to a system for each service is
less efficient without configuration management. You might adjust a script or two and/or
adjust the source repository from which you pull updates to each machine, but the changes
may turn out to only apply to that system that needed the exception to the rule instead of
focussing on a more general solution to the problem once, and apply that solution multiple
times, over and over again.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Interfaces to a system
resource</title>
- <para>
- This is probably the hardest one if you are not using
any configuration management framework. Given different operating systems, distributions
and/or distribution versions, in which case any combination of the three only makes the
problem harder to solve, you are most likely to encounter so many different ways to manage
a resource, that a simple script or routine cannot cover all of them. One example is
adding a user to the system, and making the user a group member of several groups. You may
find routines ranging from using <application>useradd</application> or
<application>adduser</application> depending on the distribution used, to
writing out ldifs from a template and using <application>ldapadd</application>
or <application>ldapmodify</application> depending on whether the user already
exists or not.
- </para>
- </formalpara>
- </listitem>
- </orderedlist>
- </para>
- </section>
-
- <section
id="PuppetWorkshop-IntroductionToConfigurationManagement-NotSoTechnicalAspects">
- <title>Not So Technical Aspects</title>
- <para>
- In addition to the problems you may encounter with or without
configuration management, there's a number of problems or challenges that are not so
technical, but you may want to see resolved by a configuration management utility;
- </para>
- <para>
- <orderedlist>
- <listitem>
- <formalpara>
- <title>Applying changes</title>
- <para>
- Applying changes to multiple machines at once may
become a problem depending on the size of the organization or the amount of control that
you have over systems, remotely. There was a time when changing the DNS servers for a set
of systems required one to log on to the console of each system and edit
<filename>/etc/resolv.conf</filename> manually. You can see the problem become
bigger if the organization does not have 20 systems, but 1200.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Keeping track of changes</title>
- <para>
- Another challenge is keeping track of the changes
applied to each system. Even with configuration management, errors can be made and systems
might behave unexpectedly, in which case you will want to know what changed on these
systems, and how to recover to an operational state. Keeping track of changes without a
configuration management framework however is a little harder, but with configuration
management, you have reports (changes applied to a system in a nice overview), and most
advisebly you have the configuration for Puppet stored in a Source Control Management
system, or SCM system, like CVS, SVN, Mercurial, or GIT.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Staging changes</title>
- <para>
- Staging changes is a huge must-have in case changes
are radical or might destroy a normal system's operation (even if temporary). For such
changes, you would want to test the changes first, and with Puppet, you get this in the
form of <emphasis>environments</emphasis>.
- </para>
- </formalpara>
- </listitem>
- </orderedlist>
- </para>
- </section>
-
- </chapter>
-
- <chapter id="PuppetWorkshop-IntroductionToPuppet">
- <title>Introduction To Puppet</title>
- <para>
- Puppet is a solution to the problems set forth in <xref
linkend="PuppetWorkshop-IntroductionToConfigurationManagement-ProblemsWithoutConfigurationManagement"
/>.
- </para>
-
- <section
id="PuppetWorkshop-IntroductionToPuppet-WhatDoesPuppetDo">
- <title>What Does Puppet Do?</title>
- <para>
- Puppet offers a high-level abstraction of system resources like you
would encounter on any given system, such as users, services and packages. Seeing as how
different operating systems and different distributions each have different interfaces,
so-called <emphasis>providers</emphasis> in puppet terms, to these system
resources, scripting a package to be installed, updated, removed or be of a certain
version includes a lot of <code>if-then-else</code> statements in a script
you'd write to manage that particular system resource, the package.
- </para>
- <para>
- On Debian, Ubuntu and derivative distributions for example, the
package provider may be <application>apt</application>,
<application>dpkg</application>, <application>smart</application>,
<application>alien</application>,
<application>PackageKit</application>, while on Fedora, Red Hat and it's
derivatives, the package provider may be <application>rpm</application>,
<application>yum</application>,
<application>PackageKit</application>,
<application>apt</application> or
<application>smart</application>.
- </para>
- <para>
- Another difference between distributions is how services can be
started, or configured to start up when the machine boots. A
<application>service</application> script may be available, or
<filename>/etc/init.d/</filename> may contain scripts to start and stop a
service. Also, some of these service providers may have <code>status</code>,
<code>reload</code> and <code>restart</code> command parameters,
whereas others may not have. Additionally, using
<application>chkconfig</application> to configure the runlevels the service
should be enabled or disabled in may not be available on all systems.
- </para>
- <para>
- By abstracting these system resources into
<emphasis>types</emphasis>, Puppet takes on the headaches for most operating
system and distribution specific interfaces to managing these system resources. It knows,
or figures out all by itself, what provider to use given a
<emphasis>type</emphasis>.
- </para>
- <formalpara>
- <title>Abstraction of system resources</title>
- <para>
- Abstraction of the system resources into so-called
<emphasis>types</emphasis> causes the administrator to only need to configure
a type, such as <emphasis>package</emphasis>,
<emphasis>user</emphasis>, <emphasis>cron</emphasis>, and so
forth. The configuration management utility itself will figure out what package manager
backend to use, whether it's apt, yum, rpm, dpkg, smart or PackageKit.
- </para>
- </formalpara>
- <para>
- Puppet example to ensure user
<emphasis>sysadmin</emphasis> exists on a system:
- <screen>user { "sysadmin":
- ensure => present
-}</screen>
- </para>
- <para>
- Puppet example to ensure the <emphasis>ypbind</emphasis>
package is installed and the most recent version, <emphasis>ypbind</emphasis>
is correctly configured, and the <emphasis>ypbind</emphasis> service is
running:
- <screen>package { "ypbind":
- ensure => latest
-}
-
-file { "/etc/yp.conf":
- source => "puppet://$server/files/yp.conf",
- notify => Service["ypbind"],
- require => Package["ypbind"]
-}
-
-service { "ypbind":
- enable => true,
- ensure => running,
- require => [
- File["/etc/yp.conf"],
- Package["ypbind"]
- ]
-}</screen>
- </para>
- <para>
- The above example is called a
<emphasis>manifest</emphasis>, built out of
<emphasis>types</emphasis> (package, file, service), which, once defined in a
manifest, are referred to as <emphasis>resources</emphasis>. See also <xref
linkend="PuppetWorkshop-Appendix-Terminology" />
- </para>
- </section>
-
- </chapter>
-
- <chapter id="PuppetWorkshop-PuppetTerminology">
- <title>Puppet Terminology</title>
- <para>
- Terminology used in this documentation. See also <xref
linkend="PuppetWorkshop-Appendix-Terminology" />
- <itemizedlist>
- <listitem>
- <formalpara>
- <title>class</title>
- <para>
- A class is a collection of resources applied to a node
with a single include statement. It groups together a comprehensible set of resources. A
class <emphasis>ypclient</emphasis> would manage the
<code>File["/etc/nsswitch.conf"]</code>,
<code>File["/etc/yp.conf"]</code>,
<code>Package["ypbind"]</code>, and
<code>Service["ypbind"]</code> resources.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>fileserver</title>
- <para>
- The fileserver is where the puppet pulls files from. It
is normally integrated with the puppetmaster, but it can be an entirely different server,
too.
- </para>
- </formalpara>
- <para>
- The fileserver serves files to puppets that request them, but
it also serves <emphasis>templates</emphasis>, which are parsed on the
fileserver (puppetmaster), and passed on to the client as a whole new file.
- </para>
- </listitem>
- <listitem>
- <formalpara>
- <title>manifest</title>
- <para>
- The collection of classes, modules and resources that the
<xref linkend="PuppetWorkshop-PuppetTerminology-puppetmaster" /> uses to
distribute the appropriate configuration to a <xref
linkend="PuppetWorkshop-PuppetTerminology-puppet" />.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>module</title>
- <para>
- A module is a placeholder for files, manifests, plugins
and templates. Creating a module has numerous advantages such as separate version control,
separate staging from development through testing to production, and so forth.
- </para>
- </formalpara>
- <para>
- <emphasis>See also</emphasis>: <xref
linkend="PuppetWorkshop-HowToUsePuppet-Modules" />, <xref
linkend="PuppetWorkshop-HowToUsePuppet-Plugins" />
- </para>
- </listitem>
- <listitem>
- <formalpara>
- <title>node</title>
- <para>
- The client, a node, is an operating system instance
running the puppet client application. This can be a regular operating system running
directly on top of actual hardware, a virtual guest as well as a virtual host.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara
id="PuppetWorkshop-PuppetTerminology-puppet">
- <title>puppet</title>
- <para>
- The client, a node, runs the
<application>puppetd</application> daemon or service, and is referred to as
the <emphasis>puppet</emphasis>
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara
id="PuppetWorkshop-PuppetTerminology-puppetmaster">
- <title>puppetmaster</title>
- <para>
- The puppetmaster is the node that runs the server-side
application to a puppet setup.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>resource</title>
- <para>
- A resource is an instantiated <xref
linkend="PuppetWorkshop-PuppetTerminology-type" />
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>system resource</title>
- <para>
-<!--
-FIXME:
-//-->
- A system resource is a resource available on the node
whether it is managed by puppet or not. Unlike what is otherwise understood by system
resources, the puppet definition of system resources does not so much refer to resources
like CPU or memory, but rather to whether or not a package is installed or what version of
said package, or the $osversion, and so on and so forth.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara
id="PuppetWorkshop-PuppetTerminology-type">
- <title>type</title>
- <para>
- definition
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
- </para>
- </chapter>
-
- <chapter id="PuppetWorkshop-HowPuppetWorks">
- <title>How Puppet Works</title>
- <para>
- This is an overview of how puppet works -in a working setup.
- </para>
- <para>
- <orderedlist>
- <listitem>
- <formalpara>
- <title>The puppet starts for the first
time</title>
- <para>
- It generates a certificate using the node's FQDN.
- </para>
- </formalpara>
- <note>
- <para>
- Although not required, it is strongly recommended to have
the client use a FQDN that is registered in DNS (forward as well as reverse).
- </para>
- </note>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet submits the certificate to the
puppetmaster</title>
- <para>
- The puppetmaster, also the Certificate Authority, or
<emphasis>puppetca</emphasis>, needs to sign the certificate before the client
can be considered authenticated.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet waits 300 seconds for a signed
certificate</title>
- <para>
- It this configurable timeout of 300
seconds<footnote><para>Specify the timeout with <code>--waitforcert
[seconds]</code></para></footnote> has passed, the puppet quits.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppetmaster signs the
certificate</title>
- <para>
- To do so, you can either configure the puppetmaster to
automatically sign certificates or sign manually. Automatically signing certificates is
generally a very bad idea. To manually sign a certificate, use:
- </para>
- </formalpara>
- <para>
- <screen># <userinput>puppetca --sign
<fqdn></userinput></screen>
- </para>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet receives the signed
certificate</title>
- <para>
- Immediately thereafter, the puppet starts a configuration
run.
- </para>
- </formalpara>
- <warning>
- <para>
- The time on both the puppetmaster and the puppet must be
within 5 minutes of eachother as the certificate generated and signed has a validity
period. If the difference in time of these two nodes is more then 5 minutes, you will get
a "Certificates not trusted" type of error.
- </para>
- </warning>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet generates all the
facts</title>
- <para>
- Most configurations rely on client information to make
decisions. When the Puppet client starts, it loads the Facter Ruby library, collects all
of the facts that it can, and passes those facts to the interpreter. When you use Puppet
over a network, these facts are passed over the network to the server and the server uses
them to compile the client's configuration.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppetmaster parses it's
manifests</title>
- <para>
- The puppetmaster parses through all it's manifests,
including the manifests not applicable to the puppet that is polling. It only sends out
the manifest applicable to the puppet polling, however.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet receives the manifests</title>
- <para>
- When the puppet receives the manifests, it may still
contain variables such as <code>$hostname</code>,
<code>$operatingsystem</code> and others, which the puppet fills out with the
appropriate values.
- </para>
- </formalpara>
-<!-- <warning>
- <para>
- All variables in the manifest sent to the client should
be based on facts rather then fiction.
- </para>
- </warning>-->
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet applies the manifest</title>
- <para>
- While the puppet applies the manifest, it pulls files
from the puppetmaster's <emphasis>fileserver</emphasis> after checking the
local checksum against the remote checksum. When running with debug output, this will show
as
- <screen>debug: Calling fileserver.list
-debug: //Node[node1.example.com]/File[/tmp/foo]/checksum: Initializing checksum hash
-debug: //Node[node1.example.com]/File[/tmp/foo]: Creating checksum
{md5}85e53dc9439253a1ec9ca87aeffd9b0b
-debug: Calling fileserver.describe</screen>
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>Files that are replaced are backed
up</title>
- <para>
- The puppet sends a copy of the files it replaces back to
the puppetmaster.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet reports to the
puppetmaster</title>
- <para>
- A detailed report of what the puppet has done with the
manifests is sent back to the puppetmaster.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>The puppet waits for 30 minutes</title>
- <para>
- The next run the puppet performs/polls for is after a
configurable timeperiod, which defaults to 30 minutes.
- </para>
- </formalpara>
- </listitem>
- </orderedlist>
- </para>
- <para>
- A puppet setup is comprised out of the following parts:
- </para>
- <formalpara>
- <title>The Puppetmaster</title>
- <para>
- The puppetmaster of course is the core element in a puppet setup. Not
only is it responsible for the handing over the manifest to the client, it also takes care
of serving the files needed by the manifest, as well as
- </para>
- </formalpara>
- </chapter>
-
- <chapter id="PuppetWorkshop-PuppetFeatures">
- <title>Puppet Features</title>
- <para>
- paragraph
- </para>
- </chapter>
-
- <chapter id="PuppetWorkshop-TroubleshootingPuppet">
- <title>Troubleshooting Puppet</title>
- <para>
- This section is about troubleshooting the puppetmaster and puppet
- </para>
- </chapter>
-
- <chapter id="PuppetWorkshop-SettingUpPuppet">
- <title>Setting Up Puppet</title>
- <para>
- In this section, we are going to set up a puppetmaster, and a puppet
client. The puppetmaster is going to run the <emphasis>mongrel</emphasis>
server-type, for setting up a puppetmaster for larger environments.
- </para>
-
- <section id="PuppetWorkshop-SettingUpPuppet-Installation">
- <title>Installation</title>
- <para>
- The default server type for the puppetmaster is called
<emphasis>webrick</emphasis>, a single-threaded webserver. The webserver
handles the puppets' requests for manifests, certificate exchanges, as well requests
for files and templates. Being single-threaded, the webrick webserver can only handle one
client at a time. While the puppets poll the puppetmaster with a default interval of 30
minutes, and configuration runs can take longer then 60 seconds, putting more then 25
clients in front of a puppetmaster with a webrick webserver is a very, very bad idea.
- </para>
- <para>
- There is a multi-threaded webserver in Ruby, called
<emphasis>mongrel</emphasis>. This is a simple, multi-threaded, but not very
feature-rich webserver. For one, it does not perform SSL. For scalability purposes though,
the mongrel server type is an absolute must, and can better be chosen as the webserver to
handle the puppets' requests, right from the beginning. This however requires a
frontend that performs the SSL part of the communications between the puppetmaster and the
puppets. We choose Apache's HTTPd for it's excellent performance, flexible
configuration, excellent configuration syntax, and because it can be set up as a reverse
proxy load balancer, allowing more then one puppetmaster behind the scenes if necessary.
- </para>
- <para>
- Install the required packages for the puppetmaster:
- </para>
- <formalpara>
- <title>Smaller organizations (< ~25
clients)</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- The puppetmaster.
- </para>
- <para>
- <screen># <userinput>yum install
puppet-server</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) A database server (one of MySQL, SQLite3
or Postgresql), and the appropriate Ruby library. During this workshop, we use MySQL.
- </para>
- <para>
- <screen># <userinput>yum install
mysql-server ruby-mysql</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) The Ruby RRDtool library.
- </para>
- <para>
- <screen># <userinput>yum install
ruby-RRDtool</userinput></screen>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- <formalpara>
- <title>Larger organizations (> ~25
clients)</title>
- <para>
- <itemizedlist>
- <listitem>
- <para>
- A webserver capable of performing as a frontend SSL
reverse proxy load balancer, such as the Apache HTTPd webserver.
- </para>
- <para>
- <screen># <userinput>yum install
httpd</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- The Ruby mongrel library, for better scalability.
- </para>
- <para>
- <screen># <userinput>yum install
rubygem-mongrel</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- The puppetmaster.
- </para>
- <para>
- <screen># <userinput>yum install
puppet-server</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) A database server (one of MySQL, SQLite3
or Postgresql), and the appropriate Ruby library. During this workshop, we use MySQL.
- </para>
- <para>
- <screen># <userinput>yum install
mysql-server ruby-mysql</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) The Ruby RRDtool library.
- </para>
- <para>
- <screen># <userinput>yum install
ruby-RRDtool</userinput></screen>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- </section>
-
- <section id="PuppetWorkshop-SettingUpPuppet-Configuration">
- <title>Configuration</title>
- <para>
- In this section, we walk you through the initial configuration of a
puppetmaster with the mongrel server type.
- </para>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster">
- <title>Configuring the Puppetmaster</title>
- <para>
- The configuration file for puppet and puppetmaster is
<filename>/etc/puppet/puppet.conf</filename>. It is a file in INI-like format
with sections, keys and values. There's 4 sections of interest,
- <itemizedlist>
- <listitem>
- <formalpara>
- <title>[main]</title>
- <para>
- Primarily file locations, directory settings and
other globals applicable to both the puppet as well as the puppetmaster.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>[puppetca]</title>
- <para>
- Puppet Certificate Authority (puppetca)
settings.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>[puppetd]</title>
- <para>
- Puppet client daemon settings.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
- <title>[puppetmasterd]</title>
- <para>
- Puppetmaster daemon settings.
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
- </para>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-Settings">
- <title>Relevant Settings</title>
- <formalpara>
- <title>Relevant Settings For The First
Run</title>
- <para>
- For the first run of the puppetmaster, the following
settings require configuration:
- <itemizedlist>
- <listitem>
- <formalpara>
- <title>[main]</title>
- <para>
- The locations where puppet seeks it's
configuration and puts it's transitional data. The most important setting is
<literal>vardir</literal>, which should be set to
<filename>/var/lib/puppet/</filename>. Further settings include:
- <itemizedlist>
- <listitem>
- <para>
- <code>logdir =
/var/log/puppet/</code>
- </para>
- </listitem>
- <listitem>
- <para>
- <code>rundir =
/var/run/puppet/</code>
- </para>
- </listitem>
- <listitem>
- <para>
- <code>ssldir =
$vardir/ssl/</code>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- <note>
- <para>
- If you used a package to install puppet,
the defaults should work, but may not comply with your backup strategy. It is the upstream
puppet package that cannot cater to each and every distribution or operating system it is
available for, and therefore has a set of defaults that will work, but will need to be
changed on most platforms.
- </para>
- </note>
- </listitem>
- <listitem>
- <formalpara>
- <title>[puppetmasterd]</title>
- <para>
- <itemizedlist>
- <listitem>
- <formalpara>
-
<title>certname</title>
- <para>
- The puppetmaster
certificate's Common Name (CN), for which by default the system's hostname is
used. The hostname of the system is a pretty reasonable value.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
-
<title>certdnsnames</title>
- <para>
- A colon
(<literal>:</literal>) seperated list of DNS names resolving to the
puppetmaster. Include here:
- <orderedlist>
- <listitem>
- <para>
- The short
hostname of the system, using the output of: <screen># <userinput>hostname
-s</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
-
<literal>puppet</literal>
- </para>
- </listitem>
- <listitem>
- <para>
-
<literal>puppet</literal>, followed by the DNS domain name of the system,
using the output of <screen>#
<userinput>dnsdomainname</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Any other
hostname or fully qualified domain name you want to use for the puppetmaster.
- </para>
- </listitem>
- </orderedlist>
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <para>
- Another setting to check is whether or not
this puppetmaster is going to be the Certificate Authority <screen>[puppetmasterd]
- ca = <replaceable>true</replaceable></screen>
- The default is often set to
<code>true</code>.
- </para>
- </listitem>
- <listitem>
- <para>
- Whether or not to use autosigning of
certificates, using
- <screen>[puppetca]
- autosign = <replaceable>false</replaceable></screen>
- The default is to
<emphasis>not</emphasis> use autosigning. Only applicable if
<code>puppetca</code> is set to <code>true</code>.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- <formalpara>
- <title>Other Relevant Settings</title>
- <para>
- The following settings require review before the
puppetmaster is going in production.
- <itemizedlist>
- <listitem>
- <para>
- A list of environments using a comma
seperated list, in
- <screen>[puppetmasterd]
- environments =
<replaceable>development,testing,production</replaceable></screen>
- </para>
- <para>
- <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-HowToUsePuppet-Environments" />
- </para>
- </listitem>
- <listitem>
- <para>
- Whether or not to use reporting, and what
reporting to use (tagmail, store, rrdgraph). To configure the types or reports that should
be used by the puppetmaster, use a comma separated list without spaces, in:
- <screen>[puppetmasterd]
- reports =
<replaceable>tagmail,store,rrdgraph</replaceable></screen>
- </para>
- <para>
- <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
- </para>
- </listitem>
- <listitem>
- <para>
- The location of tagmail.conf, in order to map
tags you give to resources to email addresses the reports should be sent to;
<screen>[main]
- tagmap =
<replaceable>/path/to/tagmail.conf</replaceable></screen>
- for reporting changes applied to puppets, via
email.
- </para>
- <para>
- <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </formalpara>
- </section>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-Sitepp">
- <title>Minimal site.pp</title>
- <para>
- Create a minimal <code>site.pp</code> in
<filename>/etc/puppet/manifests/site.pp</filename> for the puppetmaster to
parse on it's initial startup. Below is an example.
- </para>
- <screen>#
-# site.pp for any domain
-#
-
-$server = "<replaceable>master.puppetmanaged.org</replaceable>"
-
-# The default node
-
-node default {
-}</screen>
- </section>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-ServiceConfiguration">
- <title>Service Configuration</title>
- <para>
- On Red Hat based systems, use
<filename>/etc/sysconfig/puppetmaster</filename> to configure the service. It
has three variables set, of which <code>PUPPETMASTER_MANIFEST</code> needs to
point to the default manifest to use.
- </para>
- </section>
-
- </section>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-SSLFrontendReverseProxyLoadBalancer">
- <title>Configuring the SSL Frontend Reverse Proxy Load
Balancer</title>
- <para>
- A webserver needs to be configured to handle the SSL XML-RPC
requests from the puppets, because the mongrel server type is not capable of performing
SSL.
- </para>
- <para>
- The webserver is going to listen on port 8140, the default port
for the puppetmaster to listen for clients. It is going to forward traffic (after being
decrypted) to the puppetmaster on 127.0.0.1:8141.
- </para>
- </section>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer">
- <title>Configuring the Database Server</title>
- <para>
- para
- </para>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer-SQLite3">
- <title>SQLite3</title>
- <para>
- para
- </para>
- </section>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer-MySQL">
- <title>MySQL</title>
- <para>
- para
- </para>
- </section>
-
- <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-DatabaseServer-Postgresql">
- <title>PostgreSQL</title>
- <para>
- para
- </para>
- </section>
-
- </section>
-
- </section>
-
- </chapter>
-
- <chapter id="PuppetWorkshop-HowToUsePuppet">
- <title>How To Use Puppet</title>
- <para>
- This is a first section
- </para>
-
- <section id="PuppetWorkshop-HowToUsePuppet-Modules">
- <title>Using Modules</title>
- <para>
- About using modules
- </para>
- </section>
-
- <section id="PuppetWorkshop-HowToUsePuppet-Plugins">
- <title>Using Plugins</title>
- <para>
- About the use of plugins
- </para>
- </section>
-
- <section id="PuppetWorkshop-HowToUsePuppet-Environments">
- <title>Environments</title>
- <para>
- paragraph
- </para>
- </section>
-
- </chapter>
-
- <chapter id="PuppetWorkshop-OtherThingsToDoWithPuppet">
- <title>Other Things To Do With Puppet</title>
- <para>
- This is a first section
- </para>
-
- <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting">
- <title>Tweaking Reporting</title>
- <para>
- paragraph
- </para>
- </section>
-
- <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-WritingCustomTypes">
- <title>Writing Custom Types</title>
- <para>
- paragraph
- </para>
- </section>
-
- <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-WritingCustomFacts">
- <title>Writing Custom Facts</title>
- <para>
- paragraph
- </para>
- </section>
-
- <section
id="PuppetWorkshop-OtherThingsToDoWithPuppet-WritingCustomFunctions">
- <title>Writing Custom Functions</title>
- <para>
- paragraph
- </para>
- </section>
-
- </chapter>
-
- <chapter id="PuppetWorkshop-BestPractices">
- <title>Best Practices</title>
- <para>
- This is a first section
- </para>
- </chapter>
-
- </part>
-
- <xi:include href="Course-Appendix.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-</book>
-
-<!-- Local variables:
- mode: xml
- fill-column: 72
- End:
--->
-
-<!--
- vim: softtabstop=4:shiftwidth=4:expandtab
--->
diff --git a/en-US/Books/PuppetWorkshop/Revision_History.xml
b/en-US/Books/PuppetWorkshop/Revision_History.xml
deleted file mode 100644
index fda893e..0000000
--- a/en-US/Books/PuppetWorkshop/Revision_History.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
-
-<appendix>
- <title>Revision History</title>
- <para>
- <revhistory>
- <revision>
- <revnumber>1.0</revnumber>
- <date></date>
- <author>
- <firstname></firstname>
- <surname></surname>
- <email></email>
- </author>
- <revdescription>
- <simplelist>
- <member></member>
- </simplelist>
- </revdescription>
- </revision>
- </revhistory>
- </para>
-</appendix>
-
diff --git a/en-US/Books/Template/Course-Book_Info.xml
b/en-US/Books/Template/Course-Book_Info.xml
index bbbead0..1248e27 100644
--- a/en-US/Books/Template/Course-Book_Info.xml
+++ b/en-US/Books/Template/Course-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Template/Course-Preface.xml
b/en-US/Books/Template/Course-Preface.xml
index e0a39ea..1db3c7c 100644
--- a/en-US/Books/Template/Course-Preface.xml
+++ b/en-US/Books/Template/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Template/Manual-Book_Info.xml
b/en-US/Books/Template/Manual-Book_Info.xml
index 677a6fe..45381e8 100644
--- a/en-US/Books/Template/Manual-Book_Info.xml
+++ b/en-US/Books/Template/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Template/Manual-Preface.xml
b/en-US/Books/Template/Manual-Preface.xml
index f0f1be3..5032da5 100644
--- a/en-US/Books/Template/Manual-Preface.xml
+++ b/en-US/Books/Template/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Courses.xml b/en-US/Courses.xml
index 39034a0..00287a7 100644
--- a/en-US/Courses.xml
+++ b/en-US/Courses.xml
@@ -95,14 +95,6 @@
//-->
- <listitem>
- <para>
- <xref linkend="PuppetWorkshop" />
- </para>
- <para>
- A workshop on implementing puppet for configuration
management, including best practices.
- </para>
- </listitem>
</itemizedlist>
</para>
</formalpara>
@@ -190,6 +182,4 @@
<xi:include href="Books/Linux/RHCETraining/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Books/Linux/RHCETraining/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Books/PuppetWorkshop/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
-
</set>
diff --git a/en-US/Template/Course-Book_Info.xml b/en-US/Template/Course-Book_Info.xml
index 8638489..1248e27 100644
--- a/en-US/Template/Course-Book_Info.xml
+++ b/en-US/Template/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='PNG'
fileref="../Common_Content/images/title_logo.png" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Template/Course-Preface.xml b/en-US/Template/Course-Preface.xml
index f2196f6..9518e23 100644
--- a/en-US/Template/Course-Preface.xml
+++ b/en-US/Template/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Template/Manual-Book_Info.xml b/en-US/Template/Manual-Book_Info.xml
index 927d102..a2501eb 100644
--- a/en-US/Template/Manual-Book_Info.xml
+++ b/en-US/Template/Manual-Book_Info.xml
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Template/Manual-Preface.xml b/en-US/Template/Manual-Preface.xml
index e5e1942..ec266f2 100644
--- a/en-US/Template/Manual-Preface.xml
+++ b/en-US/Template/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
commit 02ccaf559e2c1d2477cc644c1c0a6ac520753fe3
Author: Jeroen van Meeuwen (Fedora Unity) <kanarip(a)fedoraunity.org>
Date: Tue Oct 7 17:17:22 2008 +0200
Fix svg vs. png, update puppet workshop
diff --git a/en-US/Book_Info.xml b/en-US/Book_Info.xml
index 257bd6b..56cd609 100644
--- a/en-US/Book_Info.xml
+++ b/en-US/Book_Info.xml
@@ -13,7 +13,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
diff --git a/en-US/Books/ClassRoom/Manual-Book_Info.xml
b/en-US/Books/ClassRoom/Manual-Book_Info.xml
index f13db49..82dadc2 100644
--- a/en-US/Books/ClassRoom/Manual-Book_Info.xml
+++ b/en-US/Books/ClassRoom/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="../../Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/ClassRoom/Manual-Preface.xml
b/en-US/Books/ClassRoom/Manual-Preface.xml
index dc37059..dc1e707 100644
--- a/en-US/Books/ClassRoom/Manual-Preface.xml
+++ b/en-US/Books/ClassRoom/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Advanced/Course-Book_Info.xml
b/en-US/Books/Linux/Advanced/Course-Book_Info.xml
index e51aed4..04ad0b2 100644
--- a/en-US/Books/Linux/Advanced/Course-Book_Info.xml
+++ b/en-US/Books/Linux/Advanced/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Advanced/Course-Preface.xml
b/en-US/Books/Linux/Advanced/Course-Preface.xml
index 9518e23..f2196f6 100644
--- a/en-US/Books/Linux/Advanced/Course-Preface.xml
+++ b/en-US/Books/Linux/Advanced/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
b/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
index bbb53b6..11d335f 100644
--- a/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/Advanced/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Advanced/Manual-Preface.xml
b/en-US/Books/Linux/Advanced/Manual-Preface.xml
index ec266f2..e5e1942 100644
--- a/en-US/Books/Linux/Advanced/Manual-Preface.xml
+++ b/en-US/Books/Linux/Advanced/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Basic/Course-Book_Info.xml
b/en-US/Books/Linux/Basic/Course-Book_Info.xml
index 50ed197..4a31ee0 100644
--- a/en-US/Books/Linux/Basic/Course-Book_Info.xml
+++ b/en-US/Books/Linux/Basic/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Basic/Course-Preface.xml
b/en-US/Books/Linux/Basic/Course-Preface.xml
index 9c6f550..13b52fc 100644
--- a/en-US/Books/Linux/Basic/Course-Preface.xml
+++ b/en-US/Books/Linux/Basic/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Basic/Manual-Book_Info.xml
b/en-US/Books/Linux/Basic/Manual-Book_Info.xml
index 2bbe714..edbf500 100644
--- a/en-US/Books/Linux/Basic/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/Basic/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Basic/Manual-Preface.xml
b/en-US/Books/Linux/Basic/Manual-Preface.xml
index 6cf872e..272a4c0 100644
--- a/en-US/Books/Linux/Basic/Manual-Preface.xml
+++ b/en-US/Books/Linux/Basic/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
b/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
index ed7bc0d..96a77d0 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
b/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
index 58f44f6..1918605 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
b/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
index 80fa3e4..677a6fe 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
b/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
index 5032da5..f0f1be3 100644
--- a/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
+++ b/en-US/Books/Linux/ConfigurationManagement/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
b/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
index df4c47f..a3ff1e6 100644
--- a/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
+++ b/en-US/Books/Linux/RHCETraining/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/RHCETraining/Course-Preface.xml
b/en-US/Books/Linux/RHCETraining/Course-Preface.xml
index 0008a64..d341b12 100644
--- a/en-US/Books/Linux/RHCETraining/Course-Preface.xml
+++ b/en-US/Books/Linux/RHCETraining/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
b/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
index 0617a41..170369a 100644
--- a/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/RHCETraining/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
b/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
index 6fe80bf..e3ea344 100644
--- a/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
+++ b/en-US/Books/Linux/RHCETraining/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Senior/Course-Appendix.xml
b/en-US/Books/Linux/Senior/Course-Appendix.xml
index a60cb29..0d58f4c 100644
--- a/en-US/Books/Linux/Senior/Course-Appendix.xml
+++ b/en-US/Books/Linux/Senior/Course-Appendix.xml
@@ -103,6 +103,7 @@
<seg></seg>
<seg></seg>
<seg>Your Total Score</seg>
+ <seg></seg>
</seglistitem>
</segmentedlist>
</para>
diff --git a/en-US/Books/Linux/Senior/Course-Book_Info.xml
b/en-US/Books/Linux/Senior/Course-Book_Info.xml
index 52de931..bb0eb4d 100644
--- a/en-US/Books/Linux/Senior/Course-Book_Info.xml
+++ b/en-US/Books/Linux/Senior/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Senior/Course-Preface.xml
b/en-US/Books/Linux/Senior/Course-Preface.xml
index 57db973..1d9aff8 100644
--- a/en-US/Books/Linux/Senior/Course-Preface.xml
+++ b/en-US/Books/Linux/Senior/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Linux/Senior/Manual-Book_Info.xml
b/en-US/Books/Linux/Senior/Manual-Book_Info.xml
index 029f93c..ea895cc 100644
--- a/en-US/Books/Linux/Senior/Manual-Book_Info.xml
+++ b/en-US/Books/Linux/Senior/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Linux/Senior/Manual-Preface.xml
b/en-US/Books/Linux/Senior/Manual-Preface.xml
index 83bd9d6..5072c4a 100644
--- a/en-US/Books/Linux/Senior/Manual-Preface.xml
+++ b/en-US/Books/Linux/Senior/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
b/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
index 1fc5c97..d7a78f8 100644
--- a/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
+++ b/en-US/Books/PuppetWorkshop/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="../Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/PuppetWorkshop/Course-Preface.xml
b/en-US/Books/PuppetWorkshop/Course-Preface.xml
index d021421..d8e4a06 100644
--- a/en-US/Books/PuppetWorkshop/Course-Preface.xml
+++ b/en-US/Books/PuppetWorkshop/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/PuppetWorkshop/Course.xml
b/en-US/Books/PuppetWorkshop/Course.xml
index 5a4dfda..eb4dc14 100644
--- a/en-US/Books/PuppetWorkshop/Course.xml
+++ b/en-US/Books/PuppetWorkshop/Course.xml
@@ -642,6 +642,12 @@ debug: Calling fileserver.describe</screen>
<section id="PuppetWorkshop-SettingUpPuppet-Installation">
<title>Installation</title>
<para>
+ The default server type for the puppetmaster is called
<emphasis>webrick</emphasis>, a single-threaded webserver. The webserver
handles the puppets' requests for manifests, certificate exchanges, as well requests
for files and templates. Being single-threaded, the webrick webserver can only handle one
client at a time. While the puppets poll the puppetmaster with a default interval of 30
minutes, and configuration runs can take longer then 60 seconds, putting more then 25
clients in front of a puppetmaster with a webrick webserver is a very, very bad idea.
+ </para>
+ <para>
+ There is a multi-threaded webserver in Ruby, called
<emphasis>mongrel</emphasis>. This is a simple, multi-threaded, but not very
feature-rich webserver. For one, it does not perform SSL. For scalability purposes though,
the mongrel server type is an absolute must, and can better be chosen as the webserver to
handle the puppets' requests, right from the beginning. This however requires a
frontend that performs the SSL part of the communications between the puppetmaster and the
puppets. We choose Apache's HTTPd for it's excellent performance, flexible
configuration, excellent configuration syntax, and because it can be set up as a reverse
proxy load balancer, allowing more then one puppetmaster behind the scenes if necessary.
+ </para>
+ <para>
Install the required packages for the puppetmaster:
</para>
<formalpara>
@@ -689,7 +695,7 @@ debug: Calling fileserver.describe</screen>
</listitem>
<listitem>
<para>
- The Ruby mongrel library
+ The Ruby mongrel library, for better scalability.
</para>
<para>
<screen># <userinput>yum install
rubygem-mongrel</userinput></screen>
@@ -727,53 +733,19 @@ debug: Calling fileserver.describe</screen>
<section id="PuppetWorkshop-SettingUpPuppet-Configuration">
<title>Configuration</title>
<para>
- para
+ In this section, we walk you through the initial configuration of a
puppetmaster with the mongrel server type.
</para>
<section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster">
<title>Configuring the Puppetmaster</title>
<para>
- <itemizedlist>
- <listitem>
- <para>
- Configure in /etc/puppet/puppet.conf section
[puppetmasterd] certname and certdnsaliases
- </para>
- </listitem>
- <listitem>
- <para>
- Configure a minimal manifest (site.pp)
- </para>
- </listitem>
- <listitem>
- <para>
- Start the puppetmaster once (generate certificates)
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) configure reporting
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) configure storeconfigs
- </para>
- </listitem>
- <listitem>
- <para>
- (optional) configure graphing
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
The configuration file for puppet and puppetmaster is
<filename>/etc/puppet/puppet.conf</filename>. It is a file in INI-like format
with sections, keys and values. There's 4 sections of interest,
<itemizedlist>
<listitem>
<formalpara>
<title>[main]</title>
<para>
- para
+ Primarily file locations, directory settings and
other globals applicable to both the puppet as well as the puppetmaster.
</para>
</formalpara>
</listitem>
@@ -781,7 +753,7 @@ debug: Calling fileserver.describe</screen>
<formalpara>
<title>[puppetca]</title>
<para>
- para
+ Puppet Certificate Authority (puppetca)
settings.
</para>
</formalpara>
</listitem>
@@ -789,7 +761,7 @@ debug: Calling fileserver.describe</screen>
<formalpara>
<title>[puppetd]</title>
<para>
- para
+ Puppet client daemon settings.
</para>
</formalpara>
</listitem>
@@ -797,155 +769,188 @@ debug: Calling fileserver.describe</screen>
<formalpara>
<title>[puppetmasterd]</title>
<para>
- para
+ Puppetmaster daemon settings.
</para>
</formalpara>
</listitem>
</itemizedlist>
</para>
- <formalpara>
- <title>First run relevant settings</title>
- <para>
- For the first run of the puppetmaster, we need to configure
the following:
- <itemizedlist>
- <listitem>
- <formalpara>
- <title>[main]</title>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-Settings">
+ <title>Relevant Settings</title>
+ <formalpara>
+ <title>Relevant Settings For The First
Run</title>
+ <para>
+ For the first run of the puppetmaster, the following
settings require configuration:
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+ <title>[main]</title>
+ <para>
+ The locations where puppet seeks it's
configuration and puts it's transitional data. The most important setting is
<literal>vardir</literal>, which should be set to
<filename>/var/lib/puppet/</filename>. Further settings include:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <code>logdir =
/var/log/puppet/</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>rundir =
/var/run/puppet/</code>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <code>ssldir =
$vardir/ssl/</code>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ <note>
+ <para>
+ If you used a package to install puppet,
the defaults should work, but may not comply with your backup strategy. It is the upstream
puppet package that cannot cater to each and every distribution or operating system it is
available for, and therefore has a set of defaults that will work, but will need to be
changed on most platforms.
+ </para>
+ </note>
+ </listitem>
+ <listitem>
+ <formalpara>
+ <title>[puppetmasterd]</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <formalpara>
+
<title>certname</title>
+ <para>
+ The puppetmaster
certificate's Common Name (CN), for which by default the system's hostname is
used. The hostname of the system is a pretty reasonable value.
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <formalpara>
+
<title>certdnsnames</title>
+ <para>
+ A colon
(<literal>:</literal>) seperated list of DNS names resolving to the
puppetmaster. Include here:
+ <orderedlist>
+ <listitem>
+ <para>
+ The short
hostname of the system, using the output of: <screen># <userinput>hostname
-s</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+
<literal>puppet</literal>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+
<literal>puppet</literal>, followed by the DNS domain name of the system,
using the output of <screen>#
<userinput>dnsdomainname</userinput></screen>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Any other
hostname or fully qualified domain name you want to use for the puppetmaster.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ </formalpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ </listitem>
+ <listitem>
+ <para>
+ Another setting to check is whether or not
this puppetmaster is going to be the Certificate Authority <screen>[puppetmasterd]
+ ca = <replaceable>true</replaceable></screen>
+ The default is often set to
<code>true</code>.
+ </para>
+ </listitem>
+ <listitem>
<para>
- The locations where puppet seeks it's
configuration and puts it's transitional data. The most important setting is
<literal>vardir</literal>, which should be set to
<filename>/var/lib/puppet/</filename>. Further settings include:
- <itemizedlist>
- <listitem>
- <para>
- <code>logdir =
/var/log/puppet/</code>
- </para>
- </listitem>
- <listitem>
- <para>
- <code>rundir =
/var/run/puppet/</code>
- </para>
- </listitem>
- <listitem>
- <para>
- <code>ssldir =
$vardir/ssl/</code>
- </para>
- </listitem>
- </itemizedlist>
+ Whether or not to use autosigning of
certificates, using
+ <screen>[puppetca]
+ autosign = <replaceable>false</replaceable></screen>
+ The default is to
<emphasis>not</emphasis> use autosigning. Only applicable if
<code>puppetca</code> is set to <code>true</code>.
</para>
- </formalpara>
- <note>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ <formalpara>
+ <title>Other Relevant Settings</title>
+ <para>
+ The following settings require review before the
puppetmaster is going in production.
+ <itemizedlist>
+ <listitem>
<para>
- If you used a package to install puppet, the
defaults should work, but may not comply with your backup strategy. It is the upstream
puppet package that cannot cater to each and every distribution or operating system it is
available for, and therefore has a set of defaults that will work, but will need to be
changed on most platforms.
+ A list of environments using a comma
seperated list, in
+ <screen>[puppetmasterd]
+ environments =
<replaceable>development,testing,production</replaceable></screen>
</para>
- </note>
- </listitem>
- <listitem>
- <formalpara>
- <title>[puppetmasterd]</title>
<para>
- <itemizedlist>
- <listitem>
- <formalpara>
-
<title>certname</title>
- <para>
- The puppetmaster
certificate's Common Name (CN), for which by default the system's hostname is
used. The hostname of the system is a pretty reasonable value.
- </para>
- </formalpara>
- </listitem>
- <listitem>
- <formalpara>
-
<title>certdnsnames</title>
- <para>
- A colon
(<literal>:</literal>) seperated list of DNS names resolving to the
puppetmaster. Include here:
- <orderedlist>
- <listitem>
- <para>
- The short
hostname of the system, using the output of: <screen># <userinput>hostname
-s</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
-
<literal>puppet</literal>
- </para>
- </listitem>
- <listitem>
- <para>
-
<literal>puppet</literal>, followed by the DNS domain name of the system,
using the output of <screen>#
<userinput>dnsdomainname</userinput></screen>
- </para>
- </listitem>
- <listitem>
- <para>
- Any other
hostname or fully qualified domain name you want to use for the puppetmaster.
- </para>
- </listitem>
- </orderedlist>
- </para>
- </formalpara>
- </listitem>
- </itemizedlist>
+ <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-HowToUsePuppet-Environments" />
</para>
- </formalpara>
- </listitem>
- <listitem>
- <para>
- Another setting to check is whether or not this
puppetmaster is going to be the Certificate Authority <screen>[puppetmasterd]
- ca = <replaceable>true</replaceable></screen>
- The default is often set to
<code>true</code>.
- </para>
- </listitem>
- <listitem>
- <para>
- Whether or not to use autosigning of
certificates, using
- <screen>[puppetca]
- autosign = <replaceable>false</replaceable></screen>
- The default is to
<emphasis>not</emphasis> use autosigning. Only applicable if
<code>puppetca</code> is set to <code>true</code>.
- </para>
- </listitem>
- </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>
+ Whether or not to use reporting, and what
reporting to use (tagmail, store, rrdgraph). To configure the types or reports that should
be used by the puppetmaster, use a comma separated list without spaces, in:
+ <screen>[puppetmasterd]
+ reports =
<replaceable>tagmail,store,rrdgraph</replaceable></screen>
+ </para>
+ <para>
+ <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The location of tagmail.conf, in order to map
tags you give to resources to email addresses the reports should be sent to;
<screen>[main]
+ tagmap =
<replaceable>/path/to/tagmail.conf</replaceable></screen>
+ for reporting changes applied to puppets, via
email.
+ </para>
+ <para>
+ <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </formalpara>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-Sitepp">
+ <title>Minimal site.pp</title>
+ <para>
+ Create a minimal <code>site.pp</code> in
<filename>/etc/puppet/manifests/site.pp</filename> for the puppetmaster to
parse on it's initial startup. Below is an example.
</para>
- </formalpara>
- <formalpara>
- <title>Other relevant settings</title>
+ <screen>#
+# site.pp for any domain
+#
+
+$server = "<replaceable>master.puppetmanaged.org</replaceable>"
+
+# The default node
+
+node default {
+}</screen>
+ </section>
+
+ <section
id="PuppetWorkshop-SettingUpPuppet-Configuration-Puppetmaster-ServiceConfiguration">
+ <title>Service Configuration</title>
<para>
- <itemizedlist>
- <listitem>
- <para>
- A list of environments using a comma seperated
list, in
- <screen>[puppetmasterd]
- environments =
<replaceable>development,testing,production</replaceable></screen>
- </para>
- <para>
- <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-HowToUsePuppet-Environments" />
- </para>
- </listitem>
- <listitem>
- <para>
- Whether or not to use reporting, and what
reporting to use (tagmail, store, rrdgraph). To configure the types or reports that should
be used by the puppetmaster, use a comma separated list without spaces, in:
- <screen>[puppetmasterd]
- reports =
<replaceable>tagmail,store,rrdgraph</replaceable></screen>
- </para>
- <para>
- <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
- </para>
- </listitem>
- <listitem>
- <para>
- The location of tagmail.conf, in order to map
tags you give to resources to email addresses the reports should be sent to;
<screen>[main]
- tagmap = <replaceable>/path/to/tagmail.conf</replaceable></screen>
- for reporting changes applied to puppets, via
email.
- </para>
- <para>
- <emphasis>See also</emphasis>:
<xref linkend="PuppetWorkshop-OtherThingsToDoWithPuppet-TweakingReporting"
/>
- </para>
- </listitem>
- </itemizedlist>
+ On Red Hat based systems, use
<filename>/etc/sysconfig/puppetmaster</filename> to configure the service. It
has three variables set, of which <code>PUPPETMASTER_MANIFEST</code> needs to
point to the default manifest to use.
</para>
- </formalpara>
+ </section>
+
</section>
<section
id="PuppetWorkshop-SettingUpPuppet-Configuration-SSLFrontendReverseProxyLoadBalancer">
<title>Configuring the SSL Frontend Reverse Proxy Load
Balancer</title>
<para>
- para
+ A webserver needs to be configured to handle the SSL XML-RPC
requests from the puppets, because the mongrel server type is not capable of performing
SSL.
+ </para>
+ <para>
+ The webserver is going to listen on port 8140, the default port
for the puppetmaster to listen for clients. It is going to forward traffic (after being
decrypted) to the puppetmaster on 127.0.0.1:8141.
</para>
</section>
diff --git a/en-US/Books/Template/Course-Book_Info.xml
b/en-US/Books/Template/Course-Book_Info.xml
index c70921a..bbbead0 100644
--- a/en-US/Books/Template/Course-Book_Info.xml
+++ b/en-US/Books/Template/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Template/Course-Preface.xml
b/en-US/Books/Template/Course-Preface.xml
index 1db3c7c..e0a39ea 100644
--- a/en-US/Books/Template/Course-Preface.xml
+++ b/en-US/Books/Template/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Books/Template/Manual-Book_Info.xml
b/en-US/Books/Template/Manual-Book_Info.xml
index 80fa3e4..677a6fe 100644
--- a/en-US/Books/Template/Manual-Book_Info.xml
+++ b/en-US/Books/Template/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Books/Template/Manual-Preface.xml
b/en-US/Books/Template/Manual-Preface.xml
index 5032da5..f0f1be3 100644
--- a/en-US/Books/Template/Manual-Preface.xml
+++ b/en-US/Books/Template/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Courses.xml b/en-US/Courses.xml
index 5174ea6..39034a0 100644
--- a/en-US/Courses.xml
+++ b/en-US/Courses.xml
@@ -111,7 +111,7 @@
<!-- Here's where you add your include statement to your book on the shelf
-->
- <book>
+ <book id="CoursesGeneral-Book">
<title/>
<article id="CoursesGeneral">
<title>General Information about Courses</title>
@@ -174,41 +174,22 @@
</section>
</article>
-
</book>
- <set>
- <title>Class Room Manual</title>
- <xi:include href="Books/ClassRoom/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </set>
-
- <set>
- <title>Linux Basic Course</title>
- <xi:include href="Books/Linux/Basic/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Books/Linux/Basic/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </set>
-
- <set>
- <title>Linux Advanced Course</title>
- <xi:include href="Books/Linux/Advanced/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Books/Linux/Advanced/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </set>
-
- <set>
- <title>Linux Senior Course Track</title>
- <xi:include href="Books/Linux/Senior/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Books/Linux/Senior/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </set>
-
- <set>
- <title>RHCE Training, Course Track</title>
- <xi:include href="Books/Linux/RHCETraining/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="Books/Linux/RHCETraining/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </set>
-
- <set>
- <title>Puppet Workshop</title>
- <xi:include href="Books/PuppetWorkshop/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- </set>
+ <xi:include href="Books/ClassRoom/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="Books/Linux/Basic/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Books/Linux/Basic/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="Books/Linux/Advanced/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Books/Linux/Advanced/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="Books/Linux/Senior/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Books/Linux/Senior/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="Books/Linux/RHCETraining/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Books/Linux/RHCETraining/Manual.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="Books/PuppetWorkshop/Course.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</set>
diff --git a/en-US/Template/Course-Book_Info.xml b/en-US/Template/Course-Book_Info.xml
index d7beac6..8638489 100644
--- a/en-US/Template/Course-Book_Info.xml
+++ b/en-US/Template/Course-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="../../../Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="../Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Template/Course-Preface.xml b/en-US/Template/Course-Preface.xml
index 9518e23..f2196f6 100644
--- a/en-US/Template/Course-Preface.xml
+++ b/en-US/Template/Course-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>
diff --git a/en-US/Template/Manual-Book_Info.xml b/en-US/Template/Manual-Book_Info.xml
index 64021b2..927d102 100644
--- a/en-US/Template/Manual-Book_Info.xml
+++ b/en-US/Template/Manual-Book_Info.xml
@@ -11,7 +11,7 @@
<corpauthor>
<inlinemediaobject>
<imageobject>
- <imagedata format='SVG'
fileref="../../../Common_Content/images/title_logo.svg" />
+ <imagedata format='PNG'
fileref="../Common_Content/images/title_logo.png" />
</imageobject>
</inlinemediaobject>
</corpauthor>
@@ -19,7 +19,7 @@
<year>&YEAR;</year>
<holder>&HOLDER;</holder>
</copyright>
- <xi:include href="../../../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Legal_Notice.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="Author_Group.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
diff --git a/en-US/Template/Manual-Preface.xml b/en-US/Template/Manual-Preface.xml
index ec266f2..e5e1942 100644
--- a/en-US/Template/Manual-Preface.xml
+++ b/en-US/Template/Manual-Preface.xml
@@ -7,6 +7,6 @@
<para>
paragraph
</para>
- <xi:include href="../../../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="../../../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Conventions.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="../Common_Content/Feedback.xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
</preface>