summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Nemes <alexandru.nemes@enea.com>2018-05-14 17:11:55 +0300
committerAlexandru Nemes <alexandru.nemes@enea.com>2018-05-14 17:11:55 +0300
commitfad0dffabd6f3129aabf5400b2598d71aaa7527a (patch)
treef28c73be7d8b12e9f405ac9510f6118f42dbf994
parent507c55968dea0780483f0de374253b384b9bbc98 (diff)
downloaddoc-enea-nfv-fad0dffabd6f3129aabf5400b2598d71aaa7527a.tar.gz
Adding documentation content for mixed arch pod deployment in ENC
Signed-off-by: Alexandru Nemes <alexandru.nemes@enea.com>
-rw-r--r--book-enea-nfv-core-installation-guide/doc/book.xml1
-rw-r--r--book-enea-nfv-core-installation-guide/doc/eltf_params_template.xml151
-rw-r--r--book-enea-nfv-core-installation-guide/doc/eltf_params_updated.xml223
-rw-r--r--book-enea-nfv-core-installation-guide/doc/eltf_params_updated_template_how_to_use.txt320
-rw-r--r--book-enea-nfv-core-installation-guide/doc/images/openstack_envs_mixed.svg964
-rw-r--r--book-enea-nfv-core-installation-guide/doc/installation_instructions.xml58
-rw-r--r--book-enea-nfv-core-installation-guide/doc/mixed_arch.xml62
-rw-r--r--book-enea-nfv-core-release-info/doc/book.xml1
-rw-r--r--book-enea-nfv-core-release-info/doc/known_bugs_and_limitations.xml24
-rw-r--r--book-enea-nfv-core-release-info/doc/main_changes.xml12
-rw-r--r--book-enea-nfv-core-release-info/doc/new_in_this_release.xml12
11 files changed, 1808 insertions, 20 deletions
diff --git a/book-enea-nfv-core-installation-guide/doc/book.xml b/book-enea-nfv-core-installation-guide/doc/book.xml
index 969ce37..6744769 100644
--- a/book-enea-nfv-core-installation-guide/doc/book.xml
+++ b/book-enea-nfv-core-installation-guide/doc/book.xml
@@ -15,5 +15,6 @@
15 <xi:include href="hw_features.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 15 <xi:include href="hw_features.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
16 <xi:include href="tacker.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 16 <xi:include href="tacker.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
17 <xi:include href="high_availability.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 17 <xi:include href="high_availability.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
18 <xi:include href="mixed_arch.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
18<!-- <xi:include href="use_cases_per_target_node.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> --> 19<!-- <xi:include href="use_cases_per_target_node.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> -->
19</book> 20</book>
diff --git a/book-enea-nfv-core-installation-guide/doc/eltf_params_template.xml b/book-enea-nfv-core-installation-guide/doc/eltf_params_template.xml
new file mode 100644
index 0000000..eaa7ebd
--- /dev/null
+++ b/book-enea-nfv-core-installation-guide/doc/eltf_params_template.xml
@@ -0,0 +1,151 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="eltf_created_params">
5 <title>File with Parameters in the Book Auto-updated by ELFT</title>
6
7 <note>
8 <para>See the <emphasis
9 role="bold">eltf_params_updated_template_howto_use.txt</emphasis> text
10 file for description of how to create the final <emphasis
11 role="bold">eltf_params_updated.xml</emphasis> from this template and for
12 all <emphasis role="bold">REQUIREMENTS</emphasis>. Use the command
13 "<emphasis role="bold">make eltf</emphasis>" to extract a full list of all
14 ELTF variables, which always begins with ELTF_ and don't only rely on the
15 howto text file list! The plan is that ELTF will auto-update this when
16 needed.</para>
17 </note>
18
19 <section id="host_prereq">
20 <title>Common Parameters</title>
21
22 <bridgehead>A programlisting, ID
23 "eltf-prereq-apt-get-commands-host"</bridgehead>
24
25 <para id="eltf-prereq-apt-get-commands-host"><programlisting>ELTF_PL_HOST_PREREQ</programlisting></para>
26
27 <bridgehead>A programlisting, ID
28 "eltf-getting-repo-install-command"</bridgehead>
29
30 <para id="eltf-getting-repo-install-command"><programlisting>ELTF_PL_GET_REPO</programlisting></para>
31
32 <bridgehead>Several phrase elements, various IDs. Ensure EL_REL_VER is
33 correct also compared to the "previous" REL VER in pardoc-distro.xml
34 "prev_baseline".</bridgehead>
35
36 <para id="EneaLinux_REL_VER"><phrase>ELTF_EL_REL_VER</phrase></para>
37
38 <para id="Yocto_VER"><phrase>ELTF_YOCTO_VER</phrase></para>
39
40 <para id="Yocto_NAME"><phrase>ELTF_YOCTO_NAME</phrase></para>
41
42 <para id="ULINK_YOCTO_PROJECT_DOWNLOAD"><ulink
43 url="ELTF_YOCTO_PROJ_DOWNLOAD_URL">ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL</ulink></para>
44
45 <para id="ULINK_ENEA_LINUX_URL"><ulink
46 url="ELTF_EL_DOWNLOAD_URL">ELTF_EL_DOWNLOAD_TXTURL</ulink></para>
47
48 <bridgehead>A programlisting, ID "eltf-repo-cloning-enea-linux". Use
49 $MACHINE/default.xml as parameter, where MACHINE is one of the target
50 directory names in the manifest.</bridgehead>
51
52 <para id="eltf-repo-cloning-enea-linux"><programlisting>ELTF_PL_CLONE_W_REPO</programlisting></para>
53
54 <bridgehead>A table with ONE row, only the row with ID
55 "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the
56 template.xml and in the updated.xml, set condition hidden on the
57 &lt;row&gt;, if eclipse is not in the release.</bridgehead>
58
59 <informaltable>
60 <tgroup cols="1">
61 <tbody>
62 <row id="eltf-eclipse-version-row">
63 <entry>Eclipse version ELTF_ECLIPSE_VERSION plus command line
64 development tools are included in this Enea NFV Access release.</entry>
65 </row>
66 </tbody>
67 </tgroup>
68 </informaltable>
69
70 <bridgehead>Below is one big section with title "Supported Targets with
71 Parameters". The entire section is included completely in the book via ID
72 "eltf-target-tables-section" and shall be LAST in the template. The
73 template contains ONE target subsection. COPY/APPEND it, if multiple
74 targets exist in the release and optionally add rows with additional
75 target parameters in each target subsection table.</bridgehead>
76 </section>
77
78 <section id="eltf-target-tables-section">
79 <title>Supported Targets with Parameters</title>
80
81 <para>The tables below describes the target(s) supported in this Enea
82 NFV Access release.</para>
83
84 <section id="eltf-target-table-ELTF_T_MANIFEST_DIR">
85 <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title>
86
87 <para><informaltable>
88 <tgroup cols="2">
89 <colspec colwidth="6*" />
90
91 <colspec colwidth="9*" />
92
93 <tbody>
94 <row>
95 <entry>Target official name</entry>
96
97 <entry>ELTF_T_NAME</entry>
98 </row>
99
100 <row>
101 <entry>Architecture and Description</entry>
102
103 <entry>ELTF_T_ARC_DESC</entry>
104 </row>
105
106 <row>
107 <entry>Link to target datasheet</entry>
108
109 <entry>See <ulink
110 url="ELTF_T_DS_URL">ELTF_T_DS_TXTURL</ulink></entry>
111 </row>
112
113 <row>
114 <entry>Poky version</entry>
115
116 <entry>ELTF_T_POKY_VER</entry>
117 </row>
118
119 <row>
120 <entry>GCC version</entry>
121
122 <entry>ELTF_T_GCC_VER</entry>
123 </row>
124
125 <row>
126 <entry>Linux Kernel Version</entry>
127
128 <entry>ELTF_T_KERN_VER</entry>
129 </row>
130
131 <row>
132 <entry>Supported Drivers</entry>
133
134 <entry>ELTF_T_DRIVERS</entry>
135 </row>
136
137 <row>
138 <entry>Enea rpm folder for downloading RPM packages for this
139 target</entry>
140
141 <entry><ulink
142 url="ELTF_T_EL_RPM_URL">ELTF_T_EL_RPM_TXTURL</ulink></entry>
143 </row>
144 </tbody>
145 </tgroup>
146 </informaltable></para>
147 </section>
148
149 <!-- ELTFADD_MORE_TARGET_SECTIONS_BELOW_IF_NEEDED -->
150 </section>
151</section> \ No newline at end of file
diff --git a/book-enea-nfv-core-installation-guide/doc/eltf_params_updated.xml b/book-enea-nfv-core-installation-guide/doc/eltf_params_updated.xml
new file mode 100644
index 0000000..cfb837e
--- /dev/null
+++ b/book-enea-nfv-core-installation-guide/doc/eltf_params_updated.xml
@@ -0,0 +1,223 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<section id="eltf_created_params">
5 <title>File with Parameters in the Book Auto-updated by ELFT</title>
6
7 <note>
8 <para>See the <emphasis
9 role="bold">eltf_params_updated_template_howto_use.txt</emphasis> text
10 file for description of how to create the final <emphasis
11 role="bold">eltf_params_updated.xml</emphasis> from this template and for
12 all <emphasis role="bold">REQUIREMENTS</emphasis>. Use the command
13 "<emphasis role="bold">make eltf</emphasis>" to extract a full list of all
14 ELTF variables, which always begins with ELTF_ and don't only rely on the
15 howto text file list! The plan is that ELTF will auto-update this when
16 needed.</para>
17 </note>
18
19 <section id="host_prereq">
20 <title>Common Parameters</title>
21
22 <bridgehead>A programlisting, ID
23 "eltf-prereq-apt-get-commands-host"</bridgehead>
24
25 <para id="eltf-prereq-apt-get-commands-host"><programlisting># Host Ubuntu 16.04 LTS 64bit
26sudo apt-get -y update
27sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \
28 texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \
29 make gcc build-essential xsltproc g++ desktop-file-utils chrpath \
30 libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \
31 libxml-parser-perl</programlisting></para>
32
33 <bridgehead>A programlisting, ID
34 "eltf-getting-repo-install-command"</bridgehead>
35
36 <para id="eltf-getting-repo-install-command"><programlisting>mkdir -p ~/bin
37curl https://storage.googleapis.com/git-repo-downloads/repo &gt; ~/bin/repo
38chmod a+x ~/bin/repo
39export PATH=~/bin:$PATH</programlisting></para>
40
41 <bridgehead>Several phrase elements, various IDs. Ensure EL_REL_VER is
42 correct also compared to the "previous" REL VER in pardoc-distro.xml
43 "prev_baseline".</bridgehead>
44
45 <para id="EneaNfvCore_REL_VER"><phrase>1.1</phrase></para>
46
47 <para id="Yocto_VER"><phrase>2.1</phrase></para>
48
49 <para id="Yocto_NAME"><phrase>krogoth</phrase></para>
50
51 <para id="ULINK_YOCTO_PROJECT_DOWNLOAD"><ulink
52 url="http://www.yoctoproject.org/downloads/core/krogoth/21">http://www.yoctoproject.org/downloads/core/krogoth/21</ulink></para>
53
54 <para id="ULINK_ENEA_LINUX_URL"><ulink
55 url="https://linux.enea.com/6">https://linux.enea.com/6</ulink></para>
56
57 <bridgehead>A programlisting, ID "eltf-repo-cloning-enea-linux". Use
58 $MACHINE/default.xml as parameter, where MACHINE is one of the target
59 directory names in the manifest.</bridgehead>
60
61 <para id="eltf-repo-cloning-enea-linux"><programlisting>mkdir enea-linux
62cd enea-linux
63repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \
64 -b refs/tags/EL6 -m $MACHINE/default.xml
65repo sync</programlisting></para>
66
67 <bridgehead>A table with ONE row, only the row with ID
68 "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set
69 condition hidden if eclipse is not in the release. Do this both in
70 template.xml and updated.xml.</bridgehead>
71
72 <informaltable>
73 <tgroup cols="1">
74 <tbody>
75 <row condition="hidden" id="eltf-eclipse-version-row">
76 <entry>Eclipse version 4.3 (Mars) plus command line development
77 tools are included in this Enea NFV Access release.</entry>
78 </row>
79 </tbody>
80 </tgroup>
81 </informaltable>
82
83 <bridgehead>Below is one big section with title "Supported Targets with
84 Parameters". The entire section is included completely in the book via ID
85 "eltf-target-tables-section" and shall be LAST in the template. The
86 template contains ONE target subsection. COPY/APPEND it, if multiple
87 targets exist in the release and optionally add rows with additional
88 target parameters in each target subsection table.</bridgehead>
89 </section>
90
91 <section id="eltf-target-tables-section">
92 <title>Supported Reference Boards with Parameters</title>
93
94 <para>The table(s) below describes the target(s) supported in this Enea
95 NFV Access release.</para>
96
97 <table condition="intel">
98 <title>MACHINE Information</title>
99
100 <tgroup cols="2">
101 <colspec align="center" />
102
103 <thead>
104 <row>
105 <entry align="center">Component</entry>
106
107 <entry align="center">Description</entry>
108 </row>
109 </thead>
110
111 <tbody>
112 <row>
113 <entry align="left">Target official name</entry>
114
115 <entry>Intel Xeon D-1521</entry>
116 </row>
117
118 <row>
119 <entry align="left">Architecture and Description</entry>
120
121 <entry>x86-64</entry>
122 </row>
123
124 <row>
125 <entry align="left">Link to target datasheet</entry>
126
127 <entry><ulink
128 url="https://ark.intel.com/products/91202/Intel-Xeon-Processor-D-1521-6M-Cache-2_40-GHz">Intel's
129 datasheet</ulink></entry>
130 </row>
131
132 <row>
133 <entry align="left">Poky version</entry>
134
135 <entry>Git-commit-id:
136 f01b909a266498853e6b3f10e6b39f2d95148129</entry>
137 </row>
138
139 <row>
140 <entry align="left">GCC version</entry>
141
142 <entry>5.3<remark>FIXME</remark></entry>
143 </row>
144
145 <row>
146 <entry align="left">Linux Kernel Version</entry>
147
148 <entry>3.12<remark>FIXME</remark></entry>
149 </row>
150
151 <row condition="hidden">
152 <entry align="left">Supported Drivers</entry>
153
154 <entry>Ethernet, RTC, UART</entry>
155 </row>
156 </tbody>
157 </tgroup>
158 </table>
159
160 <table condition="arm">
161 <title>MACHINE Information</title>
162
163 <tgroup cols="2">
164 <colspec align="center" />
165
166 <thead>
167 <row>
168 <entry align="center">Component</entry>
169
170 <entry align="center">Description</entry>
171 </row>
172 </thead>
173
174 <tbody>
175 <row>
176 <entry align="left">Target official name</entry>
177
178 <entry>OCTEON TX&trade; cn8304</entry>
179 </row>
180
181 <row>
182 <entry align="left">Architecture and Description</entry>
183
184 <entry>arm64</entry>
185 </row>
186
187 <row>
188 <entry align="left">Link to target datasheet</entry>
189
190 <entry><ulink
191 url="http://www.cavium.com/OCTEON-TX-CN82XX-83XX.html">OCTEON
192 TX&trade; cn8304 datasheet</ulink></entry>
193 </row>
194
195 <row>
196 <entry align="left">Poky version</entry>
197
198 <entry>Git-commit-id:
199 f01b909a266498853e6b3f10e6b39f2d95148129</entry>
200 </row>
201
202 <row>
203 <entry align="left">GCC version</entry>
204
205 <entry>5.3<remark>FIXME</remark></entry>
206 </row>
207
208 <row>
209 <entry align="left">Linux Kernel Version</entry>
210
211 <entry>3.12<remark>FIXME</remark></entry>
212 </row>
213
214 <row condition="hidden">
215 <entry align="left">Supported Drivers</entry>
216
217 <entry>Ethernet, RTC, UART</entry>
218 </row>
219 </tbody>
220 </tgroup>
221 </table>
222 </section>
223</section> \ No newline at end of file
diff --git a/book-enea-nfv-core-installation-guide/doc/eltf_params_updated_template_how_to_use.txt b/book-enea-nfv-core-installation-guide/doc/eltf_params_updated_template_how_to_use.txt
new file mode 100644
index 0000000..62e5d02
--- /dev/null
+++ b/book-enea-nfv-core-installation-guide/doc/eltf_params_updated_template_how_to_use.txt
@@ -0,0 +1,320 @@
1eltf_params_template_updated_howto_use.txt
2
3This is a way to collect all parameters for an Enea NFV Access release
4in one parameter file, easy to automatically update by ELTF regularly.
5
6NOTE: Both the release info AND the open source books use parameters from
7 here, but the XML file is inside the release info book directory.
8
9NOTE: The manifest_conf.mk, or overridden by the environment variable
10 MANIFESTHASH, contains the full tag (or hashvalue) for downloading
11 the manifest when the books are built. The list of target
12 directories are fetched from the manifest into the book.
13 The eltf_params_updates.xml can all the time contain
14 the final next complete tag e.g. refs/tags/EL6 or similar
15 in the ELTF_PL_CLONE_W_REPO parameter command lines.
16
17The ordinary book XML files use xi:include statements to include elements
18from this parameter file. The book XML files can thus be manually edited.
19Before editing, you must run "make init".
20Any other text in the template or updated.xml file, outside the parts that
21are included in the book, are not used but still all must be correct
22DocBook XML files.
23
24ELTF work:
25 template => ELTF replaces ALL ELTF_xxx variables => updated XML file
26 => push to git only if changed
27
28
29eltf_params_template.xml (in git)
30 File used by ELTF to autocreate/update the real parameter
31 file eltf_params_updated.xml.
32
33eltf_params_updated.xml (in git)
34 Real parameter file where ELTF has replaced all ELTF_xx variables with
35 strings, in several cases with multiline strings.
36 No spaces or linefeed allowed in beginning or end of the variable values!
37
38
39xi:include: Each parameter is xi:include'ed in various book files, using
40 the IDs existing in the parameter files.
41 In most cases the 1:st element inside an element with an ID is included
42 using a format like eltf-prereq-apt-get-commands-host/1.
43 In very few cases the element with the ID is included in the book, one
44 example is the target section which has an ID, but which contains
45 multiple subsections, one per target.
46 All IDs in a book must be unique.
47
48DocBook XML: All XML files must be correct DocBook XML files.
49
50Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes
51 not done by ELTF. But it is OK to open the real file in XMLmind to
52 check that the format is correct.
53
54ELTF should autocreate a temporary "real" file but only replace
55 and push the eltf_params_updated.xml if it is changed.
56
57
58make eltf
59 This lists all ELTF_xxx variables and some rules how to treat them
60
61DocBook Format: All elements - rules:
62 Several strict generic XML rules apply for all strings:
63 1. No TABs allowed or any other control chr than "linefeed"
64 2. Only 7-bit ASCII
65 3. Any < > & must be converted to &lt; &gt; and &amp;
66 Similar for any other non-7-bit-ASCII but avoid those!
67 4. No leading spaces or linefeeds when replacing the ELTF_* variable
68 5. No trailing spaces or linefeeds when replacing the ELTF_* variable
69 6. Note: Keep existing spaces before/efter ELTF_* in a few cases.
70
71DocBook Format: <programlisting> - rules: ELTF*PL* variables
72 Several strict rules apply for the multiline string in programlisting
73 in addition to the general XML rules above:
74 7. Max line length < 80 char
75 8. Use backslash (\) to break longer lines
76 9. Use spaces (e.g. 4) to indent continuation lines in programlistings
77 10. No trailing spaces on any line
78 11. No spaces or linefeed immediately after leading <programlisting>
79 12. No spaces or linefeed before trailing </programlisting>
80
81DocBook Format: <ulink> - rules: ELTF_*URL* variables
82 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings
83 14. Only if the URL is extremely long, the TXTURL can be a separate string
84
85Each target has one section with target parameters:
86 <section id="eltf-target-table-ELTF_T_MANIFEST_DIR">
87 <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title>
88 ..... with many ELTF_ variables ....
89 </section>
90
91 15. If there is only one target. ELTF just replaces ELTF parameters
92
93 16. It there are multiple targets. ELTF copies the section and appends the
94 section the required number of times.
95 Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR
96 Each section title will become unique
97
98Tables with target parameters in each target section:
99 17. It is possible for ELTF to append more rows with one parameter each
100 to these tables, because the entire tables are included in the book
101
102Special - NOT YET READY DEFINED how to handle the optionally included
103 Eclipse and its version, but this is a first suggestion:
104 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string
105 with both version number and name,
106 19. MANUALLY if Eclipse is NOT included in the release,
107 the release manager should manually set condition="hidden" on
108 the entire section in the book XML about Eclipse
109
110
111
112BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf
113if there are more new variables, missing in this description file.
114
115_____________________________________________________________________________
116ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands
117 like sudo apt-get install xxxx or similar.
118 First line = comment with the complete host name!
119 It is possible to include multiple hosts by just
120 adding an empty line, comment with host name, etc.
121 xi:include eltf-prereq-apt-get-commands-host/1
122 This is a <programlisting>...</programlisting>
123 Example:
124# Host Ubuntu 14.04.5 LTS 64bit
125sudo apt-get update
126sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \
127 texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \
128 make gcc build-essential xsltproc g++ desktop-file-utils chrpath \
129 libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \
130 libxml-parser-perl
131
132_____________________________________________________________________________
133ELTF_PL_GET_REPO Multiline commands to download the repo tool
134 xi:include eltf-getting-repo-install-command/1
135 This is a <programlisting>...</programlisting>
136 Example:
137mkdir -p ~/bin
138curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
139chmod a+x ~/bin/repo
140export PATH=~/bin:$PATH
141
142_____________________________________________________________________________
143ELTF_EL_REL_VER General parameter string: The version of this Enea
144 NFV Access release. Major version and optional .Minor
145 Typically created from MAJOR and MINOR in enea.conf
146 MINOR in enea.conf is empty or contains a dot+minor
147 xi_include EneaLinux_REL_VER/1
148 This is a <phrase>X.x</phrase> used in many places.
149 Examples:
1506
151 or
1526.1
153
154_____________________________________________________________________________
155ELTF_YOCTO_VER General parameter string: Yocto version, created
156 from DISTRO in poky.ent
157 xi:include Yocto_VER/1
158 This is a <phrase>X.x</phrase> used in many places.
159 Example:
1602.1
161
162_____________________________________________________________________________
163ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created
164 from DISTRO_NAME_NO_CAP in poky.ent
165 xi:include Yocto_NAME/1
166 This is a <phrase>X.x</phrase> used in many places.
167 Example:
168krogoth
169
170_____________________________________________________________________________
171ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL
172ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string
173 at the end, typically without "dot".
174 xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1
175 This is an <ulink url="...">...</ulink>
176 Example:
177http://www.yoctoproject.org/downloads/core/krogoth/21
178
179_____________________________________________________________________________
180ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings
181ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where
182 Enea NFV Access can be downloaded
183 Often containing same version as in ELTF_EL_REL_VER
184 xi:include ULINK_ENEA_LINUX_URL/1
185 This is an <ulink url="...">...</ulink>
186 Example:
187http://linux.enea.com/6
188
189_____________________________________________________________________________
190ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything.
191 Use the variable $MACHINE/default.xml (the text in
192 the book will list the avaiable values of MACHINE,
193 taken from the manifest repository)
194 xi:include eltf-repo-cloning-enea-linux/1
195 This is a <programlisting>...</programlisting>
196 Example:
197mkdir enea-linux
198cd enea-linux
199repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \
200 -b refs/tags/EL6 -m $MACHINE/default.xml
201repo sync
202
203_____________________________________________________________________________
204ELTF_ECLIPSE_VERSION Optional general parameter string.
205 NOT YET READY DEFINED
206 Just now a release manage must manually set
207 condition="hidden" on the Eclipse section,
208 if Eclipse is not included in the release.
209 ELTF just replaces ELTF_ECLIPSE_VERSION with a full
210 string with "X.Y (name)"
211 It includes the ID and can only be ONCE in the book.
212 xi:include eltf-eclipse-version-row
213 Example.
2144.5 (Mars)
215
216
217_____________________________________________________________________________
218ELTF_T_* All these are in each target (MACHINE) and ELTF
219 must separately replace them with strings for
220 each target
221 NOTE: All (except the MANIFEST_DIR) are in rows
222 in a table and ELTF can select to append
223 more parameters by adding more rows
224
225_____________________________________________________________________________
226ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly
227ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same
228 as the MACHINE names in $MACHINE/default.xml.
229 In book: a) Part of section ID
230 b) Part of section title
231 Examples:
232p2041rgb
233 or
234ls1021aiot
235 or
236qemuarm
237
238_____________________________________________________________________________
239ELTF_T_NAME Target specific: "Target Official Name"
240 NOT same as the target directory name in most cases.
241 In book: An <entry> element in a row
242 Examples:
243P2041RGB
244 or
245LS1021a-IoT
246 or
247qemuarm
248
249_____________________________________________________________________________
250ELTF_T_ARC_DESC Target specific: "Architecture and Description"
251 It can be a short identification string or
252 it can be a longer descriptive sentence.
253 In book: An <entry> element in a row
254 Examples:
255Power, e500mc
256 or
257ARM Cortex-A7
258
259_____________________________________________________________________________
260ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These
261ELTF_T_DS_URL two usually are IDENTICAL strings with correct
262 hyperlink to the target's official datasheet.
263 In book: an <ulink url="...">...</ulink>
264 Only if the link is VERY LONG, the text part shall
265 instead be a descriptive string (see 2:nd example).
266 NOTE: Also here no spaces or line-feeds!
267 Examples:
268url="http://wiki.qemu.org">http://wiki.qemu.org
269or
270url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet
271
272_____________________________________________________________________________
273ELTF_T_POKY_VER Target specific: "Poky version" created either
274 from POKYVERSION in poky.ent
275 or using a hashvalue with a leading string, in
276 which case it may be different per target.
277 In book: An <entry> in a row
278 Examples:
27915.0.0
280or
281Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2
282
283_____________________________________________________________________________
284ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky
285 but not easy to find among various parameters.
286 ELTF would extract it from build logs building SDK
287 and it is possibly different per target.
288 In book: An <entry> in a row
289 Example:
2905.3
291
292_____________________________________________________________________________
293ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often
294 different per target.
295 In book: An <entry> in a row
296 Example:
2973.12
298
299_____________________________________________________________________________
300ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a
301 comma-separated list of driver names.
302 ELTF should create the list in same order for each
303 target, e.g. alphabetic migth be OK.
304 In book: An <entry> in a row
305 Example:
306Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC
307
308
309_____________________________________________________________________________
310ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading
311ELTF_T_EL_RPM_URL RPM packages for this target". These two are
312 INDENTICAL strings with hyperlink to the web site
313 at Enea where the customer can download RPMs
314 Note: Often the ELFT_EL_REL_VER value and
315 the ELTF_T_MANIFEST_DIR are used in the link.
316 In book: an <ulink url="...">...</ulink>
317 Example:
318url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm
319
320_____________________________________________________________________________
diff --git a/book-enea-nfv-core-installation-guide/doc/images/openstack_envs_mixed.svg b/book-enea-nfv-core-installation-guide/doc/images/openstack_envs_mixed.svg
new file mode 100644
index 0000000..1e15f81
--- /dev/null
+++ b/book-enea-nfv-core-installation-guide/doc/images/openstack_envs_mixed.svg
@@ -0,0 +1,964 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4<svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:xlink="http://www.w3.org/1999/xlink"
11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13 id="svg2985"
14 version="1.1"
15 inkscape:version="0.48.4 r9939"
16 width="838"
17 height="484"
18 sodipodi:docname="Openstack_env_release_menu.png">
19 <metadata
20 id="metadata2991">
21 <rdf:RDF>
22 <cc:Work
23 rdf:about="">
24 <dc:format>image/svg+xml</dc:format>
25 <dc:type
26 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
27 <dc:title></dc:title>
28 </cc:Work>
29 </rdf:RDF>
30 </metadata>
31 <defs
32 id="defs2989" />
33 <sodipodi:namedview
34 pagecolor="#ffffff"
35 bordercolor="#666666"
36 borderopacity="1"
37 objecttolerance="10"
38 gridtolerance="10"
39 guidetolerance="10"
40 inkscape:pageopacity="0"
41 inkscape:pageshadow="2"
42 inkscape:window-width="1920"
43 inkscape:window-height="1017"
44 id="namedview2987"
45 showgrid="false"
46 inkscape:zoom="1.714876"
47 inkscape:cx="419"
48 inkscape:cy="242"
49 inkscape:window-x="-8"
50 inkscape:window-y="-8"
51 inkscape:window-maximized="1"
52 inkscape:current-layer="svg2985" />
53 <image
54 width="838"
55 height="484"
56 xlink:href="data:image/png;base64,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
312tlMLEhMLptq2dKbRaDSoqmYDAEgAGLMX/OPusejrXAmARMy+euzcc0/36aq2ODKcFswpOHbwBhcA
313QMxOOXaOO899hsptPGafLdL769ixXK68TVdQlnLodKnbvBltbwRKVeK5G1yxBEDMToxOEHk4WgDI
314k6rrN3IE8pgvH0t43l0N7SiaNHY1WygBkLxhCW0sPvPinzmY8kieBl0/9yfXbXrHH9shWTh61J07
315f1cgAZBwr8ee43o4WpDAYpViq2pUgHyeSodBkgyGHpQ9as3xJOyE/YnmXy+bypi67Gv9hD0JbAnA
316KD2jF62nRSLm3jh3oWq2hRkAycL9S/6pgylseVw3ziW+cOtu4BvDyXNqysFT+QIAgIaqhN+vm82a
317ymC4bVcMMMwNzAKi4uPlz7sRV1VVTdTXV14eQupBkOFPaKP3Fydpa2g0eB3c5okPvRkgMhnIZDKJ
318VCqWSF+LJcLXooZXoogL2TFB7hoafRnLy00JC6pbFB/QPrRfUnYqKCzR7vvWOZvCqqRj+y/cYr8U
319gSbd4rNvvl0qn6QovL7T/5Du96dbNhOkb19z6HVAVFvq8CRlZ9ipuy/BYm3U9y50kAjuntmzP6VM
320KKbQp7itC1omfwwbNyksiL2ofX5o/jHveP2ojpM0AACe3z21b39KiVCkSbf4dN03S+QzLbgpYUF1
3213vFtT78rjPY+pxfV9bFwwofpp06fu14kEAGFNmH6onUBbh+1ZHTcpLBjmgHutcf2p5QJgWbm9s2G
322lsIBhGXnftx5uUQo0tSb7fuNLfu70unxAVZdglQ8h8LCU2H/L5Etoszdfnq5WbcldHclvDusFRad
323+2nf5UKBiDLKbLb/uq9m6QEAN+m7oAsW26OXmQG0n9WOkw96LhYAxDf3L0mzOBI2hw7APh8Sxlse
324tW6q/LLm7Ft7Tu/HvQv1gH39UPTJlpM2cXbA2q9my/vUJcLCCz/tv1woeN1xuVLs9P17T916JBRp
3256k39MuCbeRad5/Z2PJmF0UuPMX7cO+8d671H6tbc3LwiKjl0gb3WBxSaJkWTTCKTiCQikUAgEAgD
326XjumdOh9hindgOu3lA69n14XHgs6xti21/Odyp2EOfvXpFj88v2cvv78OBru1JvS4S0VIYTQu0rT
327YsFyRtD5nDnrZ/THHOrCY94/pHRc5BbWXXtkt8p+P1b15dZvMJ9D7xhspUMIDSAlrXSvxRHnb2Ir
328HVKduEEIVBpZ9SnnA+xdiwe9O1pa6RbO1NIkYysdQmhYG4S7Ghp2yFoD9ZTDN/OuxYPeReq41+GM
329V4TQwCMQAIDQ+g8hhIaxDve6QcztMKVDCA0whRsagQCD0f2AEELq07mbdbDueZjSIYQGA6EViYgp
330HUJoOCMR2254g3q7w5QOITTg5H0QRAKQCAQSkUAmEV+Lm9UdFEII9bPX4mYyiUgiEkgEApEw2ENN
331MKVDCA0g+d+o8v5WIpFAIhE1SESTcTpZpY9xuj1CaDiRyWRZpY9NxulokIgkErFlnmvrPXAQYEqH
332EBpY8hsakQBEAkGDSKCQSM4WBmczi1PvV78SiTGxQwgNdTKZ7JVInHq/+mxmsbOFAYVE0iASiAQC
333kQCDOT8Cn0uHEBpYMhnIQCaVyiRSmVgiaRJLmsSSyqeCa4W1FU/4YolU3QEihNDbIpOIJuN0nC0M
334jD+kjyCTRpBJZBKJRCQQiYM3KwxTOoTQgJPKZDIZSGWyZom0WSL9JvrpOM0XRCI+qhUhNKzIpNLH
335r3X2r/pQg0TUaHnEMBAHq50OHzWMEBpwBCAAQUYEIBEJAMTxmvwdq63VHRRCCPW/LdH5GqTxJCKB
336SAACAQiDOEECUzqE0IAjEABkAAQCiQgEAoFAxFG8CKHhiUgkaZCIRALIp0YM5mNMMKVDCA0GAoEA
337MhkQCJjNIYSGN3l/KwEG+8nqmNIhhAYJgUAAGQABx+8ihIYzeX/r4P9QDv7B3OZ5+qlj5x+oOwqE
338hrVBHlmCEEKDT10/fKi+lI6b9euBY79mcDssfJC0N7FMTQEp9yLnwt74ey/euhxhdVbciRN7Dxzb
339e+DYv49dSCxp6IfgEBqC3vhOV3TU29vvl3tCxWXcq6GhV7nd7THUFB319j5a1GER92po26Kio97v
340wMEKq/8MX6IkEO69E+Ff+y3x9vZWHqWw6Ez46iXe3t5LgiOvVgu7rBfciFBWbMuq1Z0ufOfKb/0S
3416rfE29t7iV/n0nuLq8OhXY3cuHqJt7d3l+sAAGUnVrctZl8MDr7I7rEw9D5T1w9Zq7XjlUwSPriW
342buY9Z1wfdnpx68LFJueVjmMGLKwORs9YEDLjrUtpuHcx+eGIWQv+x1JLQyoSPuU8pmj1tD0/N+ZK
343k8cSB8Zb14zQcEKF27+cLYpcPYXWj4UKbkTsFq6O+Ow9+7iVnVj997Sjq6f0aSf2td07fqOamgKv
34443Lu1dCQVNbGLUds9ChKd+Re3bHjgcOu4+F6FGH1xR2hkbRfu5amZwAAIABJREFUQmfR29cLbvxy
345kacLyq6r6NaJA+Ilv9h0f82rz4QeEPvtOjOLASC4d3Rj+G+sE35mKsXVTlh0NDhS8K+NuwPN6Eq2
346LTux7x5Nt/WV3uerp6w5cNXhvXvXoHebWlO6ER85sR6np2VN9HVgdm0ulAruJ1/NeNTQLAXa+Emu
347bg5GVKhKj71Y0ghwcW8BgMFUa8HdF3YBCycDANTfuvDrHYpTgKfdCACAwsRjt+jzVzqOATEn6/Lf
348uU8bm6WgoWPg9Nln1mMAALiZ8ZdhtislN+kuV6hjs9KHpVA1Nz02sXqC50pHBjcz/ozAJsTTDKDs
349/IGHpl8wSlLvcRoBSFpGsz6bb0HvFGoLrUlLlikkZLWPuZqshZZaGgBApNDGs0xa1wirsy5fK+5Q
350YHXmkeQyoRTOHCgGYLoGejDaY2iJXHlIZPpEZw8PU2r/XSGE3i3TVgfD0cizDsqTOmH11aORMVkc
351MZlq6hq80c+GDtyroSE1i8/IExfhjQj/fbQNp4OnUwAAio4uOWv47bQrP53liCHIOxrAdWv86ikA
352wqIzuyOvPKgXk6nMaYuDV3/Gosm3986attf02u6jHaroEsVb7d0bXvnVyB0xWRwxmemwQrHws4ZR
353bflF+0vu1dB94tWLBUd3XylvbN9HeCvy631ZjeIr3qkApquiIj7jdVdCB9yiaustv3wmOPr3WcXF
354gmsHYqiBv6zu/njYWX+wXdf/U48CADTW/MXOv529xZ3VVjz36u6zDL8VjG1/dN1VkHXl9rTPA+kA
355AGUnVu8Qfv3L1zY0ABDe++XrX2hbjvrpsavrZ82fJS+MbuMwvfFsNRfMGCrE1a7st923Zm05+pmZ
356spWioqP7yr8I/PzvbTUtSyhTPnFm77hS9pmf0h0QUgu1jqX7739Js52tpcXJOc+7rqxITbzRZOYT
357EBDylfeckXUXE3NfABjN8XU1AG3L+SGBASGetqZ6lMe11QAAIKqoa6RRuRUPRAAAwHnMoxiwxgAI
358shKS7mlYLw8ICPlq2XzjxhsX0ypaE6/6krQMoaXPmoAQHzvt9pobC/9MKRnl6OPY9c8vTnpGo92X
359fiGBASudx3CvX8tpAACov3ctna8/3z8g5KtlCydraYybvnJZxwY2g/GM148LK7t0tvJzzyfXjXby
360DgkM+J8FZk03ExMfArAc1zgxQWvSksCAkEAPi15OIif9WqPdgoCQQL+V9tSqtKQsfi87IDR0cYRM
361v2CbG5Fni0Rd1gluRIb+zQo+Eh8ff2bX54LIjSfKABhTptFv3JaP5hAV3eYwmbez7sn3ZZffo0+b
362Yjs/cosrmK6Kio+Pj189BQDKTgTveDAt/Hh8fPyZyNX01NDIG4LWOq7tPir4PPxMfHz8kY2m93Yf
363vdGlM/Dt9u5V+ZUrjfMjzsTHx/+ymn5FsfDudzm7+xpr/ZEz8fHxe+cLYyIuVgPQpgfvWmEKrlvj
3644+Pj+9DSxPjM7zO9LkuFRTceTHOd1kPeJGJX82wms9pe6xqyymvaGvq4V/f9wQpcrLzpVVh048E0
365Bxt5u5mZ30bne7+cLRICiIrO/nLPeaOfGQBtirP1tbN/yvtBBTdSb5l+YsNQKa52ZVnXaP90VZ6e
366iYpiDlR/sf4z3Q5LzRyc4fYD7HxF7xJ1T48gMuY4mzXfT+s0pg6kZfeqqDaf2jDIAEQtE/uPRj+v
3677jr8zEDvw2YuhwsATaUV3LEWk+icumoAAG51rWjseD0A7oOS54wZn03WJgMQKQYznG2o1bkFrd8G
368JJbTHJZ2h3PQWJLyR0azzaJ/mim9vRhYO5pokwBA29zShPr8MQcAoJb9XHuCucEIACLFYLI+jfv4
369cafdtGzm/oPx+Gr8v88kpZdwm1pzSm7hw5dG012NtQBAY6yN3QRJdUV1X04fAIDBVEcTLQAgaVu6
370zGAISkp6v8cjNHTRbPwCp1yLjOmc1HFvXSl3XTFf3mrFmPW5s/haVhmAnqmNuLyaCwCie1m3J8+f
371P/n2/XIAAG7RbYGNadf8pOjvVMq/AuXtSUCf4rfatfy3G21f3M7/mm9GBwCgTfnclXnvQXW/7t07
372svPilkOkT1m8eNr9K7d6/7yzvvjXLAYFAIDh/E+H+gdl/X2LqH7wwNCUcjsy2G+JfDDbjc5D1gQC
373HtBo7d2ZDD0WVLPlW8kTuhXd9aVXP7hvaMpq29XMb+OsW5Fnb92Kibw1a2NLExl9VnCEw+3QJcEb
374g5dsvD0toiVJ7T2u9gCryxsn6wpaR/utDj9T1ppvtyZ0XfJe1mQbXpGSQYEIqc078BATA0cPs9jz
375qbcmLpne/pl59uylVFB76lhO+3Zar18BdBqBxhrPTCuraABGbR1Hh+Fu1FSSX1sBZgbs5/UMlikR
3764Fl9vdYYgxFtO9BHjQThywaAMQAAuh8adCyvqfzvVPYH05dZjlae62qNHtv2fxIQoFkCAGDwIT21
377vLS2ycGALKp9UFc/1mx8lz21zZ1XGttVlRTk3k48kDVmxufzHcbB/8/e/Qc1eaX9438vkOAmRVIs
378eTQxEouhmugSa4M2WZXqE1qxVtpKWmF9TLXx2wftiNOlOyOdFncW57OlHfHTwtMRa+HpQluwXSot
379Kvlggy1oQdtYJWoiaxAT3SA2kQ1bCNDvH0kgQPihYAF7vaYz9f51znXu8OPinHOf22Zv7Wyq3JPr
380ezcGdj4MzTck5owHWMd/bAFufziHkEmDHaPZXrMlu0Ce4zsRrLnR1KZ9TVXuc6LSBUAULTNpTc44
381rvlMnViqETu1+XVGjURoNphkctGAwm0Ws0sq98n0ODy+tdEO8AFAGOHTU8Ngusb26hHwLYIpFEWY
382Gy3Dfr8L+b0/WRlMALf7Q2Z4Lmu51rk9Iz+Vgw5LRVZ6eiE/L1k4kivdCd0eyWAz3Zx2G5gRvnui
3831GkKzWtvIf4veT2darbq/BKnIiVlOepKivKyCsMzkqPYtxNXB4Ca0rq0tJxkLhP2+vyMXbnCfWkK
384tjuhe0PjpyOTyWajzemE3wmAhIyHCZDSAYLY5fP/9/Dh2qiN9/nu5q14aVX00N2IwULBtFprIy5Z
385/hkmfDSU2yZgVJxvQOc1W9jM2OAhL/XL9q/7ogU3ao8Z5q8Vj/zbNPSRlSuulR18/zyAoPsjV62V
386hvo9jxEye4F89oLFl7XFpVWnJc8tAsCev2bLMppgS8jt8CR1Rcvz4n13R2x8N2t1/+8mpkQW/Zbe
387hHB9tUiRyOY65ZyiGqPadaYuWqYZbsr8L4wTHt7/uYNJghe/Mc7dAcnkxyUo9hcZbRD2fhRcLg8G
388ZwfgueE2ixk8GXfYhA5wOdv673K2OV0MBsPZ5s2mzIXp5dLM7AQ+gKh0haIwNb1I6p4/OUxcfciT
3891VLPfDxJfLxwm8EMGQZN6AiZgMZ74NUtgKdcGdX+XWVNz9AqlxfO+OeVhmGvDJnDC7lmqblsYQlm
390cwDe3FmBTY2nm64zeTNCAOCB0NDWlqb2nvNbbHaw7xv0aVPBwqUr4uSCGycOjmA4w4f9iuOBFerN
391O1I2v7w+du4wzycEzuZz0NHeDgj+g+O0NN3uCintrnafrdabN3rDMFvaQu//hZ4FJmQcsWM02yXa
392rHxTT1eXUBzdWGfw833LFslEdfoKQx1fLuYAfGksu86gM+k5EqGfv9u4fCFDb/KZIdXcaA4PH2m/
3939+iuBiecB0tznza0NdtZDEbPprl3Bho6zKZGYcTAoWN0OEc7Gnh7JYRHiJp9o3YN7AbkiUS+48zN
394jWaRiAebvsrUrN31B5XbLi1M+7f1XT+Ewxf2LclZm5dlTXzzzQRrdr5nXRNnm0Mk7L0PQqnEZbbY
395RhSXF5cvZDTbB5xrqtE2m/Zv88S3bb8J2l29a6EMUR4h42JipHQABEtXzG779nurd1u4eD7r0onK
396c44uAGi3X75odQAApjADnTf/6egGugGAK5wRePn8OcbM+VwAEETwuq4YL3fxZruHVLnSRfyWb8v1
397NhfQ3dF0QlffIVwUPeSf5sGRCXFR7d9V9J/eN4Qb1ubO306dMuhxR5Ph0rU29xS6TodZ+701mMvj
398AqHR0tlthsPfWtu7AXQ5rxkvuSsNZgb95LjW6m3jtBBcbzjt6ALQ3lRzzNjnB0nT919fcnQBXbbv
399vtY7OHPn0qgr+TVgx6hThNrcIrN3W5agtBTm6Szub48OS73R8y3MlcjY2oISjnvOPPhimVNXqnPK
400xJ4sgMFgWUxWbw4jWZvEKcktdc+Rstfn5+nESbF+8ib/Rne1pw0VntluHTZ9Xk45JyneZ9a+rqTU
401fdSuL8iri46P4QBAeITIVFXnbrpdX1BQxxhQ9oC62CyYzT3Z5x2U0IOrWCvV5ubX2wHAaS4tqfE8
402n+BzSky8SFvwpaUDgNNcWKQTx8dwwY3LLPbxhuc5lT4Lq4TzIkymnl8Mztq8vc1J21fz+au3J1qz
4038mqd7thrvLcFdmNpkY4nl3BHFFcPSXyiPT+nwn0DbNVFpc1KuQgSjW98777ofqLEM1XPYjYwfAe1
404CRl3E2Lg1W2OcumcDyoveTe5jz6Z0Fmp/Thf2wUEBIYJ5QkPAcCcpXJB8dcH3jsBYeyO+EgIBIJA
405Y7PwIc831myh8Jj50nSBd5UQVvSaBByp+OT9055FTBJWzhk2jxUsfVJc/Im2Zs56+Yhu0P1zhMFl
406pe95OhWDQiOVT/ftq3Neq66uvdneBQCBLJ54ZbJCCADBkQkJ7aUVFbmnuwAEsaYtUkbNARD56GMX
407P9d++P6xAMGql+Lmipevsnyh/Sj/uHs9lxiezxqXIXPnBZ7+e35ZG8DiRj+xSn7/SCImZPLjKLam
4086Lbu9Q7MMSWarK352Rkv5DpcYLB4YnWaxJ0L8cUyhsvU89s8Sh5rL9cqNN5EKSoxLTZ99wsqFyP+
409L4XqKO7qnZmMvOwtKqt7GZLMVMVt/Jk0uquZEk3W1sKc3NQCa5sLjFCxcuueTJ8shKVMU7PKM5Jf
410cy9i0lM4N277dsPuV/9Q4F4eJSXJXDRYFV5sheZF3auvqgogTsnJiL2DEnzKikl9sy07KzXZ2uZi
4118KITd+6M4wLo0Oe8kGXX5KTHcsBRpGY687JeUFldjFBx/BtpI70tXKkivERvhDTKm9DtSeUCAHd1
412SmLqq3m1+1Jj4nbubMvOTS2xtrnA4EUn7sxczR8iLr/4CZlpzqyMF/Y7XAyWSK7J1AwxHAy4n6+R
413rR04G5OQ8fObn3+m9y2OUsvxwgrHI0+ueSgEALo7LlV+WuaK2REfeferNh7M1YetU62gPxTJpJL+
414/rnMzcOtz0MIAPdywYa1H3hWE5woLKWp6faUfFqWjgzw2oH6v2y6vTW8x8oE6qWbrGwXL/0047GH
415vPPzApiCB+7D1a5xjYkQQu4R3LiNypLccktMwohHsIdgq0jftt/UZ5foxYGLKg/DXp1fIkzZR/kc
416mVgopRu10BC26/yFhlZBZEgQupzXzn7xnY33yOPjHRYhhNwbotQ5mWO1/hs3LrM4btSlsKSpHyjY
417E6rbkBBK6cZA8IInn2j9QvfpO0c98+HmxCQoF/wy3+tR61Loz0RCyL2OyZ5Yi79NtHgIAUAp3Zhg
418C+XPqeXjHQUhhBBCfr0mzCImhBBCCCHkTlFKRwghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFKRwgh
419hBAy6VFKRwiZHOrzVCp1jr7PAmW2inTvS9TvAfV5fd9ZD8BWkd6zqz5PNQEa6zR/mZHsJxCbPj9j
420qzpZpVL5j9JZX5ihSVapVMmp2RXmgcvM2asz/RXrOaTp98GPId9b7O/wUO3yDdpZm52cXXu3oiRk
421BCilI4RMGizU5RTVj/FvTXt15gTIlH5xxnzNEInMICy6rFezzJwBbza1VaTvKHQl7NxXWFzc8177
422vifs3m2QZXxQXFy8L1VYlZ5dbe9z3F6dU9oc7rfOjtr8XFdysnQ8VoIbul19g2bHJG1szi2q7/jF
423oyTEg1I6QsikIdOkSquzB0vqnOaK7NRklUqVrE7P19sBwFaRntyTuDirM1Wq7Frvr9z6vOT0iu9K
424U7fuPWPav02l6ukh6+1PUvt2KNXnqfL0Fl3/KgZEMaqrh9Ns8raxX+G+WWnvpq0iPf1Lc31hurrP
425Nc7abPWucod2V0/f06Al9GGrN0fvzNmq7PdmLrsut4CVkq6R8gdbY91S87lFuXE1nwmALUxIijWU
4261/oUb6vIKuKqk/y+FtNeU14ni5dz3Fsdluoc9+1VJadmV3vLGGR3fZ4qT+90N1+dbwQ8XyTuu6FO
427+9Lsvd4+4B4N266BQXMV8SJtaR111JHxQikdIWTSsDp5andSN7ArxF6dnV4lTN1XXFxc+Ga8PTst
4283whwJTJOdZ0RANBRX2fl8epq9O5rLSY9RyZ5OCF7pxKiF98tLi4u1kgAGPNTvf1Jhdkajta3Q0mX
429lWePzygsLi7elybSZ+VVD/jtPbqrh2UqL29LyCwsLi7O0XDKB/R1+b2kKEsn3L6vsLi4eE+CsyCz
4301AywY1Lf3CiC8o1B+tQGw41Txw180aqzvtogU8o4g1/XYTE3S8XCnu3wCKGpsdm7ZavY+7kwJUni
431txvOWV9tkMml3pyKyeYrNTmFxe7W5O715J2D7AZQnZ2hFW7PLyzOV0e5v0hK2OrswuLi4g+y02O9
432IdUUDbhHw7TLb9BsaWz0mTrqpyPjhVI6QshkwpaqUyS67IL+vzdtteUm5cYEIRsAuIr4WJeuxgjw
433RVKXyWwD0KGvqRMnJIjrzpgAwFZfZ5eKBuYn9VVaZmKKuz8JHIlaozSVVFu8R2MTE6I4AMCWxCt5
434eoN5TK8eHiM2ydNEjiQpSXamvHb4nE64NlHBZQIAN3a13GEw3lH34BDMBkOEiFnn7vxKVvv0knnZ
4357c1g+7wSlcsXwmxxn+XOjTb6T+gAs+FMhEjYeylHGOXpM+OKZb2J4SC7gTZpYorCm7PaasvPyDQb
436pRwAYHI4PXX6vUdDtGuwoNlCSfidfK6EjAl6IRghZHJhx2i212zJLpDnaHwGvZobTW3a11TlPicq
437XQBE0TKT1uSM45rP1ImlGrFTm19n1EiEZoNJJh8wJww2i9kllftkehwe39poB/gAIIzwme7FYLrG
4389uoR8C2CKRRFmBstwBDdYwAg5Pf2wjGYAMa+E8llLdc6t2fkp3LQYanISk8v5OclC0dypTs32iMZ
439bMTWabeBGeGzbdbl55fUmZrb3LdPOeRuACKxTz7Y3Gjqs91jkHs0SLuGCJrB4rQ138knS8gYoJSO
440EDLZeJK6ouV58b67Iza+m7W6/yAiUyKLfktvQri+WqRIZHOdck5RjVHtOlMXLdMMlkiME054OJqH
441P20C4sVvjHN3QDL5cQmK/UVGG4S9HwWXy4PB2QF4brjNYgZPxh02oQNczjafLXt1dnohOyVjXwaf
442Cdgq0rc1DrH7LrWLpR8uaELGCaV0hJDJx53UZeWLEgAGAEAojm7UGuyruf37rNgimShPX8Gv48vj
443OQBHGsvebdBx9BxJvJ+xPi5fyPjcZIHE29XW3GgODx+mH2yMrgYnnAd9s923362t2c5iMHo2zY3N
444gCdV6jCbGoXigUPH6HCOdoL+7ZUQHiFqttp74oJrYDcgTyTSG8yIiXJvNjeaRSIebPoqU7Np1x+0
445PmduU+1XvlHc0//K4Qt9DloMZ4SJ7yo8Q6x2q2XI3X4jNRnMHXHcEaVj/ts1TNB+Gk/IL4Xm0hFC
446JiN2jDpFqM0tMnu3ZQlKS2GezuL+ldphqTd6Zj5xJTK2tqCEs1zKBQC+WObUleqcMm82xGCwLCar
447N4eRrE3ilOSWuh96tNfn5+nESbF+8ib/Rne1pw0VntluHTZ9Xk45Jyk+qvcUXUmp+6hdX5BXFx0f
448wwHcqUpVnbvpdn1BQR1jQNkD6mKzYDb3JD93UEIPrmKtVJubX28HAKe5tKRG5LnXvafExIu0BV9a
449OgA4zYVFOnF8DBfcuMxiH294nlPxHU9HOC/CZLJ6NhgMltlgcrffWFqicw2520+kMfHRdXkFnoeN
450Oyy2IacV+m/XkEF3mE2NoogRf+CEjC3qpSOETE4cxdYU3da93oE5pkSTtTU/O+OFXIcLDBZPrE6T
451uHMhvljGcJl6sowoeay9XKvQeBOlqMS02PTdL6hcjPi/FKqjuKt3ZjLysreorC4GiydLykxVjLib
452DRjd1UyJJmtrYU5uaoG1zQVGqFi5dU+mT3bEUqapWeUZya9ZXQyefGNP4dy47dsNu1/9Q4GLwRIp
453U1OSzEXDVcVWaF7UvfqqqgDilJyM2DsowaesmNQ327KzUpOtbS4GLzpx5844LoAOfc4LWXZNTnos
454BxxFaqYzL+sFldXFCBXHv5E20tvClSrCS/RGSKMARCXujN+9e6tqr4vBk6fs3Kl8tQqD7/bDHUa2
455O1IWLzEjO2GIOAZp1xBMZ+p48sTb+MQJGUu/+fnnn8c7BkLIr0v6++cyN88f7yjI5GCrSN9hWPtB
456asyEn7zmrM3eUi7NyYilnO5X7bUD9X/Z5HeRxbuOBl4JIYRMXNy4jcr6ovJBJ8hNGMaSPHOihvI5
457Mn5o4JUQQshEFqXOyZwEr2QQJma/yR6P15YR4kEpHSGEkImNORlSpUkRJLmn0cArIYQQQsikRykd
458IYQQQsikRykdIYQQQsikRynd3WY8mFt8rP9LrEfNVnMg9/C5sS6VEEIIIZPUOD4e0Xb560qtwebs
459AgICg0MFy55cOT9k/MIZyHB4j87asxV037Q5D8eumk8PqBNCCCFkwhm3lM7xXUWpMXjF8+ro0EC0
460t1mv2qa4Hxb68XRBefuqZPkwi3T/MkLmJW+QcwF0d1j1R0uPV9bwn5XfP95REUIIIYT0NW4pXZOl
461hR25Kjo0EACCWbxIIQCYv953xOjsRmHueYCnTFk1H3Bc1JUeb7jpAgJZPPHvn1wqYAMwHN7TELEp
462yvaprsERIFyjWTmn3VpTceK0xd7ZDbC4i59YI58OAE5zzRe689a23qoFsZvXiYG2pmNHvzlzrQ0B
463gaGzYhKeEIcNMQodwOQ9/BD35Nc2G3A/MEhd6LafOVJ5/Iq9sxtg8JatX7XoPp9C2owHP/oWjz67
464TsxCt/3MkYrjV1o7u8GeMU/5uHw2C0DLsQ8roVjUfuLrC44uBLB4Em97AadJd1DXcNMFsLiLF/l0
465Fl4/e7DydJOjC0DQ/cLHJlpnJyFjpD5Ptat6+c6crdLetSJsFel7sT1zuPc0TRK2ivRt+02eDQYr
466XCRLVKtjhcMtjVGfpyqKeNfPTbDrMrZWK3PSb+edZH5ZdNlZ+XXWNheDJ9+YqonzF5IxX1MQnpm5
467etCPwmkszc4tOWP1vOksVS3tCctprsjLKalrdLgA5Rt9X/Lav5QhTzXma14rj3HvtpSmZiEtO4He
468uEp+NcYtpRPwpznrjZdaeXN88w/h0i3L/rXndKinbwxAQ2XhVy1zV2/YKGB2OoyHP684GPzsRveb
469qq/XftIpTdi0met+v3RwyAzx0k1PcNmMLtuJskJtzZwNci6ajlc2BMaoXl4QAsfZ0uJzoU+sVwoA
4702GvKKszhKzetFYZ2tXxbVvaxlpXyuHDQcLs7btY32IKFcaIh6sIlbdmxHyPXvfCsILjLeaMNvvlc
471t+3Y37++FbVmk5gF4JK2rLp9wXObpdzA1kuVh0vLTm98blEYALSe0Rnl8Uk7pjM7b9R+clB3XLBh
472lRCw1X5S2TRVoUpeEAKHWXuo0gEeAMB+vPI05j/7cnRIkKvNdu1fwZTPkXsXC3U5RfXZGslYLgBm
473r87McmomSlrYk6Z02M11JTnpqXUpmWmKO4uNE5tRGDvqiDpqs18tZKdlF0o5cJpLd6fvxp4Bd8vy
474Za5OkZI/eJzO6txddcLMfelCNjosX+56NVvneXOWsz4vNduemJaVEsUZ5p1fw5xqzN+rZ4d7t/jx
475GsmW3Ar5RPlkCbnrxu3xiFDpylXTbWWF+QfKas5d7xjstHMGM6J+v0LABBAUGrXmUeEtw9km9zHX
476tEXxUk8+BwAhsyO5bAaAQG4kN7TVYQNga7rW/sDcBSFBQFDogrnT26xWOwDYDBduCZetEIYGAIxp
477i6MFXVcaLg2svvV8Ye77e3Lf3/Peh4U/MJc9s3JOwOB1dRv1lzF/mVwQDCCQ/UBI72+dblvNZ0fN
478M+KeW8qF50yW9D+lXAYQEDJnSWRYi/lCq/fOiGIWT2cCCHogZv6MjmvX7ABsF80OrnSNpyHCVQt5
479feIMQBAABos7ixs64o+AkElHpkmVVmcX1ft/lYDTXJGdmqxSqZLV6fl693d6RXpyXr33eHWmSpVd
4806/1xU5+XnF7xXWnq1r1nTPu3qVQqledMZ31hhsZdTmp2hdnZc74qT2/R9a9iQBSjuroXkyNUaDJ2
481xhhzi3pC9tNCj2aT94hPpbaKdG+bYK8vzExVe64tNDpHHpXpTI1YneTuUmMLE1KSnJ/X9H87l1Fb
482gkRlFAB7dWZy+pfeJ8JsX6YnZ1bbAVhM9cLlSnf3HpMvWy40mNyFGEuyahVpaXHD5nPDnNpRn7fX
483tFYT39sjyZQsj7UUlRuHK5aQe8X4PR4REDJXqZoT01T/w7na0g+PPyBNeGYRr3+G2WKzgxvpk76E
484/pbd5nAAAgAh0wTBPue2NdVU1uqt9vYu9zYPALi8cEbDhbOtcxeEwHH2wnUmdwEHAG44HC5rWe77
485PtfzfhoYpM9cupuXvy39pNiWoFoxfZC6bty41f3AXMHAUrpufqtrcgjWPOMZQsWNG7e67U0fvv+t
486T00//RsIAYCp06b17A0MADq7ANjsraHhvN7mckND4QAAcBYpokqPFb/zA0+yaJEiihtMDzGTe5fV
487yduZKt2aXSTP0Uj6/Vq3V2enV0ky96UK2bBVZ7+alr8zTx0lkXGK6owaSRTQUV9n5fHsNfqOmBgm
488YDHpObL4hxPidjb3Gbc05qfuNiW8+UEGnwl7fX5mejb1i6oPAAAgAElEQVS7Z+hSl5UX/kZGYSoH
489zvr89N151fvSFH07DEd39QBsSfxqzo4afUpMDHOQFgIATOXlsszMwlQ27PX5Gb6VerHCFckZiUIO
490E876/PRdRdJCz5jlSKJiM3r/dg4PFzbXWDrA97n/xhodOzaTDwAcxdYU3da9FbLMOK6tYm8RKyVH
491wQEQJY+1ZX2uV2ikbDjN2iqbMknkvXR1ZtTQt6G3lsFO7agvyDWvfUMTrq/y2Rslj8Veg0UdRYOv
4925FdhnF8IFhQqiF4qiF7SdLiwQnsqamPMHY8a2mvKKvTMRQkbFvBYgbDVHDjozniEK5RNB48Wv/M1
493EMjiLXx8ldB7xX3znvsvOW+w8voJYIZFLo0xvP/VGfOK6ZxB6hpMmy1g3vwp549/I56zrGcEgLfi
494pVXRY5F+sYXyZPUjNy+fPVZTllsjUD4fN581BsUSMjGxpeoUyZbsgv5Jna223KTcmO7uBuIq4mPz
495dtcY1VFRIqmryGxDFLdDX1MnTtDY886YECOBrb7OLk0a+Ku+vkrLTHxztTth4UjUGqU6t9qiWO0+
496MzYxIcrdXSWJV/J2GMxQSMbuan/4QjHq7HaAO1gLAYARm5TgPsCRJCXJ/vB5rV0R1yenY3KFQs8d
497lMgkriKLDRLuiKLii8R1n5ebJQlCNjps1XkFdeCI24Deu28zm9rEid576U3q+MurCrwJHYAoddbW
498nPQtakY4285W7sxOjmICsJtNbeJ4e2FGRrnB4WKEiuPT0pKj/Ca6Q5zqTei46LdglFAsbdaanQl8
499elUX+TWYGO94ZQgE03CtfeDw6zQuBxeuWyH2pl43HI4p9/kbW7RZW0LmrpPy3NmM4989AzPtNlvX
500vDU7lvWdTSHghunM5h/Bu53HV7u6h6zrgQemBjRca8L8/h11IXMXy1cg6MBnR8v4G9ZEuvsOjVca
501EC0aadVhoSzHzX8C3g68G44+WWQAMyxy0brIed8e/Kj+Ysf8hcMOYBAyebFjNNtrPEld797mRlOb
5029jVVuc+JShcAUbTMpDU547jmM3ViqUbs1ObXGTUSodlgkskHfgfaLGaXVO6T6XF4fGujHeADgDAi
503vPcIg+ka26uHMVgL+xfNFIoizI0WoE9KZ9cX5hTqDI0O9yWiF+HnUr9RcWLTdlp2Z2wpcj8dkaQU
504VjXz+5ZttYDJ8LlCsTVFt3VXgXh7Tm9fobO+JM8gTEpbK7Ro84v25oa/kabgogNATWldWlpOMpcJ
505e31+xq5cof/ey0FP7U3oBmCy2WhzOgFK6civwXildK1N51oChTzefUygy9FQU2thhounAUAwM+gn
506x7VWcNlAAObL5tWWfqMVrlI+GNLpMB6utYbNf9bP2CaYwYzW5iutndwQOMxffdfUif9wH7D+0x7M
507v6//6SELFgsNxypPC9YsEgSjs8124Vrg/Mhp/U/r1eVoqDl9jSlUCgGz/7oCoqSzvy07XjN3nVwQ
508jPYfbU4WN6xnrJQb89zif+7TVVyYGTc3WLh4PqvwROU5buz80EC02y+b28Ie4g0xDY43NzL0s3OH
509/yFY9WBIp8P81RmrZ7QXrU0X7WyhICwYnY6rtn8FsqZSPkfudZ6krmh5Xrzv7oiN72YNeOCSKZFF
510v6U3IVxfLVIksrlOOaeoxqh2namLlmkmwTeLxWwAz/t4hN8WjoQxPy3LtPqNrLQoDtP9iOztXM2W
511JGfmJ/cUVRTBC+9z3OXqnwh22NvAQJu95+90Z3XubufGfWkxbEASlaWozt6yt0KUGQcA8mS11N0o
512jiQ+XrhtiN5LP6fKMGhCR8ivzPitS3f19PHqSvdctCAWVxKXsOJBAEDko49d/Fz74fvHAgSrXoqb
513O13+3BM1X+iK9xxxL2ISty7G7/P4whWxkZ8cK36n1r2qyNI5ZZ45sbOFvK++/mjPSQBAAIv38Mrn
514YrgAc+4Ta9qPVJZ+oO/sBgJZXOny+ZEDSm09X5h73vNvBmf279esiRyqrjnKNSuOVJZ+8L5nEZPn
515V4X5zPZjL1y54krxsQqjYE0U99EnEzortR/na7uAgMAwoTzhoSHvFzfmuZVtn2iL93S5K31U8Fmj
516+8hN0zelX7W5W8ETr3xyYCsIuee4k7qsfFEC4O4eEoqjG7UG+2pu/x8QbJFMlKev4Nfx5fEcgCON
517Ze826Dh6jiTeT9cNly9kfG6yQOLtamtuNIeHj3QRkNFd7YdTX1pql6eIgSFaCMDc2Ax4kpoOs6lR
518KO4zpGwzmxyxSZ7xVdibLUDEnQak1XFiM/vmT+ERQjT6bFtKd5fw0vYkVr+690uZe1kTp9POE/Wu
519fcIWiYWmxmZAwhcyauz23i5F16APy3H9n2qq0TabsE21v/fMXSqt6EX37MjBiyPk3jNeKV3I/Cee
520ne//EGt+/HrfQ2yh/Dm1vP9Z4lU7xH12sEWxm0SxvduaSADtFysKzk97TrPK/WBsp0P/6Ue645Gq
521ZdOAAE50/LPRQ8Q4oIqh6wL8lhm1LqVnOi8req3ae5Q1e+maLUv7FTxtxYbNvtvz12zuuRX9K3X/
522lEdI9JPrh2oFIfcmdow6Rbs1twjCje5tWYIyPztPJ9oey2cCHZZ6M0MSxQXAlcjYBQUlwo17uADA
523F8ucuaU6pyzFk/UwGCyLyeqM47IBQLI2ibMjt1S6M0HIhr0+P08nTsoZ8ez60V3dR4elXluUW2RU
5247MyOYQ7dQgC6ktLl/IQoDuz6gry6aLW6T97HZrNQrzd3SITMDlt1YamJwR7wM3UEEdmN5VlZesVO
525Tb8Wcbk8aM3eyXmW0qxSUWqOlMsWpVZv3V0qzU7gg8MXNmcXVctSFFwmOmzVRSVmuUYEQBKfmJee
526UyFKi+MzYasuKm1Wpg4yI8X/qRJJcbGm5xxbRfq2xqSe5eosZgNDGEsdeORXYmLMpbtrTMam0Dm/
52771noJCiUG8Y0dnaNa0yEkDHhmYbvXUacKdFkbc3Pzngh1+ECg8UTq9Mk7j+n+GIZw2Va7hmxQ5Q8
5281l6uVWi8f2tFJabFpu9+QeVixP+lUB3FXb0zk5GXvUVldTFYPFlSZurtrNQ7uqsBaHeptAAARmiE
529OFazJ03ak5AM3kKWMk3NKs9Ifs3qYvDkGwdUylZottftTv/D5y4GSxS/c2eKfa//dWD8q89T7dIC
530jFCxPDkzO1Y4YLxaLJM3lrs7EL0JHRvuR1mEW7JKZdkJfIkmU52Tl/7CXocLDJZIrnlzqztT5Sdk
531pjmzMl7Y73AxWCK5JnPAs8w9buNUN1t9nV22dsRzlgmZ5H7z888/j3cMd1GT7qPSm/OeXS3lBQPt
5329kvVFWVXZqxTL/U3G48Q8gtJf/9c5uZBuunJZNRRn7clj5eZvXpCrRZiKU1Nt6fkq0e0RAohY+S1
533A/V/2TTss+x3xT3eSydYtmrZkcpPPzjd2Q0EBIbxF6x5dhHlc4QQMpaYkkRN+NaS2tjUmLF4ttTT
534LehrmPeE+WGvzi8RpuyjfI78etzjvXSEkAmIeunuSR1OJ9jsCfMU8QQLh/xqUC8dIYSQyY3JnlCr
535v02wcAi5++jtUYQQQgghkx710hFCxkHE3vGOgBBC7oINd/xm01GjXjpCCCGEkEmPUjpCCCGEkEmP
536UjpCCCGEkEmPUjpCCCGEkEmPUjpCyOTw1gY0bsc7fd83//FL+Fg6TgGNOSl+2I7Gnv+2onIt1oxg
537qnXldv83Yd1aNL6IdaOOS/wIvnnJE9U3z2K5v3NmLsPFl7DpLk0MV6LxJWwa7GgIXn8WP2z1RPjW
538gKPlW9G4wfPvv2/F3+/g/baETAaU0hFCJpO4Zf5Tijs3D3VDpAu/uJK9iNiLiAN45XtgBt567s5j
539O/g5Ivbj4CgD4mOfAu1mrNoLxWE0h+OdZ/2c9c4CNFzEgdZRVnYn3kpA8v0oOwbFXkTsxR/7Hn19
540DSJ7NlrxVyMe/t0E+rgJGUO0iAkhZNJoagAi8boSK7V+ji5fhswFEAQBwKWL2HgEV6X4YTkqDuCP
541rQBQ8CJiu/DcBzgJIASVm9B8FQtnYgrwxna8AZTsxR+BNY8hU4zQIABouor0T1EFAKjcDkM1Fi7u
542W0W/IEKQuQbrwjEFQDtOGPD8cQCAEo3T8X9uIVXoOXSoGi+fHbyprThYg4MWVD6JTU/gwBEAQAQ+
543XoFHpwKA4yb+WopCbwo1dSa+UUAQBHTixFlPpZuexRssRHwIAOuU+FMkuMEA4GjGy0WoGmFUYgic
5442HYEBgBGPD0VFxfjT8BffU6Z+RgeBv7PV57Nt5IQF45QAED9D4gfcv+mZ5EK/E8nUoWY4sS2/SgL
545wTsJiAvDFACdOHQYLwMAFq7FxQFxznwMiVPx/v/iz/6yySVKJE9F2XUksjx7TmpRL8a6ZThwfPCb
546T8jkRL10hJBJY2ow0i9iThTeGvh6+Hl4ayGaz0KxF6uOIfgh7FsG6NHQCfFCAAAfkcH4aSo2ua9d
547gJmd+P5TPGQA2rHL28Ezcxne+h0M30OxF6sqcCscb63treQpKaqOIWIvtv2AmQ/h9QEvEH19Df4w
548FQcOImIvXmmAeCEK5nmPhWFTMNILEXEAf7uFpxZjzbANbkRFMwQzsAQAUKCE2IltBxBRiJNBeH0N
549ZnpPlMxEhRYRe/GKEQt9K/W62oyDVVDsheIwrt6P15W3E1UXmnv+fQ3NQYjse/83zcBPzfgf76bh
550Kv580HOXIn+Ht0KG2R86E5uC8ccDiNiPMuD1NXiK7bmH/3UcB/8BAAjGEn9xuqv2m8+Bj8wofH8S
551hr67TzYjcrq/8wmZ5CilI4RMJlVHcLQNa1Z4spwem8TgNuPp47gKGM6iohmSmQDQcAszwwFgyQII
5522nDSiUgxAGyagSm3UDig/NQI4Bqer8FVwHAeWy6COxP/7T16qRHp5wGg7Ct8347IvhP7EILl4fju
553B/zVAgAHtShrxpIFPsEfxsEbQCvSDXCwRzSCXHgLCIYYgBQL2ThYjLJW4Aa2NGBKeO8A4qUG/Nno
554qbTqFhaK+5dzUo+/nsdV4KoRhlsInzriqK7CNhV/WoaZwEw+9sVBAEwN63OKeCqab/VuHjiOgxbP
555XboKzIwcZj86ve0acA+rznq6SAeLUzwVzW0o9071+yGpN/63ViD8Op7X978VFbcwZeoI8mlCJhsa
556eCWETDJbjuGbBGT2HX4Vs4AwNG73Oe8mABz8EYnTsQZYHg7bTVQF4Q13hjcVTc0Dhk2BmWxcvd67
557efVHOIJ6J2M1Nw+4wFckwoHva3p3NLRjinfID+0wjGaqWThCgc3bsdlnX09i5hvYyVt4nIV+kp9A
558qtAz8ArA0TbiqM7jz9ORuRDVC4FOnGiEYyqu9h2cnRqM9i7vRgjeWYPl93tGrgFvD99g+wHc8hnG
559HXAPh41TMBOHTmKLHlPn4a0VeOtJyL7AEiXWsPHXD/2cf7IdCEL4kI0mZDKilI4QMtk0Ir0B/xuF
56010/22e24it992v/ck0bYIhEXgsgwGE7hABt/UuB1IHIqGqp/sYjvXPJUoB0V7o127HoPB26/kJnL
5618PpDMPyAl0/hZCve2oC427m87CuUeefDYRka2/sPZQb7/Pv1NXhqKv52DP9zHleByu3D7B+9JjNe
562dnfFncdBMd643zvkWn0n94qQyYsGXgkhk0/VFzjahmSfwbOqWwi939+CHUY0tCMyDpHtqDoPnIKh
563EwvXYmYnDEY/JV91Yub9vZszwxHaiaH75no1oBmI9FkjQ8zCT+0jvNifCKyZgaZruAqgEbZgLB8w
564Sc4t3KfTaclUn044AEBcOKbcxNNf4WQrAIQH4469E4mfbvZPlZp92iieiksNSD+PqwDm9fYjDra/
565vwH3cGhXnQge2Bwx5gTh0eWe0dg3Znp6cN1LvcwMHGnhhEwulNIRQialLSdxKxyPen+dl53CpWD8
566aS2WhADA8keQ6V2q7fubkMxEe7MnEfn+R4hnYsqP3sG+diAYC6OAEMwEss+ifQb+vgwzAfE87IuC
5677WqfpzuH0orCq3j4d57HJtYpsSYMJ4d4rHUID+C/lfjmSYTfRLr7cVcjqm5iiQJ/4gOAOAJvPdZ7
568+pwIZM4DgHVPYPlUfN+3G625E5iK1/lACDY9iSXsO4loJh+ZKjzFQtmA3s3m9t7Jee2dmBmOJSGY
569yce+JeBimP39taKqGQ//ztPMJfOQPPBRGB/ZDZgqxMdyzATEC7BpOi5dB7SI2Nv7366rwE1E7PXM
570q0ueCjipA4/cg2jglRAyOZ3HX6PwttC7acHG4yhQ4BP3IwPt0J3yHPnrdaTMgKHBs3ngGjaH41JP
571z9txlEQgcRWeAv62F+l6vDwVmQtQvRAAmq7ij5/fRlAHPsXMZ5G8CptXAe048T02nr+9ZiVuRyIA
5724Kd2NDRgy5HeUc4/liI4AZvWIQUAYDP3XnXIiOUr0BgHdPqptOwY1q3D5nXYDDia8VczUm/nZ/9b
573G5AYBgCOm3j/C/zZ0v+EwmY8NR3rgINA+il87P0U6n+ALtIzLDvY/oH+XIbwnmZ24qjWz1MsPa7W
5744I/ByFyIahkAXGrAy/4WuPG1MAxN5mHOIWQy+s3PP/883jEQQn5d0t8/97d/zR/vKMjY4aNyHW5V
5754+lTw587vmbKUSnDwQNIH49VkcmvwYaQ+r9skoxL1TTwSgghZHQs+B8zHl4w1i/2uAsyxWhuoHyO
5763Jto4JUQQshoHfwczVFoDwEmcrYUgsLjuOrvsRhC7gGU0hFCCBkDVRM/VWpFxUTOOAkZHRp4JYQQ
577QgiZ9CZDL53h8J7Tockb5AMfej9X9n4tJ2HT0mm/dEgWfamJ9VhsVOgvXTEh94jGsVtplhBCJo7X
578xm+BnHFP6TpOf/ZhDSv25Scihz93CKaKPTrmGk3snP4H7DUffXpZ9GzyI5xRld+P49rlplA5+r2y
579u+3y15Vag83ZBQQEBocKlj25cn6I/wJGrKH0va+D49SrHhxlOYQQQgi5l413Svfj2XN2VrDNcLo9
580ctEoFjSHKG6HyPPPm7WflrbHervuOPL1m0e8DvmoOL6rKDUGr3heHR0aiPY261XblDtaz7OvyISX
581RpfsEkIIIeRXYJxTuqYzxlv8RfK2ry9d6FgUzezZb60t++J7m7MLQaGRyod8Lui21XxeefqfbZ0I
582DI1cKun27vcOzjqPfVR6oQ0o3XMWECzdsWbasQ9Lby7avE4MAJ2W059qz1rbuhAQGDYrZs0T4rAA
583AC3HPqyEYlH7ia8vOLoQwOJJfv/kUgEbAFrPaStr/tHi7AICQ+aueHKVaMDbsHvaYmlhR66KDg0E
584gGAWL1LYc+jmuYrS6iZHF8DiRseuXCFkeSpd8fsptVXfXmsLWyRjf38mdPUGpcBbmu6jg62LdqzB
585wVx92DrVCq6nnLITTTddQECg4FHVumgWuu1njlQcv9La2Q32jHnKx+WzWQBg/f7wkVqrowsICAwT
586yhOeoDFiQggh5F42rildd4Pe1Dn3iaj5Ny8eN5y9Gb0oDADQfrGi9Lt/z129YYWA2X5dX1rWgCnu
587hKTjwpGj37ZFrntBLmB0WL87+qkJ7LA+Rc5esV7p9J1g19J77MfThWUGtuLZlxeEBLVba8oqP9ay
588Uh4XAgBaz+iM8vikHdOZnTdqPzmoOy7YsEoIIDgsctG6ZYKwYDguVn5SWXUuctX8QR4pEfCnOeuN
589l1p5c/oNtjZUfvxt+6Jn1YsfCHT8Q/fpkcM1zz0rvx9Aa/2R2rmPPbnj6RAAF3787pjJqhTwAADW
590C+b2OYoowNinnG/sc1dv2Chgdra1OMECcElbVt2+4LnNUm5g66XKw6Vlpzc+tyispfbIKUQ/r14U
591GtjZ1tLkYFI+RwiZlGwV6dsak4o147NyKyGTyrg+8dpgNjOEcwUIXvCQwGE87X3JjMnYhKjfrxAw
592AQRPly59yNsx1m0+dwXzl8kFwUAAk/fIYsl9t1Gb7VzDTa50zYKQIADBPPlKMfvy2dPet02HimIW
593T2cCCHogZv6MjmvX7AAAJu9BQVgwAIQ+JAjrbrXdGLT8UOnKVdNtZYX5B8pqzl3v6Nl/zmBmL4hd
594/EAggNAHF829324yeR6jD5wdo3zQkwDOjRR0mRua3BuWhssugajviOs5g7nntgSxpoWygG6j/jJL
595+p9SLgMICJmzJDKsxXzB+4h+UECg+8zZM0Y7oY+QiaA+T6VS5+idvvtsFenpFbbximis2SrSVT2S
5961VszcnRm5/CX1eep/N8Euy4jObPaPvrALLrsVHWySqVKTs2uGCQkY74m/cu7/lE4zRXZaZpklUql
597UuXV+4nB3+5xjsRSmppaOuAlaoSMvfHrpfvxdIHW3AkczPV0RDWVVwo2r5wb0GKzgxvJ6zmR9wAH
598jQCAGzdudT8wV9BzhMu9H+YRV2izt4aG83on7N0fwu7+t8MB9+ujp07rfWw2MADo7AJw6eiHZTeE
599a+IXz7mfOaC8AQJC5ipVc5UAAFfT4fwKm1i1MabDZgd7dk9SFSJ/zj23rwUAd3pvMyFamdD0Ydmx
600yJQV0B41z35iw9w++Xb/2wK4bwhL1DNjL2TRxpRFAICYTRqg3X7p2xPHv7f+NGvpxvioMZjXR8h4
601W65RVG/V1KVlayR+vqKd5oq87IIaq4vBEilT09RSDmwV6TsakwrdfTzO6swX9rL/+LfUGCYA1Ocl
602F0W8Iit/u8jqchegfKNYIwGc9YVZ2eUGh4vB4smSUjVxQrb7fFWNbI9Il5XXp4oBUYzqam8MPYXl
603aZKdmg88IftpoUezqSJ7d0GN1cXgyTd6K+3ocLm4HPc59vrCnDytwdrmYrBE8Tt3JkexRxhVfZ6q
604VPxBdn6qe9PyZepWfVpOAt/3HGO+Ojc8M3s1d/Cq+tXFk6fsTBWZsnfn1Vnb4HsenMbCrKxyg8PF
6054Mk1apFvJVnYmZeaFTfwtqGjPm9HUURKoqi80c9R/yHZKtL3IiWFWZKVV2MVb/8gXVSdvtelSbLn
606ZZWbPEEloLQnmJSdqQru7UfCT8hOyVer83fmq6P8nE/ImBm3XrqmM8abM2JSUjbv8Py3aj7DfOZs
607BzBt2lTcvNH7x56txdvv9ABnKuy26z1HWmy38+cnlxPiaLa292zbbtzCb0OHGpJsuWLrECxc6snn
608fmwdwZ/LXgyBYBq62juAabO4gdeuNgx/CSB4SBhkbmhqajBB6JO5uk3jcmC7bu2zj8sLZ/zzymBl
609B3PmLF616b8WhZovXmgf5BxCJhWrk6dOlVZnF9V3DDhmr85OrxKm7isuLi58M96enZZvBLgSGae6
610zv1nY0d9nZXHq6vRu6+1mPQcmeThhOydSohefLe4uNidSxnzU3cbZBkfFBcXF2ZrONr07N5+Ll1W
611nj0+o7C4uHhfmkiflVc94IfC6K4egC2JX82p8YTst4VupvLytoTMwuLi4hwNp9y3Ui9WuCI5Y5+n
6128rpdRT39SiOJis1g9Pw7PFzYbLb0vf/GGh07VupN8gatCrqsPGfim4XFxX97U9m8N12TZYjNyC8s
613Ls7RhJfvLnG3xlaxe5eOvzWnuLi4MCPeUlJg8qlktdJ/UtRRX5BrXrs9LnyQ+zhoSKaijCJ7QmZh
614cXG6gu3ekVUjScsvLC7OSeFpd6e+WsTR5BQWF/8tU2be67k5tx9JlDwWdQbqqSN32XildNYL5vY5
6158xf4POTKWzSPYzWcvQnMnSvovPjttze6ALRf1x/3DlMiYM58YWd9jd7mAro7rN/VXvD3E3EKM9B5
61685+ObqC7z37uovmCFn3pdy2dANqtx78y/hS5YMjHbJlTmLhpMbd3A+22b48bbw51t1qbzpmt/3L/
617nOtyNHxda2GG86YBmLNQzDbXll1o7QTQ3XHzSkPTYMuX8yNnB5iPn7ga9GBk/4wOmC8WwvjNsaYO
618AGi3W1s6AOHi+axLJyrPObrcOy9ftDoAtFovXLG3dwPoclxpcTJYoaN5mpiQiYQtVadIdNkF/ZM6
619W225Sbkxwd0lxlXEx7p0NUaAL5K6TGYbgA59TZ04IUFcd8YEALb6OrtUxB9Qfn2VlpmYsprPBACO
620RK1Rmkqqe34XxyYmRHEAgC2JV/L0BvOYXu0PXyhGs90+eAsBAIzYJM8BjiQpSXamvLZ/TsfkCoUc
621prtymcRltvT82TxcVHyRuO7zcvdwa4etOq+gDs32Nt8zbGZTm1jYcy8Hrwqxie57w+TL5BEOYUKS
622u0uQo4iVt5nMdgA2fZVJptno2R+VnOh9bazdbGoTh9sLMzTJKpUqWZNRaPT+AvCmUQPXLh0+JPZq
623753zEK5d66k8RiFrc8mSPBELlcoIg8F8h5EIxdLm+pGMohMyCuM08Go6fwGRCaI++8KkUbzvz+tt
624i1Y8FJfgKPviYH5NN4JCI5Ur5t362n0Kc+4Tj9/8vLIw7zQCAkMjl66StH41oOw5S+WC4q8PvHcC
625wtgd8T5DCCzxumdQeqTsnZOeJ16fVwqHjDJEvlzadKQy9z33464rF/+k+2nwsx1XTx+vrmzvAoAg
626FlcSl7DCvZgcN+a5Jzq/0H36zrEuAEH3Cx970k/GBgDgRUcGF57tmq/g+TkYufL5f1eUHflwj/uJ
62718XPrpvG5D76ZEJnpfbjfG3Pw60PAbBfOFZxuK3LE4ly5YDl+giZvNgxmu01W7IL5Dm+c+abG01t
6282tdU5T4nKl0ARNEyk9bkjOOaz9SJpRqxU5tfZ9RIhGaDSSYX9S8bNovZJZX7ZHocHt/aaAf4ACCM
6298Ol8YTBdY3v1MAZrYf+imUJRhLnRAvQZQLXrC3MKdYZGh/sS0Yvwc6nfqDixaTstuzO2FLW5GDz5
630xiSlsKqZ37dsqwXM3n68QavqUxeDCS6H7bMFdLhbKRILe2e68EQi98ybDgA1pXVpaTnJXCbs9fkZ
631u3KF+9IUbHca9YZm8IRuqJAGpPVCfk9BDCb4vN6Wem/OnUTCZLPR5nQCNAWG3EXjlNKJVr488Gdp
6328ILnXlrg/icvZs2WmN4jc4XefwVw5U+v91lnLviN+AkAACAASURBVHK2+//iVTvE3n2sqASfGQsr
633NmzuPX2aOCFZjP6m9TkHmL9m83z3v6Yvek69yCdsFQZW5xEy/4ln5w8o2o0tlD+n7rc6Xv9K3bhL
634VTuW+u6IWpfS25aw+XEb+9fBmr10zZalffeFiBPUA5tJyL3Ck9QVLc+L990dsfHdrNX9f50yJbLo
635t/QmhOurRYpENtcp5xTVGNWuM3XRMs0I5siON4vZAJ7C0yq/LRwJY35almn1G1lpURwmUJ+nKrqd
636q9mS5Mz85J6iiiJ4fYcVXS6fRHB0VQ1NnqyWupvPkcTHC7cZzJBh+ITuLoR0h5EQcleN91LDhBBy
637+9xJXVa+KAFwdw8JxdGNWoN9Nbf/IwdskUyUp6/g1/Hl8RyAI41l7zboOHqOJN5PjwmXL2R8brJA
6384u27aW40h4eP9OUzo7vaD6e+tNQuTxEDQ7QQgLmx2fOkF9BhNjUKxX36nmxmkyM2yTO+CnuzBYi4
63904C0Ok5sZt+0JTxCCO9DCaOtKpwXYTJZ0TN02dxodv+Dyxcyauz23s5HVwcAmGq0zSZsU+3vLWKX
640Sit68d3MniLGrvWjiMQ1cPYnIWNtXBcxIYSQO8SOUacItblFZu+2LEFpKczTeSbud1jqjZ75UlyJ
641jK0tKOEsd3er8MUyp65U55R5sx4Gg2UxWb3TnCRrkzgluaXuaU/2+vw8nTgpduCUu0GM7uo+Oiz1
642X2a9mqVX7NS4H3cdvIUAdCWlRjsA2PUFeXXR8TF98j42m4V6vbkDQIeturDUxMAd6LAbS3dn6RUa
643Zb8Wcbk8GM22MamKK1OKakoKPXfQWFqi8x6RxCfa83Mq3M23VReVNivlIkg0xT7efVEE5RvFxZm+
644s9nGpvU+7iASi9nA8BnSJeSuoF46QsjkxFFsTdFt3eudqM+UaLK25mdnvJDrcIHB4onVaRL3rAW+
645WMZwmTwZHRAlj7WXaxUa75SGqMS02PTdL6hcjPi/FKqjuKt3ZjLysreorO5lSDJTFbfRzTa6qwFo
646d6m0AABGaIQ4VrMnTdqTBwzeQpYyTc0qz0h+zb2IyYBK2QrN9rrd6X/43LOGR4p97+3M1K/PU+3S
647AoxQsTw5MztWOGC8WiyTN5a7OxBHWRXAjdv5RvPujC2qNve6IWmx2+rcR/gJmWnOrIwX9jtcDJZI
648rsnUSIYaObeUbt1Rn/RBumLUIQ1wm5G4H8aRrR043YiQMfWbn3/+ebxjIIT8uqS/fy5z82BTT8kk
6491FGftyWPl5m9+s56JO8Ge0X6VsNa74p+48tSmppuT6Fl6X4lXjtQ/5dN4/O6Exp4JYQQMjpMSaIm
650vKikduKs0tFhNDgTEydCPgd7dX6JMCWR8jly19HAKyGEkNHiKNI/kE6cjA7MmNTs8Y7BgyVN/UDB
651ngjJJbnXUUpHCCFkDDDZtOiaP3RfyC+FBl4JIb+0rk5a0YEQcm9ydQzxUoK7i3rpCCG/tMaW3/zp
652f04xgn873oEQQshY6ursuNLym/GqnVI6QsgvbV9y83iHQAgh9xoaeCWEEEIImfQopSOE/NJ+8xsa
653HyCE3JvG8ecbpXSEkF9a0H0zxjsEQgi5K8bx5xv9rUwI+aVNCZsHoPNf137+uXO8YyGEkLHxm98E
654Bd03w/3zbXwCoBeCEUIIIYRMdjTwSgghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFK
655RwghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFKRwghhBAy6VFKRwgh
656d0un0+F0AQDanc72u1xZTxW/QF0Tj+Oy/rJ9vIO4y9qt589bf30fLRmxwIyMjPGOgRDya/JDydt/
657O3KiD0uIXGI7+PbxTrnkP/qc2/JNfvEVgXQW624Ecr5079dYMu+Bu1hy/aGcEz/LJf8B2/H//bRp
6585sOz2T3njHnTeqoYWFdfZ0vePt7d/04Pr7Pp5KeffXrkWPWJEyfqLl6fIpg3fYxibznzWdEn5V9V
659nzhR90NDJzd6VugdFGKqLPwhaLBWnS15+291eEgq8EZ8vXL/x5dnPvzgYPdoYrpZ9/n/uyEc/JP9
660xd2szv+4SbDwzr6I+38d2o7t/+jyzIdns3v+MXaB/loEjVvNtpoDB887fHaELkjYtNRe+t7XwXHq
661VQ8OcWXDkOe0HPuw9OaizevEYxotIWSs/C7xld8BwNmDb1+IeiXxd57dZ/2dO+33avWYVn7+UL41
662Rr1yOgDMS9g+b0wL7zGSkm+/aS3VHxyb+kLigjuJaDTXAgCuV+UfNAlW/2HbnGnBaLee+fJQcUng
663xsQFo/+166guq+qSbtz+CCeo02mzOdkAcLM6/9hU9bo7j7e/37J/+rbiVPT6R0Yb8Kjv5L0kTKF+
664Ybxj8GvMv34mifFL6QCAp0xZNb/PnmkJL0UOd1XkCM4hhExC/z5fvr/8vANg85Y8tV7Bg+3Y/kN4
6656sUVXGfD0c++PGdzAUHs2cvWP7PQtyPHefnYoaNnrM5usPlLnlIpeAHA9cr9R/EIr6nqXEsn2LzF
666T62Xs099nF9l6YTpbT1mxb2SiJ6csrtFf+jvVZcdnQgKjYpbv3oeG7Ad21/OVIgaK09eb0dQ6LzH
66718fP7UkH2k999J510fanooD2Ux+9WxWkdOempkP/9xTv/1sfXNYnW/Wrp2n+K+puOfVZSXWTs7Mb
668QWHSp1948Px7n51zAm+/XREq3fDiSpwuKa++0uLqvVeDu3y0z7VcAM4L5fsPn3f43rGemxDQr7EA
669YKrTB8n+8HjUNABAMG/hM/E33iuvubJAOct2bH959yMzLFXnbnT2CeaG/rPPqy7bO4M48+Kej5/H
670dn8oUxSif1R+a2vvudX//qmTFTaLEwQgiM3lsYGGo+8dOufsxttvV4Qu3PDiilDT/yuurLc5O9Fb
671FJznvyypMLZ0diMoMm5rgs8vb2vl/tKbi/unm7OXLL72zZf6eSppv6TO2VB5SKu3Or23ounou7r7
672NmxUhAJXjr5b0jRvw4sruYCjJv/D1nmiy9/4fgpcbxt9v0LOHtx7WRQXVNfnK7mXn69MHgCbvw/U
673eaG8pOJ8iwtgzI7772d6uyCdZ0sKvg1LeHElr93PzblxquRg9RVnp+fkvqH2nua8fPSzQ+dsnQgI
674YkcsX/+MtOebqueLEwBwtuTtC3NfSVzQ/2ty5azrlfu/wFMvruT6/WThvKz97NA5W2e3p9hZymG+
675KXr9+x9HCz7q8xXVU5c7Ju83r5+7/e++Xz/is34v9PlETpUcrr5ysxMB3o9jYEt7z/Z3wyeM8U3p
676BjIezNWHrVOt4ML2dfEXP8fI22u1Da2d3WDPmKd8XD6b1ecctDVov6g9d6MNQBBr2iJlgpwPAGhr
677OFz49QVHFwJYPMnvn1wqmEj3nBDi35XT51cmbY/n4Io2v+T4qUeef8R7pOWUron79PYNgqBOp/Wm
678q8/AXPvpQ59d5iamrJ/FcJgOl3z2JXfbGhEA3Dx/Pkq1dQcXdv3f/3boqOClx59f79h/CE++6O6l
6796+kXvFJZ8k3nEvU2aShsJw8Wl9Rw1fJpAFrqvhU8o3klItjxfUm+7psrcx/3/mQPFkWE6q/aEMXF
680xcstoaFTGk34nQjXr9jYPEUwrLfZcD8VXag62b1EvV0aivaW6/+6D9NmvRR3y/2b1X0JRxq3+Wke
681G1e0+SW15xUJQ3QLzn68z7VngSunLqzcsC0+FFeOFpRUff/I+kXBNt3fv+l8RL1dyr516u9/O3Rq
6829vpHgntKsF35J1sgm+Zb6Kyo2Z26JgdmAWi5cH6uausrXDi+//uHh44KXnp8FmyVpd90ydSvRLMd
683p//+YdmpB59/JBjAzZPftiVqts8KbtWXFFR90zTvcf4s7k9Hjx6b9dRSUSgDABD5+Esrb71tnPuK
684t5eFHbEkcaloGsOhP5hffbpl3rJp7acPlV8XJKaoZzHana7g3t9kzrMl5Tapan3/7sN/3wpcEjfv
685wGdHDfOeEfc2DO1nyw9f5q7dvp7fdaXyw0OVgpeUD85q1V/pxoIAm6lpSiiaTA5wQ3HF2sITL378
686cZbPnbxy9OA3XYvV2xeGwnaypLikmqtWhAHoNFX3/0oO9g1m4FemAIEDP9D2U4cOWwXPbFNHBLc7
68724MZsLkv77ZWFp+e+vj6lTwAwQNvzvlvqn763Yvb5aFBjpMffWiTblrJ9fdx/Ot0ZdP0p7dvmBXk
688clp/7Bx+tLv/12RfAz/Z356qNE2LT9kgCu68/OX+qtDEkeZzgOPy5fmqra9wgxxnSrxfUYMZeLf7
689fv1cH64y5jRp3ItP89loOpp/8OR5+TPzhmqpnxs+0lbdfRP68QiH4etz02K3bNm8Q5Mw13X+cHVT
690vxMu6HRN3OUpL23e8dKGTY/HCL1zYpp+MIatTNqRsvnldZGd9brj5l84cELInWBHLZFygoCgWQtm
691h/7L4TMxIyh4yk/XLl52uBDE5nE5vhe1nzXaREtXzgoGAkJF/ymddunsec8hnvRRbhAQxJEq5qLJ
692ZBuk2ivnTVMWKqWhDIDBXSIX/ev8uRb3EcGilRHBAEIXzuU5b/WZKMKf8VOTyQGY/v/27j+uqTPP
693F/jXcOCAUY4mGDFKnKhB4oCGEWtamDojI1QcmZYRb5mpXZ06O3bGXdv1bu/+MXvv697Zfe1M17Sl
6942tpdaaVjt84YC5VuUdQw0pEWKhYUxiCppgSNEEnkgLEEQnL/SAIBwi8r4nE+71dfr+LJ+fH8OuTL
69585znOc1WaZKGu37VQuRqsXUvUN7NL/jhF2IjyWEyt7pIxErlUnbYEdLFKrmYIWIU31aK7Tb7xK4n
696Vj/iy68ieRHn5HkiW/1VJnmdhhMRMyslIdZqvjzWOVgmsrfb/6z+Ao1WxhAxXHKqWtRiaiVqrTeH
697J2es4IgYbmXC3OvmJt+eHsXKHyhYERGnSZA7O28RiVTZ2zYsclQU7ssv+LDO1hviUnKVSsoSiTjN
698UjnvsBG56pusykd9lc6K+0vHazUcOS/JyksJ+XykSJ6+TmUrLzN5gjZebmxbuCY9jiERq0hSMs0m
699GynkUqv5SyLe1NITp1nktjS5iCxWm1wxZHyo2WiKSs5I5hgiRqZNDWo4XELaCC3Zn6HhLXN4hbou
700mqzKVF/DCMqks76o1LEyN3OxeITCCRbJeJzO3tDVwbBst9Vk7nBTuFguG8fzi6O3yeE1GyQsgrnt
701dI59iX6xiVoZQ0TcikCLGtlYpT0WiVI1X8wQMXFJSrHD1j5GTkct8Cn2oPXSDSZe/Ph3ZCwRiaSP
702L5Ofv3DDQXGSYXuFiYgoQjxP3v9XGad6ZHVsBBExMY8kzqs/f6ODvjVr2HEA8GCRykYaPuS0eXnc
703mXL9/lKSp6SvTw16cprnnWJxdOBfLMt4+vwDTjO5/uiKEY3yu47v/Fos7/9GY5lIr7vPd1XJyFMI
704Fi5S8HVmj6WtRSxblcRdPWRqJb7ZKl82cm/CyEJcaHHWtsiqCsPBCqdY9WhW1oohgaLTXF5S1mD1
705T6flNH0Tu+Dwkm5z8HZLga4q8G9F/FjncLm7w2ewRC4iLnqgpP0dBTYH3z7ofAm+/4csU7EyddP2
7061F7eVK4/9L5z69+kDsqtx15X8tHZZrvLV68LE4h43slxw74M2ipLrL1M4tDNQRZmpi/cZzhlUa3w
707b7C1866mEp0usAOn8XXB1lisLt5ilyWmLKaac00UZ2th5SlDvtv5TldQw4kMjyR/wyEuRjZKKkK1
708zBAVync5gwrWz3mprLzPLe+vnRCFQ+p1WcZ3C/I/I2LE8lXZKWzo6uBWb8mbaSj/4I1Skqd8Lyt1
7098VijWaO3yeE1G7MmK7FQv0/nJmIk6ozNE7g1gk7GjNn1NEZpj8V5xVBiaLB2+UqQ07hHzWmoAn9w
710TG1IZz315tun/D/PXOEbSw02K6iiREQet3vw5wmrH20sPb63UJqwfOVjSXH+TnuiaOlABYSJqP82
711AwChEknVa3PVa92WU4X6U5LdA+OMHCfmzTaiWCIicrncojD/7zXe0Ubk+x3S3dtN4cNP6j9DdBRv
712a+0/g7t7WmQY0Vi/NVRKeZm5ymSLUGbHsuxCpvhqvdsmV2z8JpkcRDxfm7VFS3yd/t3iivnb1wT3
713PF0sLboqyXkuVylm6KJe9/k3v1okGy5f84u8oVGLn0wx11n5pZ1iB361WprMjDyLI7INLml3DzFE
714FMky8jU7RjpfSOGcKnO1QtdoJQoOFmxniit6NM/sSJGyZCsvOOQgIo4TO62dgSoL4FZuyYkqPXjc
715oN6WLh8hDlBlpNcfOGmIVfr+yUYybGLuziHDeovimDJzTYdVEZ9HCyPlx431Lc7uBalDwysumu2w
7162YLbWFTYuHI6vGWGqlBuptjZygd29AtTZu5Ivlr4YWn94twkccjCIXJYHDHpO4KfGhyhOqTL0nOX
717pbtbygqPlklezAk9eG8d6AMe2ibHyKfLanUn5u1OD/2XGhMmcrtcRIE0BRdgUAm5yTP8WKvNMca1
718RzDsQE99aYlZ8uT2XKWYoXq9rtq3eaS7L3SBPzCmduBVvu6Xz73o/29YPDce0mVPbtn6t5nxZDrz
719ztsffDLmkDkACJLL2uLvwODEQ76V2KR4ueWcweIi8vCm03X2JUmBbyZL3Sc2N5G7o6b6MhOnkhGF
720MdOcvGPIl4RCrXIbz9bxvUS9tqpPTTPUieMZPI1fKDXXNNCiJBkRtyjOfam6RaxQTSCEGVWH1exw
721ERFFisX+EJUJEzkd7UQecrncTPRcSRRDvbaqxrZxnG7g2BGo1Ep71Ud1fC8RkavLzg9e/ky1SuM+
722V1zWZHd5iDwua21RqUma+lggEmqpq7C5idz8+epGUZwqlmiJWmmvKqnl3UTkcTkd/IjLqXVYzTan
723bzfrZw1WiVxOREwYdTnsHiIPdfd2i2fLOJaIN9U2+0bVWOVCzvRng6WXiNzOwDyAyCixeHl2utRY
724Wj7y04ysOvO7nPHPRt8oIJegmnHppKHZRUTU67R1OImIYlVxzpqaVkVCIhGplDHW6gu8QqkYWpIL
7251Sq3saKWdxO5bVWV4204NLxlhqxQdrGC+7LC0OIOzmRklJiRp2cn8hUf1zkpZOEQ3ersFnOD+txC
726VYfLarH6zjpzxpBmy80U81drLb1EvXzd5/6yCtUmR8fzt1nxiCO66qQl9qriKquLiNx8U9nJS0EF
7276G9RxF+oNHriVLFEszkxb65tcRO5+doq4+ijuEHtZ4wDe13uMG6uRMyQ21bd2CYaI6ehC/yB8WAP
728vI5LmHjesvX/Y1nCqUPHL1kfj71Xv1AB4MHRbTtXom92uj3EzFJnPT2oN4FdmZ3Dl5S+qfPNeM3Z
729rPJ/wKlVrtI3XvXPK8yMIyJpyqq4g2X5ujJl1os5/WdQpOemlRQX7jP4Z7w+Nq4vZjZewX3ijFsm
730IyKKVcW560xxcXezolpIXcaK4rqiXvLNwsuKISK1dmX14Xd1NRLt1p+kJl4qLnjVQGK5dkOaomzM
731R+mCjt0WHXIP1YYcvqi0cJ/B7SFmlmrtpuyk4N+msWu2bmKLT7+37yM3ETES5ZrNA1NKuXhV9/E3
732dP75iZkKIhKpsnN4/fHC/HI3iRhu8drcwecbklN7L5FveC4nVUpECdqU6sOFr9ZIV2/dulrL/UGf
733f5GYWeqMxzXmC0RE0sdys24dLt6nc3tInJizI1MZOB2rXp9uPFBqWLZ9hM4hEq/I0l56q8L31S5J
734zV1/u+j4Pp2TSCSWrcrakiYmUiyKowZXQpKIiCheyZ08Q5qFw0syNXNTWtGxwvxy/4zX1OEPBoU0
735vGXKQlWoJDV3PX+4KF/nJl8m+6M02ePZSW8fKb2gyg1VOO4YyYxTRbpGIqLAVNwQ1UFtNSV6s9NN
736xHDq9XnBNxW7co32Son+dR2JOPX6NJXF1F9Tg9rk6N0oHk4mcZx8S1fpK/b+udUBqg15zpJi/ZuV
737bg8xYnlidm5/ASq02qEtik1Z86ip5Gi+zkNcQlbakhbTKJcObj9pox7IJqUuayh+R2cgsXx1Vtr8
738k/aQOQ1QhCrwB8c0r9c7NVe2ffrOUf6RoYuYDJrx+l8dmhc3Bh4ZuHT81fPcT7c8Jgve50qTe95i
739+fQwctk+OfaR+Vub/+aRniHr0jV89Pbns5782XcfoDkpADDpBi95AJNn8IIXMJbJbpmtFQUfd2c8
740m6kIJyJym0rfqmA3T8GN4DJ+eLBhYV6ub70hD191uKAladyLmMBdEXYvncta/+GpP7s9RKIwieLR
741jSkziSY48QsAAOCh0ck7vax/hL2XN1+1umZo7lnn8QR0O3gXechNxBC5Wo3mW2LJ7ClIx1+Vqeul
742AwCYPOilu1/QSzcxk94yBxZhJhEjnpeYuTF9at6tZa08XFLje1yPYaVx392YM3TiNtxjCOkAAAAA
743BO+BXmoYAADg3nE7ead77N3u+bEPC4/L2TXi3GWYcgjpAOB+s5UXFJQ/WKuu3x3jh/lFjVOdiG/o
744ol53tP/VaDZDga7w0/6lGSxlbxZW8mQ/W1h4dthjyq2GggLDKLVYf1Snvzh0Y+hTBY7Q6/T1I3z2
745zRiLXi8yEhEZSwtKjSPtFTpHw4/t3zJ+zvoP39LpdLr8ktHmad5XEyltR2XhwUo7EdnOHv7j2VEq
746/WG4I4QMIR0AwAQYSwoNgbUb1E/uyrmvq8fbKw/e66BnqVJus1p8P/Omli6ymxr8MV27uSUiTsWR
747NG3r1jQpEZGjsvDoN7r+wKnuK3XO34+wju7dHBu0pbGkcDx/nLRWVVsVOS/u3r0rWzX23n7BLW2K
748SVK3bhu60nLI5N33OwIGEfaMVwAQqq+vlr17uMG/7lReqpyIXKbTRwx/sTndxMxSZzydpRaT80pZ
7490ccNtl4iRqx8PC8nmSOPva6kuMLMu0W+BbcGP/jdXld0rMLc4Q4sxyUmovqj+ea4VFdthcU5cGby
750vQjoVJ3VObBilq28wCDOUrWUVDS7EzftzGRr9McrLQ63b3mqvMfENX8orLjuJpOujhQZu3PpqK4x
751fnfucqo/mm9WZTDnSo08DeTIY68p0le2ON3+BX45zU+3pwdeeGA/p9d/anG6icKlmqc2Rp4+fHvt
752zkzf4methoIP3Rl/m2ILHM5INE9tW2R8q6jBSaTTneQ0W7anywKZHchUq6GgjFbPbymvt7uJU6/P
7531ThKiqptLmJlq3O2PBZqoTZWIYuoM7WSIpZcTZbbyzSqyxaTKzWFJZfZ6pybIuufALGw9q2SBqeH
754dLqTXPKW7cuIiKyfHjpSbXP51vPboB76FP7XxtKCQWUyMJeivUZ/tNLSP5LJabZslxGRs7G04LiR
75594RYxoxcJsMRQ0O70x24nLO8oKgvY8c63yLAlrK3TjJPbk+nIbUmJ6rX6xoTducmBZ3Mdl5fWmmx
7569wbVFxGR6+qpwsMN/hXjRjjWv0Vx7nDhWavbY9LVkiJJZbXL+1/PUH9U16DcmbeSJSK6qNedshBR
7570atGxbrducud5vKSsgtW58AliFrH29L8zcM3waLVUPAncdaSlpKzFvey3J2Z0uFnHtzMtqbHDaof
758xzn9W2ctzqDqGzzZJZD3oVM6+CHJ6y+c+tHviCE8xpJ9dfL+d5Zc1OsuKXc+neIO3JhBBw6qhRAz
759coa1DTFR/dF91mUb6FxJQ7tszc68lK5h98tDByEdAEwB3mxO3Pyr3TKGv6A/VFIWtyNTQax4oTb3
760uyppOF93tLDyvF39ONWcaZE9tWtLHON2Wh29HBHZzhSfdads3aURd9YUv1dSowx+yZGl7OjZvtVb
761dyVzZKvSH9FXyramSojIbWqwZ+ftzp3pspQf0n9Us+jpFNZVX3rcLPvRrrz5fRbDoRJDnC8ysJ0r
762Zb+bt3sTR0TkkGoytj81X0wtZYVHq4yP5aQ8nccXlNAP/ZFZUIeV21RpTP/JrqxZZDlVqP+kJuXp
763FLaxosKVtH1nKhfGV/3xkC15IJ4jMlZUk3brbg1HLof1tlg6I1H61gVj5kI1EVnqTRSfo2isKPFo
764t+7ScOSyt96eQVLFjozOgS82m+HDs32rtu5eIebPFx/yZYqIHMaG+M2/elFGV0oLSgptSU/9fJci
7657HpZ4dHKem1uUoiBGZkqrrv8Kk+x3NXr1rmLcpVd+Q0XXSmrWEurXb4wqFNpceaO9E5dU8LuTUlE
766RK1EXXV1d3J/vkvBdtXp360426LOHBwxWM4PLZOB/J+t6F6+fddjHMNXHT5k0/wsXUb1RJaaxvQt
767O7M4spS9q6+oTfFHRT7hYsXq3LQlUrarTv9uZU27eo1GHXnEaFmnUBBRi9HMKHNiQ9RayP65sFma
768jOeekovJcqpQ/7kx1feKua6r5hmbf/WijOHr/O0yLtTBRETErcrL6+qPLSxlb5bXOFJSJUSumoYW
769RWJOIOXLc3fLBkIi18XSj82y7J15Co+lrP8SEeNvaYPdrCmNSsvblcuJyHVRP+zMQ5rZkIMtJkd2
7703q5crs9i+L2+5PyiQaU9Gm5I8kIJdUcM2UWk1iw1lJ+zp6RJiVw1lyyKZbmsq6aoxCzL2Zm3kOVN
771pfqiEtkvs1VjDigObxsxROQynTmr3vir3XEMkc1wKNT98nDBwCsATIXYRK2MISJuRapa1GJqJSKS
772q1RSlkjEaZbKeYeNiGEju29cNvO9xIjlsllEZKu/yiSv03AiYmalJMRazZeDztlsNEUlZyRzDBEj
77306aqbhsb/I9tcaoUFUckYhVrUxTXzU1EdLmxbeGa9DiGRKwiSck0m3zjZ25ZSs6KwDJeEqVqvpgh
774YuKSlGKHrX20DHEJaZpZDBGjSFJyt/khrwqKDOsb/Fx5ZCTZTVetLg+xErmUJXa5SmYxGT1EZDFe
775YZTLZMRGksNkbnWRiJXKpUO/flrrzeHJGSs4IoZbmTDXlyki8sxNfFTGEDGL46QeWeJ3FayImLhk
7765UzeNsIIoUKpuG21EFksVrlyKZMUr7A2cyTNnQAAIABJREFUNxFZLTdmyBeOlmXyKDRrFayIiNMk
777yJ2dt4Z+Lo7XjlIm/UXBeJz+19WTWP2IhgsnClckL+KcQ44QyVXxUt/lVLG83UYkSVCxZmMLEZGl
7780RyZoJHReGtNulglFzNEjOLbSrE98BrTQOkRp0lNoBbT+J/4VKhV3aZLdiJyNZiscQmhomcioqam
779NsV30xXhRKwieRHjv8REWtogvXNTsjWcaKQzD21mg3HKFSpORBSuSE9RWAMt6F4Z/Y7wUSxTdZsa
7807UTkqjfdUCQkkuuiybZkTfpClog4VbpGaqofz8N5w9sGEREx8enpcQzRyPfLwwW9dAAwBTjJ3MCP
781jP9PS4+9ruSjs812l28sbmECEafNy+POlOv3l5I8JX19qlLc5uDtlgJdVeBgRXzQSflOl1jev6pq
782ZHgkufv8l5sVeBBI5H8vuK2ddzWV6HT9CdL4/x8zMD7kvGIoMTRYu9z+PUad7sjFDFtobFlmVtPB
783gterSMSI56VkD+oCUWZty646Yzj4Z6d4sTZrvUbKpmgU+xoaSD3baGbVubFElLUtsqrCcLDCKVY9
784mpU1ZE0vm4NvH1QS/keYgkqWiGHH0xGxRDn3pNnUKm4RK7Qs0VKl3NBY71TaRHHpo69Ry0nko3YL
785SGUjvJOLSL0uy/huQf5nRIxYvio70GEyyhFE7XVFH51t6XD5BrIVCUQkTVBF6hstFEfGK5GqzVIa
786b605zeUlZQ3+FwcTpwk0lKB2KZrY96NiZRIV1dnS0iwmu0qTNMJeNluHy/RRULtLpnGnOZSBKgh5
7875mHNbFB9cbL+PrZp477i+JM2/I4YLi4liYrrWlPTrpvsizVJIrJ1OcUD74Vl2XDqG09phGgbRMHt
788aaT75eGCkA4ApgDvaCPy/cZ3+1a6t50prujRPLMjRcqSrbzgkIOIiERS9dpc9Vq35VSh/pRk95OR
789bLh8zS/yQg+ZcNFsh80WOG93bzdF+QM4vj2w2eWPGNlIhk3M3ZmpCD7BoD4ZT31piVny5PZcpZih
790er2ueuK5tFvsc9N35GpCPrUjlms3bNF6+LqjhcVn47Y/LlXHKwwN9RbOHKnK9YVv4vnarC1a4uv0
7917xZXzN++JuhdkxTJMvI1O0YoiYkRKeQzq69eEJMvhGOTVLGV5jNh9rlJk7h8sMPiiEnfsTl02YRi
792M3xY0Zf8zI5kKSuyGQINRJqkijxstCQxLazqKcm4a+1iadFVSc5zuUoxQxf1us8D24Pbpcc9sXEs
793SYIqrLi+mbO1KzTxI+3ERoaziZsCD036TLSltTl4Gv422VBnphDNLOgz3tZK5IvqQi5Qa7VN/uuY
794pAkqpviShbPZFRo1EXEzxXxzfyW4XL0UNixOsbbzFHwvjNA2BrmH98sDDAOvADAVWuoqbG4i4i9U
795Gj1xqljq7u0Wz5ZxLBFvqm32jdK4rC3+fhRO7PtVrFIr7VUf1fG9RESuLjsfPJi5UK1yGytqeTeR
79621ZVaZqhTvR/gfFNVUaeyOOyfFJnna+MJ+ISVDMunTQ0u4iIep22DufQFPa63GHcXImYIbeturHN
797/8syjJnm5B3+MHQsfKdLzEWF/shqtrs8RBQpFvvjTkrQqPjz5c2RqiQpEVGH1exwkW8X/7caEyZy
798OtqJPERL1Ep7VUkt7yYij8vp4L/BcmGcKo4aLzvjFvu+R1nVQs7UZJ67cNjsTCaMuhx2D40v+6O6
7991dkt5ibyhHq3u0ccLeNYEfGm2pau/rQnqqJaqs+amaWJUhqp1oZyudxM9FxJFEO9tqrGtqBPLHWf
800+NplXWUjxanGiGnDGHJ22t3kKxBpynJxy5kG+0K1esSvVi5BNaPhtMHiIiJyO228c1wtjZvJWhvr
801eA+Ry2L4wjLeM4dsZgN40+dG3kPUazHUWOTKePJFVFdrLb1EvXzd58Zhd0VQ1idwI4xGuipR3FLe
8020K5QJxARsctV8pZq343Jmwx1dlVSAhFx0VHWxlqeiFzNhrrrQ84xQtsIdi/vlwcXeukAYAootNru
80342/o/DNeMxVEtFrL/UGff5GYWeqMxzXmC0TUbTtXom92uj3EzFJnPa0mItWGHL6otHCfwe0hZpZq
8047abspIG/uxWZm9KKjhXml/tnvKYG+jIUy+QNh3WlTt95UlgikqTmrr9ddHyfzkkkEstWZW1JGxxg
805sEmpyxqK39EZSCxfnZU2/6SdiEiasiruYFm+rkyZ9WLOGJnslUqiTha9aiQiEg2ZE8obzxTXOdxE
806JJ6vzV7vCz0VakV3gzXpKd+4U5exoriuqJd8syCzYohIrV1ZffhdXY1Eu3VbanYOrz9emF/uJhHD
807LV6bG1wSI3FUHXq3WvrDXVmDozXZ4riwC53ywFQAblEc9xmFeJAuQZtSfbjw1Rrp6q1bl4x5sdG4
808YyQzThXpfI9J+acnj36EQruaO3w0X0cMF5+xJslcF0hsyjLxvk9c2nUc0Ui1NhS7PDXxUnHBqwYS
809y7Ub0hRlgb3iUrWu0jde9c94HWVuhI905eq4d0vzdaXKDbtzEohNVLGfVEoeHW2hEuljuVnOotI3
810dU4PkVim3bAlNW7slqZOS1f94WTBqwaKkmnXaqVnu8d1ZnHIZhYwMzF1XsPh/FInMVx8lm9uBLty
811jfZKif51HYk49fo0lWWkdfQGJ2+McgpoLtv3MWX/cnDfOJukYisqJan+UmNTsrP5Et+NKZZrc/JU
812IiJSpK1VHS4r0JUTG6tNXyWt7Ak+xUhtI4hIdTf3i9DghWAA8JCrD14A4v6xVbxd0p2xNdP3dHav
813qfRABZszygxBIiJjSX7dvB15qx6+75rBWisKPu7OeDZTEU5E5DaVvlXBbn4IXsjrqCz8w+21Q0IW
814COA/LTzsXBtYdKafvfJg0Ao+8A1g4BUAYDLwvJPI43vs3s2br1pdYm72aAe4WwyVV2Sq5Q97PEdE
815nbzTGxi97eXNV62uGdzoMzEEwMPXldd2q9SI50ZisXYrE4YWD3+hvNalUiOeuxcw8AoAMBlU6Rkm
816/bF9ul4iImamPDE7e+Rns22GgkN1XZx6/cP+/LZPfHqGSV/8ps7tIRIx4nmJORsFnu+Let0pCxur
817zUlHRDeipE07Bs8ErtfrTlqiZNonc1Fq9wQGXgEAAAAEDwOvAADwIHBZLxmtD8NERN5cax5hXeXB
818XFbjpQnm2OMavGY1wAAMvAKA8Bg/zDcmTNkLwqdovsX9MKUFyxs/rSSJWj7qDBIiInJbqovLqy32
819XiIRI1Wu2Zg9ZBHduxZ4AauHKFyqWvtUduJdPONnqSlvTEhWjrTc8IBbxspPSbpMPoF5Ibazhwe9
820bhVgAHrpAOCBZa88qO9/u6WxpNDQ6v9Z/eSUxXPf2KBMfSONJYXl439j1bgIomBtnxTqG6JTn9m5
821e/fu3b/M1VDV4aL6kVdQm4gmQ8lVSdYvd+/evXvntoyUWI5oUspZqByVhUfvTeOFyYBeOgC479pr
8229EcrLc7Ai344zZbt6bL2uqJjFeYONzNLnfF0llpsLnurqMFJpNOd5JatnNF0/rqbTLo6UmTszqVA
823P1n90XyzKoM5V2rkicRybXZeqpzIY68p0le2ON2ewAV+GrR6SGuN/nilxeH2rfeW99igV1DVH91n
824XbaBzpU0tMvW7MxL6fKnKrB2WmBduY4a/VsVFicFUkvUOvBqdurvyUscSAkj0Ty1bZFxIFOaLSH7
825WoaWA1GroaAsMlV11VBtc5F/fTv3ucOFZ61uj0lXS4p1u3OXB7qXqD9T9fo3rYmZVP3fDXbZmp15
826bMnr5rhHXXVnLU4aWCRvSH7Zj/wFaz+n139qcbqJwqWap7amx4VK2Fh12jb45IoGfWmlxd4bVFNE
8279gtFxeVmnhguPkVOxI5UCANMVXWM9plMlW/RQVaueTKr7a3Ssy1JmXFUfzTfHJfqqh1cNb43bp2q
828szpJPF+bvTlVLiJbeUFpRKqq2VDV6hqo3G6Xe5ZSwRIRsTPl8pnEDynnpSbDEUNDu9MdVIbksVYe
829Kam54XQTI03O3fq9gbRaywuKHKu3bUoayIHHXldSbLjCE8OpVw7kOHQKPSnzrlc0+Jdv9JdYv/5D
830Ap8OXg2k1VDwoTtjRyZ/NN+8MNV1vsLiJDZWm/NDSZ2+1MgTceqsvCy12J+kCjPvFvU38nr962ZV
831BlNz3Mh7Akkyl71V0uD0kE53kkvesn0tOgofPF4AgPvrUvGe31d29Hq93o7P3t977FKf1+ttO31g
83275G6Dq+3t6PmyN7D57q9Xq/34pE9Ry76D2o7feDA6Rv+f1zU7zlywf/Dnjc+qL3V6/X2Np88sMd3
8334F8+2PPe2Y4er7ev47P39x4zDr68/WrTtdu9Xm+v5cSBVz64NPjDi/o9e9/4/WlLr9fr9XqbT+zf
834e+SLjl6vt7fts/f3HjxrD1y04ERTh9fr7W0+FbjojdMHDpxuCzrPkQte718+2PvH2o4+r7evu/16
835+7BMDReqHG6cPvDKnoOnmrv7vN6O2iP5+09YvF6vt81w4IDBf8HuC0f2Fpxu7vF6u5tPHPDtcPHI
836nr173zvd3ONP0ZE9ew6caOro83q7m08X7Hm/pntYfvsL9tIHe4/Udni9Xm+33ZfukBU0ep0OPXn7
837l03XbwdqqviS1+v12s8efOXAaUuv19vb8cUHe1/xVfGo1xpczl5/Pe09WNkxqGr6ugeqpvvikb0H
838Tlt6vX3dzScP7D/Z7Cu9Pa8cPP1Vt9fr7fjiyGv7TzT707P/gy+ud/cFVUlQOXv7rjddbg9UxIEz
839N71er7f55P69+tqOHq+35/btnoEqvn3hyIHD59r7BiW1vfLgHl9N9XTUFu/d48vLSCnc+/5nbb7C
840ObLXl8L+7Hefe/+VA/70N318YO+xpj5v9+fvv3bM36KbT+73JTuoTDo+e3/Pnv0f1N7q9fZ11P7x
841Nd8ObYYDe/W1HX3e3lvnjux9/1y3v7XsLfZlqvnEAX9r8V44skc/cuOFqYaBVwCYQpGMx+nsJWqt
842N4cnZ6zgiBhuZcLc6+amcZ+CS0jTzGKIGEWSkrvND3ksPTKsb+jj5BKlar6YIWLikpRih6196AmZ
843+PR03/rAzUZTVHJGMscQMTJtquq2scH/mgFOmaziiIhRrE1RjJJaNpIcJnOri0SsVC4de52OkcrB
844o1j5AwUrIuI0CXJn562hxzU1tSm+m64IJ2IVyYuYFpNvoJBRfz/dt5yvL9WqlSpORMQq0lMU1sC5
845B/I7IDKS7KarVpeHWIlcyk6oggJ1Ouzk0sUquZghYhTfVortNjuR64rFrkxNj2OIGC45RcWOWggj
846iwyPdHe7AplMUXFEInagai43ti1ckx7HkIhVJCmZZn/pUNzK9IUsEXHJCXJnJ09EktStW7SRDSX7
8478t86XG7ih7/tSiRXxUt9FaGK5e02IrIYTUzS9zRcOFG4WBwo7T6rQX9ekrU5ZfBDfi5zs135aLoi
848nCic0yT7czxiChdotDJf4aSqRS2m1qATXTTZlqzxp1+VrpGa6huJXa6SWUxGDxFZjFcY5TJ/R5q/
849uYq4RXM5VpmimcWQiNMkyHlHG5Gt/iqTvE7DiYiZlZIQazVf9h+k1voypUhexDmH3ljwIMLAKwDc
850b+p1WcZ3C/I/I2LE8lXZKSyRzcG3Wwp0VYFdFON/oIuLGTYAtCwzq+lgwetVJGLE81KyVw4KpZxX
851DCWGBmuXb4iQ07iHHi2VBca3+E6XWN7/eHxkeCS5+4ZeVDT81ZlBFmdti6yqMByscIpVj2ZlrZCO
852tjONXA6cZO6oh9k6XKaPdLrAv7nkoVnxn6X/ZefTBrYO2YmIiJRZ27KrzhgO/tkpXqzNWq+RhkpY
853/VHdyWYiIsW63bnD63ToyZ3m8pKyBv9Le4nT9BHxXU4uur9MIpmIUQthZN293cxM/yW5WYETBqrG
8541s67mkqCSkcTKI5QhRqjydqiyXJZq4qLDn1MOzcOfrtXe13RR2dbOly+MX1FAhHxnV9z8pghZ2k7
855W2LtC08cdnaed3Jc4D11xDKRo6dwoHCYIY++811Osbi/bbJsOPW5idgUjWJfQwOpZxvNrDo38LBB
8568D0SGR45JKkO3j6ouOP9B8nGnqcCDxaEdABw3zksjpj0HZs1Aw8YRbKMfM2Oe7bOrt1in5u+I1cz
857/LXwnvrSErPkye25SjFD9Xpd9Win4aLZDpuNyPd92N3bTVH+KIFvD2z2vx9iCKvN4f9JPF+btUVL
858fJ3+3eKK+dvXDP3uH+wuy4GNDGcTNw15pVLbsN14WytRLBGRyzUskh1CLNdu2KL18HVHC4vPxm2P
859DZWwTbsHJnW2DKvTIS6WFl2V5DyXqxQzdFGv+5yIiJspdrbygQIOvAN+9EKIVcjuVJocJOsPjMhi
860NDPzNvjjm4GqCWSSjWTYxNydg1/TNcZ8B1au/Z664b8tNgoO6WyGDyv6kp/ZkSxlRTZDwSEHEREX
861HeXs5IkGTY3lUrbkiI8fLD2j3r42OGLmOLHT2umvBfLQ6CnkHW39rc/dM+gLm5sp5pv7P3W5eimM
862ISJSxysMDfUWzhypyh3rDwifSDZcvuYXfx1rXD/sMPAKAPfdrc5uMTfou3+JWmmvKqnl3UTkcTkd
863vIuIiAkTOR3tvjdHhTHTnLwj8K0/Br7TJeaiQn3S63KHcXMlYobcturGttF/BS5Uq9zGilreTeS2
864VVWaZqgT/d+SfFOVkScit6W8xjJfGU9Eszkxb65tcRO5+doqo28GZofV7HAREUWKxf4v5OBMDRO6
865HEILY8jZaXcTkYdLUM1oOG2wuIiI3E4bH3r+J2/63Mh7iFyWMxescmX8yOfmrWa7y+NLd9i4Eja8
866TgdzudxM9FxJFEO9tqpGf7jJLlZwX1ZV2AYX2hjXUmk17qriMpOvYF3Wug9LTTGpaXGBpPuqxuOy
867fFJnna+MJ+ISVDMunTQ0u4iIep22jhFnx7qsFqtvmL6XN503O2Vy2aBy7nb3iKNlHCsi3lTb0uU7
868SLEo7nbtqTreQ+RxOf1pjRSLxUkb0yWXSg3W4CuwyjjOVF1h6yXq5es+9+d4xBS21PkL53x1oyhO
869FdRtxi5XyVuqfYfwJkOdXZXk68xM0Kj48+XNkaqk8UV0pFIr7VUf1fG9RESuLvtobY4Joy6H3TNC
87064Wphl46ALjf3DGSGaeKdI1ERIHJhqrsHF5/vDC/3E0ihlu8Njc7iSW1dmX14Xd1NRLt1m2pKavi
871Dpbl68qUWS/mjHGBXqkk6mTRq0YiIlHQzEQiYpNSlzUUv6MzkFi+Oitt/kn7aCdSZG5KKzpWmF/u
872n/Ga6u8ZEiemyRsO60qdxMxSZz2dwhIRm7LmUVPJ0Xydh7iErLQlLSYi6jJWFNcV9ZJvdm1WDFFw
873pn7CntxnUu0M6iARhSyH0KQrV8e9W5qvK1Vu2J3zWG6Ws6j0TZ3TQySWaTdsSQ0RXinU8xoO55c6
874ieHis/JWjtItwxvPFNc53EQknq/NXi8lkXT0hIWq00EpYJenJl4qLnjVQGK5dkOaosxORCRJ3Zhm
8751f9Xfo2HuISslLhK5zgKQfb41ly2uPy9fSWBdenycgamlCqWDasaSWru+ttFx/fpnEQisWxV1pa0
8760MFnd1tNid7sdPteU5by1I/VQ8o5fTV3+Gi+jhguPmNNkrmOiIhUG3JsR0oKXjWQiJGnbc1b1Z9n
8779Ya1xgOlBvXP0uWBPx6kj21c06o/9HoNiTj1+hTFWSeNnEIuXtV9/A2df8br4E48NiU7my/xHSKW
878a3PyVKJALSu6G6xJT417QT3Vhhy+qLRwn8HtIWaWau2mkdtcgjal+nDhqzXS1Vu3zq3O/2/76r/Z
879opWMsDPcd3ghGADcX60VBR93Zzyb6Xts320qfauC3Xwvl061Vbxd0p2xNdP3VH6vqfRABZsTtIjJ
880g6OpZN8X8p8/fX+GvOr1usaE3bljr397Fya9TsfrYVoF2lZeUELZd7FWiLEkv27ejrxVGEn9q4OB
881VwC4vzp5pzcwcNPLm69aXTO4u1ihf2Q87+x/xM3Nm69aXWJu9r28wL1iu2aTqkbsEBGSSa9TGC93
882i6Hyiky1/GFoVjBRGHgFgPsrPj3DpC9+U+f2+Ia3EnM23ttuKlV6hkl/bJ+ul4iImSlPzM5+MB/9
883lq3dnjfVabg3Jr1OYTxshoJDdV2cej3mOvyVwsArAAAAgOBh4BUAAABA8BDSAQAAAAgeQjoAAAAA
884wUNIBwAAACB4COkAAAAABA8hHQAAAIDgIaQDAAAAEDyEdAAAAACCh5AOAAAAQPAQ0gEAAAAIHkI6
885AAAAAMFDSAcAAAAgeAjpAAAAAAQPIR0AAACA4CGkAwAAABA8hHQAAAAAgoeQDgAAAEDwENIBAAAA
886CB5COgAAAADBQ0gHAAAAIHgI6QAAAAAEDyEdAAAAgOAhpAMAAAAQPIR0AAAAAIKHkA4AAABA8BDS
887AQAAAAgeQjoAAAAAwUNIBwAAACB4COkAAAAABA8hHQAAAIDgIaQDAAAAEDyEdAAAAACCh5AOAAAA
888QPAQ0gEAAAAIHkI6AAAAAMFDSAcAAAAgeAjpAAAAAAQPIR0AAACA4CGkAwAAABA8hHQAAAAAgoeQ
889DgAAAEDwENIBAAAACB5COgAAAADBQ0gHAAAAIHgI6QAAAAAEDyEdAAAAgOAhpAMAAAAQPIR0AAAA
890AIKHkA4AAABA8BDSAQAAAAgeQjoAAAAAwUNIBwAAACB4COkAAAAABA8hHQAAAIDgIaQDAAAAEDyE
891dAAAAACCh5AOAAAAQPAQ0gEAAAAIHkI6AAAAAMFDSAcAAAAgeAjpAAAAAAQPIR0AAACA4CGkAwAA
892ABA8hHQAAAAAgoeQDgAAAEDwENIBAAAACB5COgAAAADBQ0gHAAAAIHgI6QAAAAAEDyEdAAAAgOAh
893pAMAAAAQPIR0AAAAAIKHkA4AAABA8BDSAQAAAAgeQjoAAAAAwUNIBwAAACB4COkAAAAABA8hHQAA
894AIDgIaQDAAAAEDyEdAAAAACCh5AOAAAAQPAQ0gEAAAAIHkI6AAAAAMFDSAcAAAAgeAjpAAAAAAQP
895IR0AAACA4CGkAwAAABA8hHQAAAAAgoeQDgAAAEDwENIBAAAACB5COgAAAADBQ0gHAAAAIHgI6QAA
896AAAEDyEdAAAAgOAhpAMAAAAQPIR0AAAAAIKHkA4AAABA8BDSAQAAAAgeQjoAAAAAwUNIBwAAACB4
897COkAAAAABA8hHQAAAIDgIaQDAAAAEDyEdAAAAACCh5AOAAAAQPAYq9U61WkAAAAAgG9kmtfrneo0
898AAAAAMA3goFXAAAAAMFDSAcAAAAgeAjpAAAAAAQPIR0AAACA4CGkAwAAABA8hHQAAAAAgoeQDgAA
899AEDwENIBAAAACB5COgAAAADBQ0gHAAAAIHgI6QAAAAAEDyEdAAAAgOAhpAMAAAAQPIR0AAAAAILH
900TPSAO3fu3Lhxo7Oz0+PxTEaC7gORSBQdHT1v3rzp06dPdVoAAADumZ6enlu3bn399dder3eq03IP
901TJs2LSoqavbs2REREcM//dLRfKBW/5ebV/o8ffc/bZMnTBT27TmLf56cu0SycEIHTptQrd+5c+fy
9025csLFiyQSCRhYWETTOSDoq+vz+FwXLt2benSpYjqAADg4dDT02O1WiUSyYwZM0Sih2EUzuPx3L59
9032+FwyOXyIVHdl47mF07+9iEL5oKFicJey/inCUV1E6vyGzduLFiwYM6cOcKN54goLCxszpw5CxYs
904uHHjxlSnBQAA4N64deuWRCKJjo5+OOI5CoyqSSSSW7duDfnoQK3+IY7niKjP03egVj+hQyZW652d
905nRKJZEKHPLAkEklnZ+dUpwIAAODe+Prrr2fMmDHVqbj3ZsyY8fXXXw/Z+JebV6YkMffTRPM4sZDO
9064/EIun8uWFhYmHAfBwQAABjC6/U+NP1zwUQi0fCHxB7uLjqfiebxIax7AAAAgL82COkAAAAABA8h
907HQAAAIDgIaQDAAAAEDyEdAAAAACCh5AOAAAAQPAeupCu9rWUlJTXaqc6GQAAAAD30YTf8Tp+7TXv
908vXbwWGW1uYto5rfWrv/Zc7uylrKTdz0AAACYNF999VVBQYHv56ioqKSkpO9973vR0dFTm6oxvfDD
909/8yMpp5bJ39x/Girf1vGbzdtWtF9dv1//37i5/vRK5u/33PxhX9qvKepvBcmq5fOWrLrRzteq6TU
910F17Zv/+Nf3k+xXXdNRPxHAAAwIPm2rVr4985Kytr27Zt69ata2pqKioqGv5ehweNx01EFDH7+y8t
911j+nf5vEQue/qdQMJi+IY70TXOd6t3XY315qgyemlazv2u/9XSZvyS/4xdWYYEdGq1U9s9n3UdfHI
912G+/pT5ebO4idm5r7v/7XC4/LiYhqX0vZxea/I6/819eO1Hexc1N/9n//+bkUf+m7vjyW/7v9x2rb
913XdNjEn7w0mv/e20MUXvN27/5P+9UtrmG7AwAAADjdO3atYsXLy5YsGCc+8vl8m9961uLFy9mGObk
914yZMdHR1er/f3v//9unXr2tra/vSnP6Wlpa1Zs+b69etlZWVXr17lOO4HP/jBihUrrl27dujQodzc
9153Pj4eCLq6enR6/XTp0/fuHEjw0zimCERkcNinqlQxz/7Y/MrH3QN+3T+pt+mfH+FOJyIepyNH9W8
916UnA95sfpv94+N/xK4//Z+UU7zcz4beamFWGWD768k6lKmEGUvOo/j68iy9W//UXVuK7/g0WPesn7
917SlXhvc3WEJPSS9deXV5J8p895Y/nBpkZEz19+XOvl/zpdMnL37O+9w+/O9YW+OjO27t2nJA+/fL+
918N/7lGXnN/n/YX+4r97YTL/3sN8foR//8xv79//J86mplDJGrfv/zO07E/OKdE6dL9m+id3Y8//bl
919ycgKAADAQ8sXz91dRMWybE9Pj9vt9v3zxIkTDQ0N6enpS5YsuXnz5tGjR5VK5UsvvZSRkVFWVnbp
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
959D2dD8jPCSYbVAAAAAElFTkSuQmCC
960"
961 id="image2993"
962 x="0"
963 y="0" />
964</svg>
diff --git a/book-enea-nfv-core-installation-guide/doc/installation_instructions.xml b/book-enea-nfv-core-installation-guide/doc/installation_instructions.xml
index 035fee9..764eb9e 100644
--- a/book-enea-nfv-core-installation-guide/doc/installation_instructions.xml
+++ b/book-enea-nfv-core-installation-guide/doc/installation_instructions.xml
@@ -1,4 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> 3"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4<chapter id="install_instructions"> 4<chapter id="install_instructions">
@@ -149,6 +149,12 @@
149 xpointer="element(EneaNFV_REL_VER/1)" /> using Fuel, to be 149 xpointer="element(EneaNFV_REL_VER/1)" /> using Fuel, to be
150 successful.</para> 150 successful.</para>
151 151
152 <note>
153 <para>Enea NFV Core 1.1 can also be installed on a cluster consisting of
154 servers with mixed CPU architectures. The user can deploy x86
155 Controllers and a combination of x86 and aarch64 Compute nodes.</para>
156 </note>
157
152 <para><emphasis role="bold">Hardware Requirements for 158 <para><emphasis role="bold">Hardware Requirements for
153 Aarch64:</emphasis></para> 159 Aarch64:</emphasis></para>
154 160
@@ -196,7 +202,7 @@
196 <row> 202 <row>
197 <entry>Networks</entry> 203 <entry>Networks</entry>
198 204
199 <entry><para>Apart from the integrated NICs, one Intel® 82574L 205 <entry><para>Apart from the integrated NICs, one Intel&reg; 82574L
200 PCIe card was also installed, to be used by Fuel Admin on each 206 PCIe card was also installed, to be used by Fuel Admin on each
201 server.</para></entry> 207 server.</para></entry>
202 </row> 208 </row>
@@ -229,7 +235,7 @@
229 <row> 235 <row>
230 <entry>CPU</entry> 236 <entry>CPU</entry>
231 237
232 <entry>Intel® Xeon® D-1537 8-core/HT 1.7 GHz 35W</entry> 238 <entry>Intel&reg; Xeon&reg; D-1537 8-core/HT 1.7 GHz 35W</entry>
233 </row> 239 </row>
234 240
235 <row> 241 <row>
@@ -249,7 +255,7 @@
249 255
250 <entry><para>NICs: </para><itemizedlist> 256 <entry><para>NICs: </para><itemizedlist>
251 <listitem> 257 <listitem>
252 <para>Intel® i350-AM2 Dual port GbE LAN</para> 258 <para>Intel&reg; i350-AM2 Dual port GbE LAN</para>
253 </listitem> 259 </listitem>
254 260
255 <listitem> 261 <listitem>
@@ -283,7 +289,8 @@
283 <row> 289 <row>
284 <entry>CPU</entry> 290 <entry>CPU</entry>
285 291
286 <entry>2 x Intel® Xeon® E5-2620 v4 8 -core/HT 2.0 GHz 85W</entry> 292 <entry>2 x Intel&reg; Xeon&reg; E5-2620 v4 8 -core/HT 2.0 GHz
293 85W</entry>
287 </row> 294 </row>
288 295
289 <row> 296 <row>
@@ -297,7 +304,7 @@
297 304
298 <entry><para>NICs: </para><itemizedlist> 305 <entry><para>NICs: </para><itemizedlist>
299 <listitem> 306 <listitem>
300 <para>Intel® i350-AM2 Dual port GbE LAN</para> 307 <para>Intel&reg; i350-AM2 Dual port GbE LAN</para>
301 </listitem> 308 </listitem>
302 309
303 <listitem> 310 <listitem>
@@ -308,10 +315,6 @@
308 </tbody> 315 </tbody>
309 </tgroup> 316 </tgroup>
310 </informaltable> 317 </informaltable>
311
312 <para>NFV Core 1.1 can also be installed on a cluster consisting of
313 servers with mixed CPU architectures. The user can deploy x86 Controllers
314 and a combination of x86 and aarch64 Compute nodes.</para>
315 </section> 318 </section>
316 319
317 <section id="install_fuel_master"> 320 <section id="install_fuel_master">
@@ -453,6 +456,10 @@
453 <para>The <literal>Bootstrap Image</literal> section should be 456 <para>The <literal>Bootstrap Image</literal> section should be
454 skipped, the ISO will be configured in advance to use the proper 457 skipped, the ISO will be configured in advance to use the proper
455 repositories.</para> 458 repositories.</para>
459
460 <para>During the Fuel installation process bootstrap images for x86_64
461 and aarch64 architectures will be created so that the user can
462 directly install single or mixed arch clusters.</para>
456 </listitem> 463 </listitem>
457 464
458 <listitem> 465 <listitem>
@@ -611,13 +618,15 @@ $ fuel plugins --install /opt/opnfv/fuel-plugin-kvm-1.0-1.0.0-1.noarch.rpm</prog
611 <listitem> 618 <listitem>
612 <para>Only Debian 9 is supported in this release. Select 619 <para>Only Debian 9 is supported in this release. Select
613 <filename>Newton on Debian 9 (x86_64)</filename> or <filename>Newton 620 <filename>Newton on Debian 9 (x86_64)</filename> or <filename>Newton
614 on Debian 9 (aarch64)</filename> depending on your 621 on Debian 9 (aarch64)</filename>if you are deploying on a cluster with
615 configuration:</para> 622 servers of the same CPU architectures or <filename>Newton on Debian 9
623 (amd64,arm64) </filename>if you are using Compute nodes of mixed
624 architectures:</para>
616 625
617 <mediaobject> 626 <mediaobject>
618 <imageobject> 627 <imageobject>
619 <imagedata align="center" contentwidth="600" 628 <imagedata align="center" contentwidth="600"
620 fileref="images/newton_debian.svg" /> 629 fileref="images/openstack_envs_mixed.svg" />
621 </imageobject> 630 </imageobject>
622 </mediaobject> 631 </mediaobject>
623 </listitem> 632 </listitem>
@@ -660,7 +669,8 @@ $ fuel plugins --install /opt/opnfv/fuel-plugin-kvm-1.0-1.0.0-1.noarch.rpm</prog
660 </listitem> 669 </listitem>
661 670
662 <listitem condition="hidden"> 671 <listitem condition="hidden">
663 <para>In the Additional Services select “Install Vitrage”:</para> 672 <para>In the Additional Services select &rdquor;Install
673 Vitrage&rdquo;:</para>
664 674
665 <mediaobject> 675 <mediaobject>
666 <imageobject> 676 <imageobject>
@@ -1237,7 +1247,7 @@ $ fuel plugins --install /opt/opnfv/fuel-plugin-kvm-1.0-1.0.0-1.noarch.rpm</prog
1237 <para>Set up targets for "Verify Networks" with non-default 1247 <para>Set up targets for "Verify Networks" with non-default
1238 "Offloading Modes".</para> 1248 "Offloading Modes".</para>
1239 1249
1240 <para>Please check the Release Notes for the <phrase>1.0.1</phrase> 1250 <para>Please check the Release Notes for the <phrase>1.1</phrase>
1241 release of Enea NFV Core when using Fuel as a deployment tool, 1251 release of Enea NFV Core when using Fuel as a deployment tool,
1242 <remark>Change this to an Olink to the Release notes once the ID has 1252 <remark>Change this to an Olink to the Release notes once the ID has
1243 been created for that book. Add the ID to pardoc-names.xml and 1253 been created for that book. Add the ID to pardoc-names.xml and
@@ -1331,14 +1341,14 @@ $ fuel plugins --install /opt/opnfv/fuel-plugin-kvm-1.0-1.0.0-1.noarch.rpm</prog
1331 1341
1332 <itemizedlist> 1342 <itemizedlist>
1333 <listitem> 1343 <listitem>
1334 <para>Provisioning at this stage the nodes have been booted from PXE 1344 <para>Provisioning &ndash; at this stage the nodes have been booted
1335 and are running a small bootstrap image in ramdisk. The provisioning 1345 from PXE and are running a small bootstrap image in ramdisk. The
1336 process will write the target image onto the disk and make other 1346 provisioning process will write the target image onto the disk and
1337 preparations for running it after reboot.</para> 1347 make other preparations for running it after reboot.</para>
1338 </listitem> 1348 </listitem>
1339 1349
1340 <listitem> 1350 <listitem>
1341 <para>OpenStack installation at this stage the nodes have been 1351 <para>OpenStack installation &ndash; at this stage the nodes have been
1342 rebooted on the newly written target image and the OpenStack 1352 rebooted on the newly written target image and the OpenStack
1343 components are installed and configured.</para> 1353 components are installed and configured.</para>
1344 </listitem> 1354 </listitem>
@@ -1366,6 +1376,14 @@ $ fuel plugins --install /opt/opnfv/fuel-plugin-kvm-1.0-1.0.0-1.noarch.rpm</prog
1366 appropriate.</para> 1376 appropriate.</para>
1367 </listitem> 1377 </listitem>
1368 </orderedlist> 1378 </orderedlist>
1379
1380 <para>On Mixed Arch deployments, certain tests might fail due to
1381 limitations detailed in the <olink
1382 targetdoc="book_enea_nfv_core_release_info"
1383 targetptr="bugs-limitations-gen">bugs-limitations-gen in <xi:include
1384 href="../../s_docbuild/olinkdb/pardoc-names.xml"
1385 xmlns:xi="http://www.w3.org/2001/XInclude"
1386 xpointer="element(book_enea_nfv_core_release_info/1)" /></olink>.</para>
1369 </section> 1387 </section>
1370 1388
1371 <section id="smoke_test"> 1389 <section id="smoke_test">
diff --git a/book-enea-nfv-core-installation-guide/doc/mixed_arch.xml b/book-enea-nfv-core-installation-guide/doc/mixed_arch.xml
new file mode 100644
index 0000000..d0666d8
--- /dev/null
+++ b/book-enea-nfv-core-installation-guide/doc/mixed_arch.xml
@@ -0,0 +1,62 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<chapter id="mixed_arch">
3 <title>Mixed Arch Deployment</title>
4
5 <para>Mixed Arch deployment support allows a user to install Enea NFV Core
6 on a cluster containing a mixture of servers, with x86_64 and aarch64 CPU
7 families. The recommended topologies consist of deploying x86 Controllers
8 and aarch64 Compute nodes, or mixed x86_64 and aarch64 Compute nodes.</para>
9
10 <section id="launch_multiarch_env">
11 <title>Launching Instances in a Mixed Arch environment</title>
12
13 <para>Before launching an instance, the user needs to ensure certain
14 prerequisites are present:</para>
15
16 <itemizedlist>
17 <listitem>
18 <para>Have OpenStack images installed for both architectures:</para>
19
20 <programlisting>#image for x86
21glance image-create --name dpdk-image-x86 --visibility public --disk-format raw \
22--container-format bare --file dpdk-image-x86-compiled
23#image for ARM
24glance image-create --name dpdk-image-arm --visibility public --disk-format raw \
25--container-format bare --file dpdk-image-arm-compiled
26glance image-update [ID] --property hw_firmware_type=uefi</programlisting>
27 </listitem>
28
29 <listitem>
30 <para>Have Openstack configured with per-arch scheduling information.
31 The following is an example configuration:</para>
32
33 <orderedlist>
34 <listitem>
35 <para>Create a host aggregate:</para>
36
37 <programlisting>nova aggregate-create x86_64
38nova aggregate-set-metadata x86_64 arch=x86_64
39nova aggregate-add-host x86_64 node-6.domain.tld</programlisting>
40 </listitem>
41
42 <listitem>
43 <para>Create a flavor and tie it to the aggregate:</para>
44
45 <programlisting>openstack flavor create --ram 4096 --disk 4 --vcpus 4 dpdk-x86
46nova flavor-key dpdk-x86 set aggregate_instance_extra_specs:arch=x86_64
47nova flavor-key dpdk-x86 set hw:mem_page_size=any
48openstack flavor set --property hw:cpu_policy=dedicated dpdk-x86</programlisting>
49 </listitem>
50 </orderedlist>
51 </listitem>
52
53 <listitem>
54 <para>Launch the VM:</para>
55
56 <programlisting>nova boot --image dpdk-image-x86 --flavor dpdk-x86 pktgen-x86</programlisting>
57
58 <para>It will be placed on the x86 hypervisor from node-6.</para>
59 </listitem>
60 </itemizedlist>
61 </section>
62</chapter> \ No newline at end of file
diff --git a/book-enea-nfv-core-release-info/doc/book.xml b/book-enea-nfv-core-release-info/doc/book.xml
index f39ea27..8afd432 100644
--- a/book-enea-nfv-core-release-info/doc/book.xml
+++ b/book-enea-nfv-core-release-info/doc/book.xml
@@ -8,6 +8,7 @@
8 8
9 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 9 <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
10 <xi:include href="about_release.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 10 <xi:include href="about_release.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
11 <xi:include href="main_changes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
11 <xi:include href="known_bugs_and_limitations.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 12 <xi:include href="known_bugs_and_limitations.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
12 <xi:include href="../../s_docbuild/template/docsrc_common/contacting_enea_enea_linux.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> 13 <xi:include href="../../s_docbuild/template/docsrc_common/contacting_enea_enea_linux.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
13</book> \ No newline at end of file 14</book> \ No newline at end of file
diff --git a/book-enea-nfv-core-release-info/doc/known_bugs_and_limitations.xml b/book-enea-nfv-core-release-info/doc/known_bugs_and_limitations.xml
index 55e9be7..bc682ab 100644
--- a/book-enea-nfv-core-release-info/doc/known_bugs_and_limitations.xml
+++ b/book-enea-nfv-core-release-info/doc/known_bugs_and_limitations.xml
@@ -411,6 +411,30 @@
411 </listitem> 411 </listitem>
412 </itemizedlist> 412 </itemizedlist>
413 </listitem> 413 </listitem>
414
415 <listitem>
416 <para>On Mixed Arch Deployment, only the aarch64 TestVM Cirros image
417 will be installed by Fuel</para>
418
419 <itemizedlist>
420 <listitem>
421 <para>Description and Impact:</para>
422
423 <para>Due to the fact that Fuel will only deploy the aarch64
424 image, Yardstick, Functest, and certain Health Check tests will
425 not work. These test suites are dependent on a single image name
426 at a time, and do not know on how to place instances on the
427 Compute for images that each require a different arch.</para>
428
429 <para>To have both testVM images, the user must add the x86_64
430 image manually.</para>
431 </listitem>
432
433 <listitem>
434 <para>There is no workaround for the test suites failures.</para>
435 </listitem>
436 </itemizedlist>
437 </listitem>
414 </orderedlist> 438 </orderedlist>
415 </section> 439 </section>
416 440
diff --git a/book-enea-nfv-core-release-info/doc/main_changes.xml b/book-enea-nfv-core-release-info/doc/main_changes.xml
new file mode 100644
index 0000000..53c1f0f
--- /dev/null
+++ b/book-enea-nfv-core-release-info/doc/main_changes.xml
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<chapter id="main_changes">
3 <title>Main Changes</title>
4
5 <section id="mixed_arch">
6 <title>Mixed Arch Deployment</title>
7
8 <para>Enea NFV Core <phrase>1.1</phrase> can be installed on a cluster
9 consisting of servers with mixed CPU architectures. The user can deploy
10 x86 Controllers and a combination of x86 and aarch64 Compute nodes.</para>
11 </section>
12</chapter> \ No newline at end of file
diff --git a/book-enea-nfv-core-release-info/doc/new_in_this_release.xml b/book-enea-nfv-core-release-info/doc/new_in_this_release.xml
new file mode 100644
index 0000000..55b9735
--- /dev/null
+++ b/book-enea-nfv-core-release-info/doc/new_in_this_release.xml
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<chapter id="new_features">
3 <title>New In This Release</title>
4
5 <section>
6 <title>Mixed Arch Deployment</title>
7
8 <para>Mixed-arch Deployment: NFV Core 1.1 can be installed on a cluster
9 consisting of servers with mixed CPU architectures. The user can deploy
10 x86 Controllers and a combination of x86 and aarch64 Compute nodes.</para>
11 </section>
12</chapter> \ No newline at end of file