]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Merge branch_component_mask into mainline.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 25 Sep 2012 03:04:45 +0000 (03:04 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 25 Sep 2012 03:04:45 +0000 (03:04 +0000)
git-svn-id: https://svn.dealii.org/trunk@26700 0785d39b-7218-0410-832d-ea1e28bc413d

132 files changed:
deal.II/doc/doxygen/headers/glossary.h
deal.II/doc/news/changes.h
deal.II/include/deal.II/base/event.h
deal.II/include/deal.II/dofs/dof_tools.h
deal.II/include/deal.II/fe/block_mask.h [new file with mode: 0644]
deal.II/include/deal.II/fe/component_mask.h [new file with mode: 0644]
deal.II/include/deal.II/fe/fe.h
deal.II/include/deal.II/fe/fe_dg_vector.templates.h
deal.II/include/deal.II/fe/fe_poly.h
deal.II/include/deal.II/fe/fe_poly.templates.h
deal.II/include/deal.II/fe/fe_poly_face.templates.h
deal.II/include/deal.II/fe/fe_poly_tensor.h
deal.II/include/deal.II/fe/fe_system.h
deal.II/include/deal.II/fe/fe_values.h
deal.II/include/deal.II/fe/fe_values_extractors.h [new file with mode: 0644]
deal.II/include/deal.II/hp/dof_handler.h
deal.II/include/deal.II/hp/fe_collection.h
deal.II/include/deal.II/lac/constraint_matrix.templates.h
deal.II/include/deal.II/multigrid/mg_constrained_dofs.h
deal.II/include/deal.II/multigrid/mg_tools.h
deal.II/include/deal.II/multigrid/mg_transfer_block.h
deal.II/include/deal.II/multigrid/mg_transfer_component.h
deal.II/include/deal.II/numerics/error_estimator.h
deal.II/include/deal.II/numerics/point_value_history.h
deal.II/include/deal.II/numerics/vector_tools.h
deal.II/include/deal.II/numerics/vector_tools.templates.h
deal.II/source/dofs/dof_renumbering.cc
deal.II/source/dofs/dof_tools.cc
deal.II/source/dofs/dof_tools.inst.in
deal.II/source/fe/block_mask.cc [new file with mode: 0644]
deal.II/source/fe/component_mask.cc [new file with mode: 0644]
deal.II/source/fe/fe.cc
deal.II/source/fe/fe_abf.cc
deal.II/source/fe/fe_bdm.cc
deal.II/source/fe/fe_dgp.cc
deal.II/source/fe/fe_dgp_monomial.cc
deal.II/source/fe/fe_dgp_nonparametric.cc
deal.II/source/fe/fe_dgq.cc
deal.II/source/fe/fe_nedelec.cc
deal.II/source/fe/fe_nothing.cc
deal.II/source/fe/fe_poly_tensor.cc
deal.II/source/fe/fe_q.cc
deal.II/source/fe/fe_q_hierarchical.cc
deal.II/source/fe/fe_raviart_thomas.cc
deal.II/source/fe/fe_raviart_thomas_nodal.cc
deal.II/source/fe/fe_system.cc
deal.II/source/fe/fe_values.cc
deal.II/source/hp/fe_collection.cc
deal.II/source/multigrid/mg_tools.cc
deal.II/source/multigrid/mg_tools.inst.in
deal.II/source/multigrid/mg_transfer_component.cc
deal.II/source/multigrid/multigrid.cc
deal.II/source/numerics/error_estimator.cc
deal.II/source/numerics/error_estimator.inst.in
deal.II/source/numerics/point_value_history.cc
deal.II/source/numerics/vector_tools.inst.in
tests/Makefile.paths.in
tests/bits/anna_3.cc
tests/bits/dof_tools_12.cc
tests/bits/dof_tools_13a.cc
tests/deal.II/extract_dofs_by_component_01.cc
tests/deal.II/extract_dofs_by_component_01_hp.cc
tests/deal.II/extract_dofs_by_component_01_mg.cc
tests/deal.II/extract_dofs_by_component_01x.cc [new file with mode: 0644]
tests/deal.II/extract_dofs_by_component_01x/cmp/generic [new file with mode: 0644]
tests/deal.II/extract_dofs_by_component_01y.cc [new file with mode: 0644]
tests/deal.II/extract_dofs_by_component_01y/cmp/generic [new file with mode: 0644]
tests/deal.II/extract_dofs_by_component_02.cc
tests/deal.II/extract_dofs_by_component_02_hp.cc
tests/deal.II/extract_dofs_by_component_02_mg.cc
tests/deal.II/memory_consumption_01/cmp/generic
tests/fe/block_mask_01.cc [new file with mode: 0644]
tests/fe/block_mask_01/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_02.cc [new file with mode: 0644]
tests/fe/block_mask_02/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_03.cc [new file with mode: 0644]
tests/fe/block_mask_03/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_04.cc [new file with mode: 0644]
tests/fe/block_mask_04/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_05.cc [new file with mode: 0644]
tests/fe/block_mask_05/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_06.cc [new file with mode: 0644]
tests/fe/block_mask_06/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_07.cc [new file with mode: 0644]
tests/fe/block_mask_07/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_08.cc [new file with mode: 0644]
tests/fe/block_mask_08/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_09.cc [new file with mode: 0644]
tests/fe/block_mask_09/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_10.cc [new file with mode: 0644]
tests/fe/block_mask_10/cmp/generic [new file with mode: 0644]
tests/fe/block_mask_11.cc [new file with mode: 0644]
tests/fe/block_mask_11/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_01.cc [new file with mode: 0644]
tests/fe/component_mask_01/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_02.cc [new file with mode: 0644]
tests/fe/component_mask_02/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_03.cc [new file with mode: 0644]
tests/fe/component_mask_03/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_04.cc [new file with mode: 0644]
tests/fe/component_mask_04/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_05.cc [new file with mode: 0644]
tests/fe/component_mask_05/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_06.cc [new file with mode: 0644]
tests/fe/component_mask_06/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_07.cc [new file with mode: 0644]
tests/fe/component_mask_07/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_08.cc [new file with mode: 0644]
tests/fe/component_mask_08/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_09.cc [new file with mode: 0644]
tests/fe/component_mask_09/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_10.cc [new file with mode: 0644]
tests/fe/component_mask_10/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_11.cc [new file with mode: 0644]
tests/fe/component_mask_11/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_12.cc [new file with mode: 0644]
tests/fe/component_mask_12/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_13.cc [new file with mode: 0644]
tests/fe/component_mask_13/cmp/generic [new file with mode: 0644]
tests/fe/component_mask_14.cc [new file with mode: 0644]
tests/fe/component_mask_14/cmp/generic [new file with mode: 0644]
tests/fe/fe_restriction_dgq/cmp/generic
tests/fe/fe_restriction_rt/cmp/generic
tests/fe/fe_restriction_sys_05/cmp/generic
tests/fe/fe_restriction_sys_06/cmp/generic
tests/fe/fe_restriction_sys_07/cmp/generic
tests/fe/fe_restriction_sys_08/cmp/generic
tests/fe/fe_restriction_sys_09/cmp/generic
tests/fe/fe_restriction_sys_10/cmp/generic
tests/fe/injection_q.cc
tests/fe/rt_5.cc
tests/fe/rt_5/cmp/generic

index 07894b48a3d9f926a62e91d84c5c95ac42b8d73b..c3dfe33c77bb7639b4f8bad135fffb652b2aa27b 100644 (file)
  * More information on this topic can be found in the documentation of
  * FESystem, the @ref vector_valued module and the tutorial programs
  * referenced therein.
+ *
+ * <i>Selecting blocks:</i>
+ * Many functions allow you to restrict their operation to certain
+ * vector components or blocks. For example, this is the case for
+ * the functions that interpolate boundary values: one may want
+ * to only interpolate the boundary values for the velocity block of
+ * a finite element field but not the pressure block. The way to do
+ * this is by passing a BlockMask argument to such functions, see the
+ * @ref GlossBlockMask "block mask entry of this glossary".
  * </dd>
  *
  *
+ * <dt class="glossary">@anchor GlossBlockMask <b>Block mask</b></dt>
+ *
+ * <dd>
+ * In much the same way as one can think of elements as being composed
+ * of physical vector components (see @ref GlossComponent) or logical
+ * blocks (see @ref GlossBlock), there is frequently a need to select
+ * a set of such blocks for operations that are not intended to be run
+ * on <i>all</i> blocks of a finite element space. Selecting which blocks
+ * to work on happens using the BlockMask class.
+ *
+ * Block masks work in much the same way as component masks, including the
+ * fact that the BlockMask class has similar semantics to the ComponentMask
+ * class. See @ref GlossComponentMask "the glossary entry on component masks"
+ * for more information.
+ *
+ * @note While components and blocks provide two alternate but equally valid
+ * viewpoints on finite elements with multiple vector components, the fact
+ * is that throughout the library there are far more places where you can
+ * pass a ComponentMask argument rather than a BlockMask argument. Fortunately,
+ * one can be converted into the other, using the syntax
+ * <code>fe.component_mask(block_mask)</code> where <code>block_mask</code>
+ * is a variable of type BlockMask. In other words, if you have a block
+ * mask but need to call a function that only accepts a component mask, this
+ * syntax can be used to obtain the necessary component mask.
+ *
+ * <b>Creation of block masks:</b>
+ * Block masks are typically created by asking the finite element
+ * to generate a block mask from certain selected vector components using
+ * code such as this where we create a mask that only denotes the
+ * velocity components of a Stokes element (see @ref vector_valued):
+ * @code
+ *   FESystem<dim> stokes_fe (FESystem<dim>(FE_Q<dim>(2), dim), 1,    // Q2 element for the velocities
+ *                            FE_Q<dim>(1),                     1);     // Q1 element for the pressure
+ *   FEValuesExtractors::Scalar pressure(dim);
+ *   BlockMask pressure_mask = stokes_fe.block_mask (pressure);
+ * @endcode
+ * The result is a block mask that, in 1d as well as 2d and 3d, would have values
+ * <code>[false, true]</code>. Similarly, using
+ * @code
+ *   FEValuesExtractors::Vector velocities(0);
+ *   BlockMask velocity_mask = stokes_fe.block_mask (velocities);
+ * @endcode
+ * would result in a mask <code>[true, false]</code> in any dimension.
+ *
+ * Note, however, that if we had defined the finite element in the following
+ * way:
+ * @code
+ *   FESystem<dim> stokes_fe (FE_Q<dim>(2), dim,    // Q2 element for the velocities
+ *                            FE_Q<dim>(1), 1);     // Q1 element for the pressure
+ * @endcode
+ * then the code
+ * @code
+ *   FEValuesExtractors::Scalar pressure(dim);
+ *   BlockMask pressure_mask = stokes_fe.block_mask (pressure);
+ * @endcode
+ * would yield a block mask that in 2d has elements
+ * <code>[false, false, true]</code> because the element has
+ * <code>dim+1</code> components and equally many blocks. See the
+ * discussion on what a block represents exactly in the
+ * @ref GlossBlock "block entry of this glossary".
+ * </dd>
+ *
  * <dt class="glossary">@anchor GlossBoundaryForm <b>%Boundary form</b></dt>
  *
  * <dd>For a dim-dimensional triangulation in dim-dimensional space,
  * equation considered in step-22 has four elements: $u=(v_x,v_y,v_z,p)^T$. We
  * call the elements of the vector-valued solution <i>components</i> in
  * deal.II. To be well-posed, for the solution to have $n$ components, there
- * need to be $n$ partial differential equations to describe them.
+ * need to be $n$ partial differential equations to describe them. This
+ * concept is discussed in great detail in the @ref vector_valued module.
  *
  * In finite element programs, one frequently wants to address individual
  * elements (components) of this vector-valued solution, or sets of
  * terms of blocks is most frequently the better strategy.
  *
  * For a given finite element, the number of components can be queried using
- * the FiniteElementData::n_components() function. Individual components of a
+ * the FiniteElementData::n_components() function, and you can find out
+ * which vector components are nonzero for a given finite element shape
+ * function using FiniteElement::get_nonzero_components(). The values and
+ * gradients of individual components of a
  * shape function (if the element is primitive) can be queried using the
  * FiniteElement::shape_value_component() and
  * FiniteElement::shape_grad_component() functions on the reference cell. The
  * FEValues::shape_value_component() and FEValues::shape_grad_component()
  * functions do the same on a real cell. See also the documentation of the
- * FiniteElement and FEValues classes.</dd>
+ * FiniteElement and FEValues classes.
+  *
+ * <i>Selecting components:</i>
+ * Many functions allow you to restrict their operation to certain
+ * vector components or blocks. For example, this is the case for
+ * the functions that interpolate boundary values: one may want
+ * to only interpolate the boundary values for the velocity components of
+ * a finite element field but not the pressure component. The way to do
+ * this is by passing a ComponentMask argument to such functions, see the
+ * @ref GlossComponentMask "component mask entry of this glossary".
+ * </dd>
  *
  *
  * <dt class="glossary">@anchor GlossComponentMask <b>Component mask</b></dt>
  * wish to only interpolate boundary values for the velocity components
  * but not the pressure. In deal.II, this is typically done by passing functions
  * a <i>component mask</i>. Component masks are always specified as a
- * <code>std::vector@<bool@></code>, i.e., an array with as many entries as the
- * finite element has components (e.g., in the Stokes case, there are
+ * ComponentMask object which one can think of as an array with
+ * as many entries as the finite element has components (e.g., in the Stokes case, there are
  * <code>dim+1</code> components) and where each entry is either true or false.
  * In the example where we would like to interpolate boundary values only for
  * the velocity components of the Stokes system, this component mask would then
  * functions with these names but only some of them have a component mask
  * argument.
  *
- * Many of the functions that take a component mask accept a vector of length
- * zero to indicate <i>all components</i>, i.e., as if the vector had the
+ * <b>Semantics of component masks:</b>
+ * Many of the functions that take a component mask object that has been default
+ * constructed to indicate <i>all components</i>, i.e., as if the vector had the
  * correct length and was filled with only <code>true</code> values. The reason
- * is that the empty vector can be constructed in place using the code snippet
- * <code>std::vector@<bool@>()</code> and can thus be used as a default
+ * is that default initialized objects can be constructed in place using the code snippet
+ * <code>ComponentMask()</code> and can thus be used as a default
  * argument in function signatures.
+ *
+ * In other words, ComponentMask objects can be in one of two states: They can have
+ * been initialized by a vector of booleans with a nonzero length; in that case,
+ * they represent a mask of a particular length where some elements may be true
+ * and others may be false. Or, the ComponentMask may have been default initialized
+ * (using the default constructor) in which case it represents an array of indefinite
+ * length (i.e., a length appropriate to the circumstances) in which <i>every entry</i>
+ * is true.
+ *
+ * <b>Creation of component masks:</b>
+ * Component masks are typically created by asking the finite element
+ * to generate a component mask from certain selected components using
+ * code such as this where we create a mask that only denotes the
+ * velocity components of a Stokes element (see @ref vector_valued):
+ * @code
+ *   FESystem<dim> stokes_fe (FE_Q<dim>(2), dim,    // Q2 element for the velocities
+ *                            FE_Q<dim>(1), 1);     // Q1 element for the pressure
+ *   FEValuesExtractors::Scalar pressure(dim);
+ *   ComponentMask pressure_mask = stokes_fe.component_mask (pressure);
+ * @endcode
+ * The result is a component mask that, in 2d, would have values
+ * <code>[false, false, true]</code>. Similarly, using
+ * @code
+ *   FEValuesExtractors::Vector velocities(0);
+ *   ComponentMask velocity_mask = stokes_fe.component_mask (velocities);
+ * @endcode
+ * would result in a mask <code>[true, true, false]</code> in 2d. Of
+ * course, in 3d, the result would be <code>[true, true, true, false]</code>.
+ *
+ * @note Just as one can think of composed elements as being made up of
+ * @ref GlossComponent "components" or @ref GlossBlock "blocks", there are
+ * component masks (represented by the ComponentMask class) and
+ * @ref GlossBlockMask "block masks" (represented by the BlockMask class).
+ * The FiniteElement class has functions that convert between the two kinds of
+ * objects.
+ *
+ * @note Not all component masks actually make sense. For example, if you have
+ * a FE_RaviartThomas object in 2d, then it doesn't make any sense to have a
+ * component mask of the form <code>[true, false]</code> because you try to
+ * select individual vector components of a finite element where each shape
+ * function has both $x$ and $y$ velocities. In essence, while you can of
+ * course create such a component mask, there is nothing you can do with it.
  * </dd>
  *
  *
index 68114248461d41e61b8585c72ffb2f0e298cf229..d935b2f6232b718821be9622a5bb15c2b499daad 100644 (file)
@@ -24,12 +24,40 @@ inconvenience this causes.
 </p>
 
 <ol>
+<li>New: In the past, deal.II used a std::vector of bools in many places
+to denote component masks (see @ref GlossComponentMask) as well as for
+block masks (see @ref GlossBlockMask). This was neither
+descriptive (the data type does not indicate what it is supposed to
+represent, nor whether the proper size for such an argument would be equal
+to the number of degrees of freedom per cell, the number of vector components
+of the finite element, or the number of degrees of freedom in total).
+<br>
+There are now new class types ComponentMask and BlockMask that are used in these places.
+They are used both descriptively (as a return type of the function
+FiniteElement::get_nonzero_components indicating the vector components within
+which a given shape function is nonzero) as well as prescriptively (as
+input arguments to functions such as those listed in the glossary entry
+linked to above).
+<br>
+While the descriptive places are not backward compatible (they return a
+ComponentMask which is not convertible to the std::vector of bools returned
+before), most of the prescriptive places are in fact backward compatible
+(because the std::vector of bool that was passed previously can
+implicitly be converted to an object of type ComponentMask. The sole
+exception is the function DoFTools::extract_dofs (and its multigrid
+equivalent DoFTools::extract_level_dofs) that previously
+could interpret its argument as either a component or
+a block mask, depending on a boolean flag. This function now exists
+in two different versions, one that takes a ComponentMask and
+one that takes a BlockMask. Call sites need to be adjusted.
+<br>
+(Wolfgang Bangerth, 2012/09/22)
+
 <li> Changed: the optional argument offset got removed from
 DoFHandler and MGDoFHandler::distribute_dofs() because it was
 never working correctly and it is not used.
 <br>
 (Timo Heister, 2012/09/03)
-
 </ol>
 
 
index 33ac960098da346899551573cf3af25ed4058444..c691c804d138c1727892b4d0afd1851c8d81109d 100644 (file)
@@ -131,6 +131,7 @@ namespace Algorithms
                                        /**
                                         * The names of registered events
                                         */
+//TODO: This static field must be guarded by a mutex to be thread-safe!
       static std::vector<std::string> names;
   };
 
index 22a9d90963ddc6e80939107d7b8dfdf1847dc8d7..2820c3a8a96b248e7aa3edae6d46cfcec27103d7 100644 (file)
@@ -23,6 +23,7 @@
 #include <deal.II/dofs/function_map.h>
 #include <deal.II/dofs/dof_handler.h>
 #include <deal.II/fe/fe.h>
+#include <deal.II/fe/component_mask.h>
 #include <deal.II/hp/mapping_collection.h>
 
 #include <vector>
@@ -990,9 +991,8 @@ namespace DoFTools
                                     * components of the finite element space
                                     * shall be constrained with periodic
                                     * boundary conditions. If it is left as
-                                    * specified by the default value (i.e. an
-                                    * empty array), all components are
-                                    * constrainted. If it is different from
+                                    * specified by the default value all components are
+                                    * constrained. If it is different from
                                     * the default value, it is assumed that
                                     * the number of entries equals the number
                                     * of components in the boundary functions
@@ -1007,7 +1007,7 @@ namespace DoFTools
   make_periodicity_constraints (const FaceIterator                          &face_1,
                                 const typename identity<FaceIterator>::type &face_2,
                                 dealii::ConstraintMatrix                    &constraint_matrix,
-                                const std::vector<bool>                     &component_mask = std::vector<bool>());
+                                const ComponentMask                         &component_mask = ComponentMask());
 
 
                                    /**
@@ -1069,9 +1069,8 @@ namespace DoFTools
                                     * components of the finite element space
                                     * shall be constrained with periodic
                                     * boundary conditions. If it is left as
-                                    * specified by the default value (i.e. an
-                                    * empty array), all components are
-                                    * constrainted. If it is different from
+                                    * specified by the default value all components are
+                                    * constrained. If it is different from
                                     * the default value, it is assumed that
                                     * the number of entries equals the number
                                     * of components in the boundary functions
@@ -1087,7 +1086,7 @@ namespace DoFTools
                                 const types::boundary_id boundary_component,
                                 const int                  direction,
                                 dealii::ConstraintMatrix   &constraint_matrix,
-                                const std::vector<bool>    &component_mask = std::vector<bool>());
+                                const ComponentMask        &component_mask = ComponentMask());
 
 
                                    /**
@@ -1109,7 +1108,7 @@ namespace DoFTools
                                 dealii::Tensor<1,DH::space_dimension>
                                                                &offset,
                                 dealii::ConstraintMatrix       &constraint_matrix,
-                                const std::vector<bool>        &component_mask = std::vector<bool>());
+                                const ComponentMask            &component_mask = ComponentMask());
                                    //@}
 
 
@@ -1178,34 +1177,31 @@ namespace DoFTools
                                     * Extract the indices of the
                                     * degrees of freedom belonging
                                     * to certain vector components
-                                    * or blocks (if the last
-                                    * argument is <tt>true</tt>) of
+                                    * of
                                     * a vector-valued finite
-                                    * element. The bit vector @p
-                                    * select defines, which
+                                    * element. The @p component_mask
+                                    * defines which
                                     * components or blocks of an
                                     * FESystem are to be extracted
                                     * from the DoFHandler @p
-                                    * dof. The entries in @p
+                                    * dof. The entries in the output array @p
                                     * selected_dofs corresponding to
                                     * degrees of freedom belonging
                                     * to these components are then
                                     * flagged @p true, while all
                                     * others are set to @p false.
                                     *
-                                    * The size of @p select must
-                                    * equal the number of components
-                                    * or blocks in the FiniteElement
-                                    * used by @p dof, depending on
-                                    * the argument
-                                    * <tt>blocks</tt>. The size of
+                                    * The size of @p component_mask must
+                                    * be compatible with the number of components
+                                    * in the FiniteElement
+                                    * used by @p dof. The size of
                                     * @p selected_dofs must equal
                                     * DoFHandler::n_dofs(). Previous
                                     * contents of this array are
                                     * overwritten.
                                     *
                                     * If the finite element under
-                                    * consideration is not primitive, that is
+                                    * consideration is not primitive, i.e.,
                                     * some or all of its shape functions are
                                     * non-zero in more than one vector
                                     * component (which holds, for example, for
@@ -1219,37 +1215,78 @@ namespace DoFTools
                                     * equivalent to selecting <em>all</em>
                                     * vector components corresponding to this
                                     * non-primitive base element.
+                                    *
+                                    * @note If the @p blocks argument is
+                                    * true,
                                     */
   template <int dim, int spacedim>
   void
   extract_dofs (const DoFHandler<dim,spacedim>   &dof_handler,
-                const std::vector<bool> &select,
-                std::vector<bool>       &selected_dofs,
-                const bool               blocks = false);
+                const ComponentMask &component_mask,
+                std::vector<bool>       &selected_dofs);
 
-                                   /**
-                                    * The same function as above,
-                                    * but for a hp::DoFHandler.
-                                    */
+  /**
+   * The same function as above,
+   * but for a hp::DoFHandler.
+   */
   template <int dim, int spacedim>
   void
   extract_dofs (const hp::DoFHandler<dim,spacedim>   &dof_handler,
-                const std::vector<bool> &select,
-                std::vector<bool>       &selected_dofs,
-                const bool               blocks = false);
+                const ComponentMask     &component_mask,
+                std::vector<bool>       &selected_dofs);
 
-                                   /**
-                                    * Do the same thing as
-                                    * extract_dofs() for one level
-                                    * of a multi-grid DoF numbering.
-                                    */
+  /**
+   * This function is the equivalent to the DoFTools::extract_dofs() functions above
+   * except that the selection of which degrees of freedom to extract is not done
+   * based on components (see @ref GlossComponent) but instead based on whether they
+   * are part of a particular block (see @ref GlossBlock). Consequently, the second
+   * argument is not a ComponentMask but a BlockMask object.
+   *
+   * @param dof_handler The DoFHandler object from which to extract degrees of freedom
+   * @param block_mask The block mask that describes which blocks to consider (see
+   *       @ref GlossBlockMask)
+   * @param selected_dofs A vector of length DoFHandler::n_dofs() in which those
+   *       entries are true that correspond to the selected blocks.
+   */
+  template <int dim, int spacedim>
+  void
+  extract_dofs (const DoFHandler<dim,spacedim>   &dof_handler,
+                const BlockMask &block_mask,
+                std::vector<bool>       &selected_dofs);
+
+  /**
+   * The same function as above,
+   * but for a hp::DoFHandler.
+   */
+  template <int dim, int spacedim>
+  void
+  extract_dofs (const hp::DoFHandler<dim,spacedim>   &dof_handler,
+                const BlockMask        &block_mask,
+                std::vector<bool>       &selected_dofs);
+
+  /**
+   * Do the same thing as the corresponding
+   * extract_dofs() functino for one level
+   * of a multi-grid DoF numbering.
+   */
+  template <int dim, int spacedim>
+  void
+  extract_level_dofs (const unsigned int       level,
+                      const MGDoFHandler<dim,spacedim> &dof,
+                      const ComponentMask     &component_mask,
+                      std::vector<bool>       &selected_dofs);
+
+  /**
+   * Do the same thing as the corresponding
+   * extract_dofs() functino for one level
+   * of a multi-grid DoF numbering.
+   */
   template <int dim, int spacedim>
   void
   extract_level_dofs (const unsigned int       level,
                       const MGDoFHandler<dim,spacedim> &dof,
-                      const std::vector<bool> &select,
-                      std::vector<bool>       &selected_dofs,
-                      const bool               blocks = false);
+                      const BlockMask     &component_mask,
+                      std::vector<bool>       &selected_dofs);
 
   /**
    * Extract all degrees of freedom
@@ -1333,7 +1370,7 @@ namespace DoFTools
   template <class DH>
   void
   extract_boundary_dofs (const DH                   &dof_handler,
-                         const std::vector<bool>    &component_mask,
+                         const ComponentMask        &component_mask,
                          std::vector<bool>          &selected_dofs,
                          const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
 
@@ -1369,8 +1406,8 @@ namespace DoFTools
   template <class DH>
   void
   extract_boundary_dofs (const DH                   &dof_handler,
-                         const std::vector<bool>    &component_mask,
-                         IndexSet                    &selected_dofs,
+                         const ComponentMask        &component_mask,
+                         IndexSet                   &selected_dofs,
                          const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
 
                                    /**
@@ -1405,9 +1442,9 @@ namespace DoFTools
                                     */
   template <class DH>
   void
-  extract_dofs_with_support_on_boundary (const DH                   &dof_handler,
-                                         const std::vector<bool>    &component_mask,
-                                         std::vector<bool>          &selected_dofs,
+  extract_dofs_with_support_on_boundary (const DH               &dof_handler,
+                                         const ComponentMask    &component_mask,
+                                         std::vector<bool>      &selected_dofs,
                                          const std::set<types::boundary_id> &boundary_indicators = std::set<types::boundary_id>());
 
                                    /**
@@ -1732,7 +1769,7 @@ namespace DoFTools
                                    /**
                                     * Create a sparsity pattern which
                                     * in each row lists the degrees of
-                                    * freedom associated to the
+                                    * freedom associated with the
                                     * corresponding cell.
                                     *
                                     * Ordering follows the ordering of
@@ -1957,7 +1994,7 @@ namespace DoFTools
   template <class DH>
   void
   extract_constant_modes (const DH                        &dof_handler,
-                          const std::vector<bool>         &component_mask,
+                          const ComponentMask             &component_mask,
                           std::vector<std::vector<bool> > &constant_modes);
 
                                    /**
@@ -2597,8 +2634,8 @@ namespace DoFTools
   template <int dim, int spacedim, template <int, int> class DH>
   void
   make_zero_boundary_constraints (const DH<dim,spacedim> &dof,
-                                  ConstraintMatrix        &zero_boundary_constraints,
-                                  const std::vector<bool> &component_mask_=std::vector<bool>());
+                                  ConstraintMatrix       &zero_boundary_constraints,
+                                  const ComponentMask    &component_mask = ComponentMask());
 
                                    /**
                                     * Map a coupling table from the
diff --git a/deal.II/include/deal.II/fe/block_mask.h b/deal.II/include/deal.II/fe/block_mask.h
new file mode 100644 (file)
index 0000000..5ffe92a
--- /dev/null
@@ -0,0 +1,417 @@
+//---------------------------------------------------------------------------
+//    $Id$
+//
+//    Copyright (C) 2009, 2010, 2011, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+#ifndef __deal2__fe_block_mask_h
+#define __deal2__fe_block_mask_h
+
+#include <deal.II/base/config.h>
+#include <deal.II/base/exceptions.h>
+#include <deal.II/base/memory_consumption.h>
+
+#include <vector>
+#ifdef HAVE_STD_IOSFWD_HEADER
+#  include <iosfwd>
+#else
+#  include <iostream>
+#endif
+
+DEAL_II_NAMESPACE_OPEN
+
+
+
+/**
+ * This class represents a mask that can be used to select individual
+ * vector blocks of a finite element (see also
+ * @ref GlossBlockMask "this glossary entry"). It will typically have as many
+ * elements as the finite element has blocks, and one can
+ * use <code>operator[]</code> to query whether a particular block
+ * has been selected.
+ *
+ * The semantics of this class are the same as the related ComponentMask
+ * class, i.e., a default constructed mask represents all possible
+ * blocks. See there for more information about these semantics.
+ *
+ * Objects of this kind are used in many places where one wants to restrict
+ * operations to a certain subset of blocks, e.g. in DoFTools::extract_dofs.
+ * These objects can
+ * either be created by hand, or, simpler, by asking the finite element
+ * to generate a block mask from certain selected blocks using
+ * code such as this where we create a mask that only denotes the
+ * velocity block of a Stokes element (see @ref vector_valued):
+ * @code
+ *   FESystem<dim> stokes_fe (FESystem<dim>(FE_Q<dim>(2), dim), 1,    // Q2 element for the velocities
+ *                            FE_Q<dim>(1),                     1);     // Q1 element for the pressure
+ *   FEValuesExtractors::Scalar pressure(dim);
+ *   BlockMask pressure_mask = stokes_fe.block_mask (pressure);
+ * @endcode
+ * Note that by wrapping the velocity elements into a single FESystem
+ * object we make sure that the overall element has only 2 blocks.
+ * The result is a block mask that, in both 2d and 3d, would have values
+ * <code>[false, true]</code>. (Compare this to the corresponding
+ * component mask discussed in the ComponentMask documentation.)
+ * Similarly, using
+ * @code
+ *   FEValuesExtractors::Vector velocities(0);
+ *   BlockMask velocity_mask = stokes_fe.block_mask (velocities);
+ * @endcode
+ * would result in a mask <code>[true, false]</code> in both 2d and 3d.
+ *
+ * @ingroup fe
+ * @author Wolfgang Bangerth
+ * @date 2012
+ * @ingroup vector_valued
+ */
+class BlockMask
+{
+  public:
+  /**
+   * Initialize a block mask. The default is that a block
+   * mask represents a set of blocks that are <i>all</i>
+   * selected, i.e., calling this constructor results in
+   * a block mask that always returns <code>true</code>
+   * whenever asked whether a block is selected.
+   */
+  BlockMask ();
+
+  /**
+   * Initialize an object of this type with a set of selected
+   * blocks specified by the argument.
+   *
+   * @param block_mask A vector of <code>true/false</code>
+   * entries that determine which blocks of a finite element
+   * are selected. If the length of the given vector is zero,
+   * then this interpreted as the case where <i>every</i> block
+   * is selected.
+   */
+  BlockMask (const std::vector<bool> &block_mask);
+
+  /**
+   * Initialize the block mask with a number of elements that
+   * are either all true or false.
+   *
+   * @param n_blocks The number of elements of this mask
+   * @param initializer The value each of these elements is supposed to have:
+   *                    either true or false.
+   */
+  BlockMask (const unsigned int n_blocks,
+             const bool         initializer);
+
+  /**
+   * If this block mask has been initialized with a mask of
+   * size greater than zero, then return the size of the mask
+   * represented by this object. On the other hand, if this
+   * mask has been initialized as an empty object that represents
+   * a mask that is true for every element (i.e., if this object
+   * would return true when calling represents_the_all_selected_mask())
+   * then return zero since no definite size is known.
+   */
+  unsigned int size () const;
+
+  /**
+   * Return whether a particular block is selected by this
+   * mask. If this mask represents the case of an object that
+   * selects <i>all blocks</i> (e.g. if it is created
+   * using the default constructor or is converted from an
+   * empty vector of type bool) then this function returns
+   * true regardless of the given argument.
+   *
+   * @param block_index The index for which the function
+   * should return whether the block is selected. If this
+   * object represents a mask in which all blocks are always
+   * selected then any index is allowed here. Otherwise, the
+   * given index needs to be between zero and the number of
+   * blocks that this mask represents.
+   */
+  bool operator[] (const unsigned int block_index) const;
+
+  /**
+   * Return whether this block mask represents a mask with
+   * exactly <code>n</code> blocks. This is true if either
+   * it was initilized with a vector with exactly <code>n</code>
+   * entries of type <code>bool</code> (in this case, @p n must
+   * equal the result of size()) or if it was initialized
+   * with an empty vector (or using the default constructor) in
+   * which case it can represent a mask with an arbitrary number
+   * of blocks and will always say that a block is
+   * selected.
+   */
+  bool
+  represents_n_blocks (const unsigned int n) const;
+
+  /**
+   * Return the number of blocks that are selected by this mask.
+   *
+   * Since empty block masks represent a block mask that
+   * would return <code>true</code> for every block, this
+   * function may not know the true size of the block
+   * mask and it therefore requires an argument that denotes the
+   * overall number of blocks.
+   *
+   * If the object has been initialized with a non-empty mask (i.e.,
+   * if the size() function returns something greater than zero,
+   * or equivalently if represents_the_all_selected_mask() returns
+   * false) then the argument can be omitted and the result of size()
+   * is taken.
+   */
+  unsigned int
+  n_selected_blocks (const unsigned int overall_number_of_blocks = numbers::invalid_unsigned_int) const;
+
+  /**
+   * Return the index of the first selected block. The argument
+   * is there for the same reason it exists with the
+   * n_selected_blocks() function.
+   *
+   * The function throws an exception if no block is selected at all.
+   */
+  unsigned int
+  first_selected_block (const unsigned int overall_number_of_blocks = numbers::invalid_unsigned_int) const;
+
+  /**
+   * Return true if this mask represents a default
+   * constructed mask that corresponds to one in which
+   * all blocks are selected. If true, then the size()
+   * function will return zero.
+   */
+  bool
+  represents_the_all_selected_mask () const;
+
+  /**
+   * Return a block mask that contains the union of the
+   * blocks selected by the current object and the one
+   * passed as an argument.
+   */
+  BlockMask operator | (const BlockMask &mask) const;
+
+  /**
+   * Return a block mask that has only those elements set that
+   * are set both in the current object as well as the one
+   * passed as an argument.
+   */
+  BlockMask operator & (const BlockMask &mask) const;
+
+  /**
+   * Return whether this object and the argument are identical.
+   */
+  bool operator== (const BlockMask &mask) const;
+
+  /**
+   * Determine an estimate for the
+   * memory consumption (in bytes)
+   * of this object.
+   */
+  std::size_t
+  memory_consumption () const;
+
+  private:
+  /**
+   * The actual block mask.
+   */
+  std::vector<bool> block_mask;
+
+  // make the output operator a friend so it can access
+  // the block_mask array
+  friend
+  std::ostream & operator << (std::ostream &out,
+                              const BlockMask &mask);
+};
+
+
+/**
+ * Write a block mask to an output stream. If the block
+ * mask represents one where all blocks are selected without
+ * specifying a particular size of the mask, then it
+ * writes the string <code>[all blocks selected]</code> to the
+ * stream. Otherwise, it prints the block mask in a form like
+ * <code>[true,true,true,false]</code>.
+ *
+ * @param out The stream to write to.
+ * @param mask The mask to write.
+ * @return A reference to the first argument.
+ */
+std::ostream & operator << (std::ostream &out,
+                            const BlockMask &mask);
+
+
+// -------------------- inline functions ---------------------
+
+inline
+BlockMask::BlockMask()
+{}
+
+
+inline
+BlockMask::BlockMask(const std::vector<bool> &block_mask)
+:
+block_mask (block_mask)
+{}
+
+
+inline
+BlockMask::BlockMask(const unsigned int n_blocks,
+                                     const bool         initializer)
+:
+block_mask (n_blocks, initializer)
+{}
+
+
+inline
+unsigned int
+BlockMask::size () const
+{
+  return block_mask.size();
+}
+
+
+inline
+bool
+BlockMask::operator [](const unsigned int block_index) const
+{
+  // if the mask represents the all-block mask
+  // then always return true
+  if (block_mask.size() == 0)
+    return true;
+  else
+    {
+      // otherwise check the validity of the index and
+      // return whatever is appropriate
+      Assert (block_index < block_mask.size(),
+              ExcIndexRange (block_index, 0, block_mask.size()));
+      return block_mask[block_index];
+    }
+}
+
+
+inline
+bool
+BlockMask::represents_n_blocks(const unsigned int n) const
+{
+  return ((block_mask.size() == 0)
+      ||
+      (block_mask.size() == n));
+}
+
+
+inline
+unsigned int
+BlockMask::n_selected_blocks(const unsigned int n) const
+{
+  if ((n != numbers::invalid_unsigned_int) && (size() > 0))
+    AssertDimension (n, size());
+
+  const unsigned int real_n = (n != numbers::invalid_unsigned_int
+                               ?
+                               n
+                               :
+                               size());
+  if (block_mask.size() == 0)
+    return real_n;
+  else
+    {
+      AssertDimension (real_n, block_mask.size());
+      unsigned int c = 0;
+      for (unsigned int i=0; i<block_mask.size(); ++i)
+        if (block_mask[i] == true)
+          ++c;
+      return c;
+    }
+}
+
+
+inline
+unsigned int
+BlockMask::first_selected_block(const unsigned int n) const
+{
+  if ((n != numbers::invalid_unsigned_int) && (size() > 0))
+    AssertDimension (n, size());
+
+  if (block_mask.size() == 0)
+    return 0;
+  else
+    {
+      for (unsigned int c=0; c<block_mask.size(); ++c)
+        if (block_mask[c] == true)
+          return c;
+
+      Assert (false, ExcMessage ("No block is selected at all!"));
+      return numbers::invalid_unsigned_int;
+    }
+}
+
+
+
+inline
+bool
+BlockMask::represents_the_all_selected_mask () const
+{
+  return (block_mask.size() == 0);
+}
+
+
+
+inline
+BlockMask
+BlockMask::operator | (const BlockMask &mask) const
+{
+  // if one of the two masks denotes the all-block mask,
+  // then return the other one
+  if (block_mask.size() == 0)
+    return mask;
+  else if (mask.block_mask.size() == 0)
+    return *this;
+  else
+    {
+      // if both masks have individual entries set, form
+      // the combination of the two
+      AssertDimension(block_mask.size(), mask.block_mask.size());
+      std::vector<bool> new_mask (block_mask.size());
+      for (unsigned int i=0; i<block_mask.size(); ++i)
+        new_mask[i] = (block_mask[i] || mask.block_mask[i]);
+
+      return new_mask;
+    }
+}
+
+
+inline
+BlockMask
+BlockMask::operator & (const BlockMask &mask) const
+{
+  // if one of the two masks denotes the all-block mask,
+  // then return the other one
+  if (block_mask.size() == 0)
+    return mask;
+  else if (mask.block_mask.size() == 0)
+    return *this;
+  else
+    {
+      // if both masks have individual entries set, form
+      // the combination of the two
+      AssertDimension(block_mask.size(), mask.block_mask.size());
+      std::vector<bool> new_mask (block_mask.size());
+      for (unsigned int i=0; i<block_mask.size(); ++i)
+        new_mask[i] = (block_mask[i] && mask.block_mask[i]);
+
+      return new_mask;
+    }
+}
+
+
+inline
+bool
+BlockMask::operator== (const BlockMask &mask) const
+{
+  return block_mask == mask.block_mask;
+}
+
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif
diff --git a/deal.II/include/deal.II/fe/component_mask.h b/deal.II/include/deal.II/fe/component_mask.h
new file mode 100644 (file)
index 0000000..4424126
--- /dev/null
@@ -0,0 +1,410 @@
+//---------------------------------------------------------------------------
+//    $Id$
+//
+//    Copyright (C) 2009, 2010, 2011, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+#ifndef __deal2__fe_component_mask_h
+#define __deal2__fe_component_mask_h
+
+#include <deal.II/base/config.h>
+#include <deal.II/base/exceptions.h>
+#include <deal.II/base/memory_consumption.h>
+
+#include <vector>
+#ifdef HAVE_STD_IOSFWD_HEADER
+#  include <iosfwd>
+#else
+#  include <iostream>
+#endif
+
+DEAL_II_NAMESPACE_OPEN
+
+
+
+/**
+ * This class represents a mask that can be used to select individual
+ * vector components of a finite element (see also
+ * @ref GlossComponentMask "this glossary entry"). It will typically have as many
+ * elements as the finite element has vector components, and one can
+ * use <code>operator[]</code> to query whether a particular component
+ * has been selected.
+ *
+ * Objects of this kind are used in many places where one wants to restrict
+ * operations to a certain subset of components, e.g. in DoFTools::make_zero_boundary_values
+ * or VectorTools::interpolate_boundary_values. These objects can
+ * either be created by hand, or, simpler, by asking the finite element
+ * to generate a component mask from certain selected components using
+ * code such as this where we create a mask that only denotes the
+ * velocity components of a Stokes element (see @ref vector_valued):
+ * @code
+ *   FESystem<dim> stokes_fe (FE_Q<dim>(2), dim,    // Q2 element for the velocities
+ *                            FE_Q<dim>(1), 1);     // Q1 element for the pressure
+ *   FEValuesExtractors::Scalar pressure(dim);
+ *   ComponentMask pressure_mask = stokes_fe.component_mask (pressure);
+ * @endcode
+ * The result is a component mask that, in 2d, would have values
+ * <code>[false, false, true]</code>. Similarly, using
+ * @code
+ *   FEValuesExtractors::Vector velocities(0);
+ *   ComponentMask velocity_mask = stokes_fe.component_mask (velocities);
+ * @endcode
+ * would result in a mask <code>[true, true, false]</code> in 2d. Of
+ * course, in 3d, the result would be <code>[true, true, true, false]</code>.
+ *
+ * @ingroup fe
+ * @author Wolfgang Bangerth
+ * @date 2012
+ * @ingroup vector_valued
+ */
+class ComponentMask
+{
+  public:
+  /**
+   * Initialize a component mask. The default is that a component
+   * mask represents a set of components that are <i>all</i>
+   * selected, i.e., calling this constructor results in
+   * a component mask that always returns <code>true</code>
+   * whenever asked whether a component is selected.
+   */
+  ComponentMask ();
+
+  /**
+   * Initialize an object of this type with a set of selected
+   * components specified by the argument.
+   *
+   * @param component_mask A vector of <code>true/false</code>
+   * entries that determine which components of a finite element
+   * are selected. If the length of the given vector is zero,
+   * then this interpreted as the case where <i>every</i> component
+   * is selected.
+   */
+  ComponentMask (const std::vector<bool> &component_mask);
+
+  /**
+   * Initialize the component mask with a number of elements that
+   * are either all true or false.
+   *
+   * @param n_components The number of elements of this mask
+   * @param initializer The value each of these elements is supposed to have:
+   *                    either true or false.
+   */
+  ComponentMask (const unsigned int n_components,
+                 const bool         initializer);
+
+  /**
+   * If this component mask has been initialized with a mask of
+   * size greater than zero, then return the size of the mask
+   * represented by this object. On the other hand, if this
+   * mask has been initialized as an empty object that represents
+   * a mask that is true for every element (i.e., if this object
+   * would return true when calling represents_the_all_selected_mask())
+   * then return zero since no definite size is known.
+   */
+  unsigned int size () const;
+
+  /**
+   * Return whether a particular component is selected by this
+   * mask. If this mask represents the case of an object that
+   * selects <i>all components</i> (e.g. if it is created
+   * using the default constructor or is converted from an
+   * empty vector of type bool) then this function returns
+   * true regardless of the given argument.
+   *
+   * @param component_index The index for which the function
+   * should return whether the component is selected. If this
+   * object represents a mask in which all components are always
+   * selected then any index is allowed here. Otherwise, the
+   * given index needs to be between zero and the number of
+   * components that this mask represents.
+   */
+  bool operator[] (const unsigned int component_index) const;
+
+  /**
+   * Return whether this component mask represents a mask with
+   * exactly <code>n</code> components. This is true if either
+   * it was initilized with a vector with exactly <code>n</code>
+   * entries of type <code>bool</code> (in this case, @p n must
+   * equal the result of size()) or if it was initialized
+   * with an empty vector (or using the default constructor) in
+   * which case it can represent a mask with an arbitrary number
+   * of components and will always say that a component is
+   * selected.
+   */
+  bool
+  represents_n_components (const unsigned int n) const;
+
+  /**
+   * Return the number of components that are selected by this mask.
+   *
+   * Since empty component masks represent a component mask that
+   * would return <code>true</code> for every component, this
+   * function may not know the true size of the component
+   * mask and it therefore requires an argument that denotes the
+   * overall number of components.
+   *
+   * If the object has been initialized with a non-empty mask (i.e.,
+   * if the size() function returns something greater than zero,
+   * or equivalently if represents_the_all_selected_mask() returns
+   * false) then the argument can be omitted and the result of size()
+   * is taken.
+   */
+  unsigned int
+  n_selected_components (const unsigned int overall_number_of_components = numbers::invalid_unsigned_int) const;
+
+  /**
+   * Return the index of the first selected component. The argument
+   * is there for the same reason it exists with the
+   * n_selected_components() function.
+   *
+   * The function throws an exception if no component is selected at all.
+   */
+  unsigned int
+  first_selected_component (const unsigned int overall_number_of_components = numbers::invalid_unsigned_int) const;
+
+  /**
+   * Return true if this mask represents a default
+   * constructed mask that corresponds to one in which
+   * all components are selected. If true, then the size()
+   * function will return zero.
+   */
+  bool
+  represents_the_all_selected_mask () const;
+
+  /**
+   * Return a component mask that contains the union of the
+   * components selected by the current object and the one
+   * passed as an argument.
+   */
+  ComponentMask operator | (const ComponentMask &mask) const;
+
+  /**
+   * Return a component mask that has only those elements set that
+   * are set both in the current object as well as the one
+   * passed as an argument.
+   */
+  ComponentMask operator & (const ComponentMask &mask) const;
+
+  /**
+   * Return whether this object and the argument are identical.
+   */
+  bool operator== (const ComponentMask &mask) const;
+
+  /**
+   * Determine an estimate for the
+   * memory consumption (in bytes)
+   * of this object.
+   */
+  std::size_t
+  memory_consumption () const;
+
+  private:
+  /**
+   * The actual component mask.
+   */
+  std::vector<bool> component_mask;
+
+  // make the output operator a friend so it can access
+  // the component_mask array
+  friend
+  std::ostream & operator << (std::ostream &out,
+                              const ComponentMask &mask);
+};
+
+
+/**
+ * Write a component mask to an output stream. If the component
+ * mask represents one where all components are selected without
+ * specifying a particular size of the mask, then it
+ * writes the string <code>[all components selected]</code> to the
+ * stream. Otherwise, it prints the component mask in a form like
+ * <code>[true,true,true,false]</code>.
+ *
+ * @param out The stream to write to.
+ * @param mask The mask to write.
+ * @return A reference to the first argument.
+ */
+std::ostream & operator << (std::ostream &out,
+                            const ComponentMask &mask);
+
+
+// -------------------- inline functions ---------------------
+
+inline
+ComponentMask::ComponentMask()
+{}
+
+
+inline
+ComponentMask::ComponentMask(const std::vector<bool> &component_mask)
+:
+component_mask (component_mask)
+{}
+
+
+inline
+ComponentMask::ComponentMask(const unsigned int n_components,
+                                     const bool         initializer)
+:
+component_mask (n_components, initializer)
+{}
+
+
+inline
+unsigned int
+ComponentMask::size () const
+{
+  return component_mask.size();
+}
+
+
+inline
+bool
+ComponentMask::operator [](const unsigned int component_index) const
+{
+  // if the mask represents the all-component mask
+  // then always return true
+  if (component_mask.size() == 0)
+    return true;
+  else
+    {
+      // otherwise check the validity of the index and
+      // return whatever is appropriate
+      Assert (component_index < component_mask.size(),
+              ExcIndexRange (component_index, 0, component_mask.size()));
+      return component_mask[component_index];
+    }
+}
+
+
+inline
+bool
+ComponentMask::represents_n_components(const unsigned int n) const
+{
+  return ((component_mask.size() == 0)
+      ||
+      (component_mask.size() == n));
+}
+
+
+inline
+unsigned int
+ComponentMask::n_selected_components(const unsigned int n) const
+{
+  if ((n != numbers::invalid_unsigned_int) && (size() > 0))
+    AssertDimension (n, size());
+
+  const unsigned int real_n = (n != numbers::invalid_unsigned_int
+                               ?
+                               n
+                               :
+                               size());
+  if (component_mask.size() == 0)
+    return real_n;
+  else
+    {
+      AssertDimension (real_n, component_mask.size());
+      unsigned int c = 0;
+      for (unsigned int i=0; i<component_mask.size(); ++i)
+        if (component_mask[i] == true)
+          ++c;
+      return c;
+    }
+}
+
+
+inline
+unsigned int
+ComponentMask::first_selected_component(const unsigned int n) const
+{
+  if ((n != numbers::invalid_unsigned_int) && (size() > 0))
+    AssertDimension (n, size());
+
+  if (component_mask.size() == 0)
+    return 0;
+  else
+    {
+      for (unsigned int c=0; c<component_mask.size(); ++c)
+        if (component_mask[c] == true)
+          return c;
+
+      Assert (false, ExcMessage ("No component is selected at all!"));
+      return numbers::invalid_unsigned_int;
+    }
+}
+
+
+
+inline
+bool
+ComponentMask::represents_the_all_selected_mask () const
+{
+  return (component_mask.size() == 0);
+}
+
+
+
+inline
+ComponentMask
+ComponentMask::operator | (const ComponentMask &mask) const
+{
+  // if one of the two masks denotes the all-component mask,
+  // then return the other one
+  if (component_mask.size() == 0)
+    return mask;
+  else if (mask.component_mask.size() == 0)
+    return *this;
+  else
+    {
+      // if both masks have individual entries set, form
+      // the combination of the two
+      AssertDimension(component_mask.size(), mask.component_mask.size());
+      std::vector<bool> new_mask (component_mask.size());
+      for (unsigned int i=0; i<component_mask.size(); ++i)
+        new_mask[i] = (component_mask[i] || mask.component_mask[i]);
+
+      return new_mask;
+    }
+}
+
+
+inline
+ComponentMask
+ComponentMask::operator & (const ComponentMask &mask) const
+{
+  // if one of the two masks denotes the all-component mask,
+  // then return the other one
+  if (component_mask.size() == 0)
+    return mask;
+  else if (mask.component_mask.size() == 0)
+    return *this;
+  else
+    {
+      // if both masks have individual entries set, form
+      // the combination of the two
+      AssertDimension(component_mask.size(), mask.component_mask.size());
+      std::vector<bool> new_mask (component_mask.size());
+      for (unsigned int i=0; i<component_mask.size(); ++i)
+        new_mask[i] = (component_mask[i] && mask.component_mask[i]);
+
+      return new_mask;
+    }
+}
+
+
+inline
+bool
+ComponentMask::operator== (const ComponentMask &mask) const
+{
+  return component_mask == mask.component_mask;
+}
+
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif
index 8c4d454e4a1da2a4e7b3a30e220cfe7b61eec241..62bf4a2db65cc9267796d79ade0fe66441fca07c 100644 (file)
@@ -15,6 +15,9 @@
 #include <deal.II/base/config.h>
 #include <deal.II/base/geometry_info.h>
 #include <deal.II/fe/fe_base.h>
+#include <deal.II/fe/fe_values_extractors.h>
+#include <deal.II/fe/component_mask.h>
+#include <deal.II/fe/block_mask.h>
 
 
 DEAL_II_NAMESPACE_OPEN
@@ -394,7 +397,7 @@ class FiniteElement : public Subscriptor,
                                       */
     FiniteElement (const FiniteElementData<dim> &fe_data,
                    const std::vector<bool>      &restriction_is_additive_flags,
-                   const std::vector<std::vector<bool> > &nonzero_components);
+                   const std::vector<ComponentMask> &nonzero_components);
 
                                      /**
                                       * Virtual destructor. Makes sure
@@ -1352,7 +1355,7 @@ class FiniteElement : public Subscriptor,
                                       * called non-primitive (see
                                      * @ref GlossPrimitive).
                                       */
-    const std::vector<bool> &
+    const ComponentMask &
     get_nonzero_components (const unsigned int i) const;
 
                                      /**
@@ -1573,6 +1576,159 @@ class FiniteElement : public Subscriptor,
     unsigned int
     component_to_block_index (const unsigned int component) const;
 
+    //@}
+
+    /**
+     * @name Component and block matrices
+     * @{
+     */
+
+    /**
+     * Return a component mask with as many elements as this
+     * object has vector components and of which exactly the
+     * one component is true that corresponds to the given
+     * argument. See @ref GlossComponentMask "the glossary"
+     *  for more information.
+     *
+     * @param scalar An object that represents a single scalar
+     * vector component of this finite element.
+     * @return A component mask that is false in all components
+     * except for the one that corresponds to the argument.
+     */
+    ComponentMask
+    component_mask (const FEValuesExtractors::Scalar &scalar) const;
+
+    /**
+     * Return a component mask with as many elements as this
+     * object has vector components and of which exactly the
+     * <code>dim</code> components are true that correspond to the given
+     * argument. See @ref GlossComponentMask "the glossary"
+     * for more information.
+     *
+     * @param vector An object that represents dim
+     * vector components of this finite element.
+     * @return A component mask that is false in all components
+     * except for the ones that corresponds to the argument.
+     */
+    ComponentMask
+    component_mask (const FEValuesExtractors::Vector &vector) const;
+
+    /**
+     * Return a component mask with as many elements as this
+     * object has vector components and of which exactly the
+     * <code>dim*(dim+1)/2</code> components are true that
+     * correspond to the given argument. See @ref GlossComponentMask "the glossary"
+     * for more information.
+     *
+     * @param sym_tensor An object that represents dim*(dim+1)/2
+     * components of this finite element that are jointly to be
+     * interpreted as forming a symmetric tensor.
+     * @return A component mask that is false in all components
+     * except for the ones that corresponds to the argument.
+     */
+    ComponentMask
+    component_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const;
+
+    /**
+     * Given a block mask (see @ref GlossBlockMask "this glossary entry"),
+     * produce a component mask (see @ref GlossComponentMask "this glossary entry")
+     * that represents the components that correspond to the blocks selected in
+     * the input argument. This is essentially a conversion operator from
+     * BlockMask to ComponentMask.
+     *
+     * @param block_mask The mask that selects individual blocks of the finite
+     * element
+     * @return A mask that selects those components corresponding to the selected
+     * blocks of the input argument.
+     */
+    ComponentMask
+    component_mask (const BlockMask &block_mask) const;
+
+    /**
+     * Return a block mask with as many elements as this
+     * object has blocks and of which exactly the
+     * one component is true that corresponds to the given
+     * argument. See @ref GlossBlockMask "the glossary"
+     * for more information.
+     *
+     * @note This function will only succeed if the scalar referenced
+     * by the argument encompasses a complete block. In other words,
+     * if, for example, you pass an extractor for the single
+     * $x$ velocity and this object represents an FE_RaviartThomas
+     * object, then the single scalar object you selected is part
+     * of a larger block and consequently there is no block mask that
+     * would represent it. The function will then produce an exception.
+     *
+     * @param scalar An object that represents a single scalar
+     * vector component of this finite element.
+     * @return A component mask that is false in all components
+     * except for the one that corresponds to the argument.
+     */
+    BlockMask
+    block_mask (const FEValuesExtractors::Scalar &scalar) const;
+
+    /**
+     * Return a component mask with as many elements as this
+     * object has vector components and of which exactly the
+     * <code>dim</code> components are true that correspond to the given
+     * argument. See @ref GlossBlockMask "the glossary"
+     * for more information.
+     *
+     * @note The same caveat applies as to the version of the function above:
+     * The extractor object passed as argument must be so that it corresponds
+     * to full blocks and does not split blocks of this element.
+     *
+     * @param vector An object that represents dim
+     * vector components of this finite element.
+     * @return A component mask that is false in all components
+     * except for the ones that corresponds to the argument.
+     */
+    BlockMask
+    block_mask (const FEValuesExtractors::Vector &vector) const;
+
+    /**
+     * Return a component mask with as many elements as this
+     * object has vector components and of which exactly the
+     * <code>dim*(dim+1)/2</code> components are true that
+     * correspond to the given argument. See @ref GlossBlockMask "the glossary"
+     * for more information.
+     *
+     * @note The same caveat applies as to the version of the function above:
+     * The extractor object passed as argument must be so that it corresponds
+     * to full blocks and does not split blocks of this element.
+     *
+     * @param sym_tensor An object that represents dim*(dim+1)/2
+     * components of this finite element that are jointly to be
+     * interpreted as forming a symmetric tensor.
+     * @return A component mask that is false in all components
+     * except for the ones that corresponds to the argument.
+     */
+    BlockMask
+    block_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const;
+
+    /**
+     * Given a component mask (see @ref GlossComponentMask "this glossary entry"),
+     * produce a block mask (see @ref GlossBlockMask "this glossary entry")
+     * that represents the blocks that correspond to the components selected in
+     * the input argument. This is essentially a conversion operator from
+     * ComponentMask to BlockMask.
+     *
+     * @note This function will only succeed if the components referenced
+     * by the argument encompasses complete blocks. In other words,
+     * if, for example, you pass an component mask for the single
+     * $x$ velocity and this object represents an FE_RaviartThomas
+     * object, then the single component you selected is part
+     * of a larger block and consequently there is no block mask that
+     * would represent it. The function will then produce an exception.
+     *
+     * @param component_mask The mask that selects individual components of the finite
+     * element
+     * @return A mask that selects those blocks corresponding to the selected
+     * blocks of the input argument.
+     */
+    BlockMask
+    block_mask (const ComponentMask &component_mask) const;
+
                                      //@}
 
                                      /**
@@ -2213,7 +2369,7 @@ class FiniteElement : public Subscriptor,
                                       */
     static
     std::vector<unsigned int>
-    compute_n_nonzero_components (const std::vector<std::vector<bool> > &nonzero_components);
+    compute_n_nonzero_components (const std::vector<ComponentMask> &nonzero_components);
 
                                      /**
                                       * Determine the values a finite
@@ -2479,7 +2635,7 @@ class FiniteElement : public Subscriptor,
                                       * is only one non-zero
                                       * component.
                                       */
-    const std::vector<std::vector<bool> > nonzero_components;
+    const std::vector<ComponentMask> nonzero_components;
 
                                      /**
                                       * This array holds how many
@@ -2817,7 +2973,7 @@ FiniteElement<dim,spacedim>::restriction_is_additive (const unsigned int index)
 
 template <int dim, int spacedim>
 inline
-const std::vector<bool> &
+const ComponentMask &
 FiniteElement<dim,spacedim>::get_nonzero_components (const unsigned int i) const
 {
   Assert (i < this->dofs_per_cell, ExcIndexRange (i, 0, this->dofs_per_cell));
index ecefcc0cca928394bbe5f9b30c24b4cf4efbd814..ad46bde22f91ae618809838ac34c917da75c2c41 100644 (file)
@@ -28,8 +28,8 @@ FE_DGVector<POLY,dim,spacedim>::FE_DGVector (
                   FiniteElementData<dim>(
                     get_dpo_vector(deg), dim, deg+1, FiniteElementData<dim>::L2, 1),
                   std::vector<bool>(POLY::compute_n_pols(deg), true),
-                  std::vector<std::vector<bool> >(POLY::compute_n_pols(deg),
-                                                  std::vector<bool>(dim,true)))
+                  std::vector<ComponentMask>(POLY::compute_n_pols(deg),
+                                             ComponentMask(dim,true)))
 {
   this->mapping_type = map;
   const unsigned int polynomial_degree = this->tensor_degree();
index 437dee900c46513ce4ae7529aadb8a48246ca1b9..221f7b8463f9275a9999e4fcadeedbc6b31a1364 100644 (file)
@@ -71,7 +71,7 @@ class FE_Poly : public FiniteElement<dim,spacedim>
     FE_Poly (const POLY& poly_space,
              const FiniteElementData<dim> &fe_data,
              const std::vector<bool> &restriction_is_additive_flags,
-             const std::vector<std::vector<bool> > &nonzero_components);
+             const std::vector<ComponentMask> &nonzero_components);
 
                                      /**
                                       * Return the polynomial degree
index cc79e573ab8467729f73e5e587fd7bb796189e9e..70195024c3f87e06f875293d241b99a418a3520a 100644 (file)
@@ -23,7 +23,7 @@ template <class POLY, int dim, int spacedim>
 FE_Poly<POLY,dim,spacedim>::FE_Poly (const POLY& poly_space,
                             const FiniteElementData<dim> &fe_data,
                             const std::vector<bool> &restriction_is_additive_flags,
-                            const std::vector<std::vector<bool> > &nonzero_components):
+                            const std::vector<ComponentMask> &nonzero_components):
                 FiniteElement<dim,spacedim> (fe_data,
                                     restriction_is_additive_flags,
                                     nonzero_components),
index 65f65a5095a0b14ef91a296f4a7f6125bdf39da4..232fce4ca386f344b8cf46f7a2d629c2ee02b9e2 100644 (file)
@@ -25,7 +25,7 @@ FE_PolyFace<POLY,dim,spacedim>::FE_PolyFace (
   const std::vector<bool> &restriction_is_additive_flags):
                 FiniteElement<dim,spacedim> (fe_data,
                                              restriction_is_additive_flags,
-                                             std::vector<std::vector<bool> > (1, std::vector<bool>(1,true))),
+                                             std::vector<ComponentMask> (1, ComponentMask(1,true))),
                 poly_space(poly_space)
 {
   AssertDimension(dim, POLY::dimension+1);
index 14562bf88f70b7aa6eee79862843e9fe2616697c..902b295e77af7d1d79cb0534a5c0af98d4f71429 100644 (file)
@@ -126,7 +126,7 @@ class FE_PolyTensor : public FiniteElement<dim,spacedim>
     FE_PolyTensor (const unsigned int degree,
                    const FiniteElementData<dim> &fe_data,
                    const std::vector<bool> &restriction_is_additive_flags,
-                   const std::vector<std::vector<bool> > &nonzero_components);
+                   const std::vector<ComponentMask> &nonzero_components);
 
                                      /**
                                       * Since these elements are
index 2b5a38970b9a860570f0e699b54b87336b93fcbe..dac5b6033e1dd3ddade7c4458451f519f8fc694a 100644 (file)
@@ -1003,7 +1003,7 @@ class FESystem : public FiniteElement<dim,spacedim>
                                       * components of a composed
                                       * finite element.
                                       */
-    static std::vector<std::vector<bool> >
+    static std::vector<ComponentMask>
     compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                 const unsigned int        N1);
 
@@ -1012,7 +1012,7 @@ class FESystem : public FiniteElement<dim,spacedim>
                                       * components of a composed
                                       * finite element.
                                       */
-    static std::vector<std::vector<bool> >
+    static std::vector<ComponentMask>
     compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                 const unsigned int        N1,
                                 const FiniteElement<dim,spacedim> &fe2,
@@ -1023,7 +1023,7 @@ class FESystem : public FiniteElement<dim,spacedim>
                                       * components of a composed
                                       * finite element.
                                       */
-    static std::vector<std::vector<bool> >
+    static std::vector<ComponentMask>
     compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                 const unsigned int        N1,
                                 const FiniteElement<dim,spacedim> &fe2,
@@ -1036,7 +1036,7 @@ class FESystem : public FiniteElement<dim,spacedim>
                                     * components of a composed
                                     * finite element.
                                     */
-   static std::vector<std::vector<bool> >
+   static std::vector<ComponentMask>
     compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                 const unsigned int        N1,
                                 const FiniteElement<dim,spacedim> &fe2,
@@ -1049,7 +1049,7 @@ class FESystem : public FiniteElement<dim,spacedim>
                                      /**
                                       * With 5 elements.
                                       */
-   static std::vector<std::vector<bool> >
+   static std::vector<ComponentMask>
     compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                 const unsigned int        N1,
                                 const FiniteElement<dim,spacedim> &fe2,
@@ -1069,7 +1069,7 @@ class FESystem : public FiniteElement<dim,spacedim>
                                       * function is called from all
                                       * the above functions.
                                      */
-    static std::vector<std::vector<bool> >
+    static std::vector<ComponentMask>
     compute_nonzero_components (const std::vector<const FiniteElement<dim,spacedim>*> &fes,
                                 const std::vector<unsigned int>              &multiplicities);
 
index fcdf99f5e993986e0f6816b0e883b2462cb579ec..1f43711b02eebafde82c0b880ab26ba534e28bbd 100644 (file)
@@ -29,6 +29,7 @@
 #include <deal.II/hp/dof_handler.h>
 #include <deal.II/fe/fe.h>
 #include <deal.II/fe/fe_update_flags.h>
+#include <deal.II/fe/fe_values_extractors.h>
 #include <deal.II/fe/mapping.h>
 #include <deal.II/multigrid/mg_dof_handler.h>
 #include <deal.II/multigrid/mg_dof_accessor.h>
@@ -104,158 +105,6 @@ namespace internal
 }
 
 
-/**
- * A namespace in which we declare "extractors", i.e. classes that when used
- * as subscripts in operator[] expressions on FEValues, FEFaceValues, and
- * FESubfaceValues objects extract certain components of a vector-valued
- * element. The result of applying an extractor to these objects is an object
- * with corresponding type from the namespace FEValuesViews. There are
- * extractors for single scalar components, vector components consisting of
- * <code>dim</code> elements, and second order symmetric tensors consisting of
- * <code>(dim*dim + dim)/2</code> components
- *
- * See the description of the @ref vector_valued module for examples how to
- * use the features of this namespace.
- *
- * @ingroup feaccess vector_valued
- */
-namespace FEValuesExtractors
-{
-                                   /**
-                                    * Extractor for a single scalar component
-                                    * of a vector-valued element. The result
-                                    * of applying an object of this type to an
-                                    * FEValues, FEFaceValues or
-                                    * FESubfaceValues object is of type
-                                    * FEValuesViews::Scalar. The concept of
-                                    * extractors is defined in the
-                                    * documentation of the namespace
-                                    * FEValuesExtractors and in the @ref
-                                    * vector_valued module.
-                                    *
-                                    * @ingroup feaccess vector_valued
-                                    */
-  struct Scalar
-  {
-                                       /**
-                                        * The selected scalar component of the
-                                        * vector.
-                                        */
-      unsigned int component;
-
-                                       /**
-                                        * Constructor. Take the selected
-                                        * vector component as argument.
-                                        */
-      Scalar (const unsigned int component);
-  };
-
-
-                                   /**
-                                    * Extractor for a vector of
-                                    * <code>spacedim</code> components of a
-                                    * vector-valued element. The value of
-                                    * <code>spacedim</code> is defined by the
-                                    * FEValues object the extractor is applied
-                                    * to. The result of applying an object of
-                                    * this type to an FEValues, FEFaceValues
-                                    * or FESubfaceValues object is of type
-                                    * FEValuesViews::Vector.
-                                    *
-                                    * The concept of
-                                    * extractors is defined in the
-                                    * documentation of the namespace
-                                    * FEValuesExtractors and in the @ref
-                                    * vector_valued module.
-                                    *
-                                    * Note that in the current context, a
-                                    * vector is meant in the sense physics
-                                    * uses it: it has <code>spacedim</code>
-                                    * components that behave in specific ways
-                                    * under coordinate system
-                                    * transformations. Examples include
-                                    * velocity or displacement fields. This is
-                                    * opposed to how mathematics uses the word
-                                    * "vector" (and how we use this word in
-                                    * other contexts in the library, for
-                                    * example in the Vector class), where it
-                                    * really stands for a collection of
-                                    * numbers. An example of this latter use
-                                    * of the word could be the set of
-                                    * concentrations of chemical species in a
-                                    * flame; however, these are really just a
-                                    * collection of scalar variables, since
-                                    * they do not change if the coordinate
-                                    * system is rotated, unlike the components
-                                    * of a velocity vector, and consequently,
-                                    * this class should not be used for this
-                                    * context.
-                                    *
-                                    * @ingroup feaccess vector_valued
-                                    */
-  struct Vector
-  {
-                                       /**
-                                        * The first component of the vector
-                                        * view.
-                                        */
-      unsigned int first_vector_component;
-
-                                       /**
-                                        * Constructor. Take the first
-                                        * component of the selected vector
-                                        * inside the FEValues object as
-                                        * argument.
-                                        */
-      Vector (const unsigned int first_vector_component);
-  };
-
-
-                                   /**
-                                    * Extractor for a symmetric tensor of a
-                                    * rank specified by the template
-                                    * argument. For a second order symmetric
-                                    * tensor, this represents a collection of
-                                    * <code>(dim*dim + dim)/2</code>
-                                    * components of a vector-valued
-                                    * element. The value of <code>dim</code>
-                                    * is defined by the FEValues object the
-                                    * extractor is applied to. The result of
-                                    * applying an object of this type to an
-                                    * FEValues, FEFaceValues or
-                                    * FESubfaceValues object is of type
-                                    * FEValuesViews::SymmetricTensor.
-                                    *
-                                    * The concept of
-                                    * extractors is defined in the
-                                    * documentation of the namespace
-                                    * FEValuesExtractors and in the @ref
-                                    * vector_valued module.
-                                    *
-                                    * @ingroup feaccess vector_valued
-                                    *
-                                    * @author Andrew McBride, 2009
-                                    */
-  template <int rank>
-  struct SymmetricTensor
-  {
-                                       /**
-                                        * The first component of the tensor
-                                        * view.
-                                        */
-      unsigned int first_tensor_component;
-
-                                       /**
-                                        * Constructor. Take the first
-                                        * component of the selected tensor
-                                        * inside the FEValues object as
-                                        * argument.
-                                        */
-      SymmetricTensor (const unsigned int first_tensor_component);
-  };
-}
-
-
 
 
 /**
@@ -1575,33 +1424,63 @@ class FEValuesData
     std::vector<Tensor<1,spacedim> >  boundary_forms;
 
                                      /**
-                                      * Indicate the first row which a
-                                      * given shape function occupies
-                                      * in the #shape_values,
-                                      * #shape_gradients and
-                                      * #shape_hessians
-                                      * arrays. If all shape functions
-                                      * are primitive, then this is
-                                      * the identity mapping. If, on
-                                      * the other hand some shape
-                                      * functions have more than one
-                                      * non-zero vector components,
-                                      * then they may occupy more than
-                                      * one row, and this array
-                                      * indicates which is the first
-                                      * one.
-                                      *
-                                      * The questions which particular
-                                      * vector component occupies
-                                      * which row for a given shape
-                                      * function is answered as
-                                      * follows: we allocate one row
-                                      * for each non-zero component as
-                                      * indicated by the
-                                      * FiniteElement::get_nonzero_components()
-                                      * function, and the rows are in
-                                      * ascending order exactly those
-                                      * non-zero components.
+                                     * When asked for the value (or
+                                     * gradient, or Hessian) of shape
+                                     * function i's c-th vector
+                                     * component, we need to look it
+                                     * up in the #shape_values,
+                                     * #shape_gradients and
+                                     * #shape_hessians arrays.  The
+                                     * question is where in this
+                                     * array does the data for shape
+                                     * function i, component c
+                                     * reside. This is what this
+                                     * table answers.
+                                     *
+                                     * The format of the table is as
+                                     * follows:
+                                     * - It has dofs_per_cell times
+                                     *   n_components entries.
+                                     * - The entry that corresponds to
+                                     *   shape function i, component c
+                                     *   is <code>i * n_components + c</code>.
+                                     * - The value stored at this
+                                     *   position indicates the row
+                                     *   in #shape_values and the
+                                     *   other tables where the
+                                     *   corresponding datum is stored
+                                     *   for all the quadrature points.
+                                     *
+                                     * In the general, vector-valued
+                                     * context, the number of
+                                     * components is larger than one,
+                                     * but for a given shape
+                                     * function, not all vector
+                                     * components may be nonzero
+                                     * (e.g., if a shape function is
+                                     * primitive, then exactly one
+                                     * vector component is non-zero,
+                                     * while the others are all
+                                     * zero). For such zero
+                                     * components, #shape_values and
+                                     * friends do not have a
+                                     * row. Consequently, for vector
+                                     * components for which shape
+                                     * function i is zero, the entry
+                                     * in the current table is
+                                     * numbers::invalid_unsigned_int.
+                                     *
+                                     * On the other hand, the table
+                                     * is guaranteed to have at least
+                                     * one valid index for each shape
+                                     * function. In particular, for a
+                                     * primitive finite element, each
+                                     * shape function has exactly one
+                                     * nonzero component and so for
+                                     * each i, there is exactly one
+                                     * valid index within the range
+                                     * <code>[i*n_components,
+                                     * (i+1)*n_components)</code>.
                                       */
     std::vector<unsigned int> shape_function_to_row_table;
 
@@ -4612,6 +4491,8 @@ operator[] (const FEValuesExtractors::SymmetricTensor<2> &tensor) const
   return fe_values_views_cache.symmetric_second_order_tensors[tensor.first_tensor_component];
 }
 
+
+
 template <int dim, int spacedim>
 inline
 const double &
@@ -4630,16 +4511,19 @@ FEValuesBase<dim,spacedim>::shape_value (const unsigned int i,
   if (fe->is_primitive())
     return this->shape_values(i,j);
   else
-                                     // otherwise, use the mapping
-                                     // between shape function numbers
-                                     // and rows. note that by the
-                                     // assertions above, we know that
-                                     // this particular shape function
-                                     // is primitive, so there is no
-                                     // question to which vector
-                                     // component the call of this
-                                     // function refers
-    return this->shape_values(this->shape_function_to_row_table[i], j);
+    {
+                                      // otherwise, use the mapping
+                                      // between shape function
+                                      // numbers and rows. note that
+                                      // by the assertions above, we
+                                      // know that this particular
+                                      // shape function is primitive,
+                                      // so we can call
+                                      // system_to_component_index
+      const unsigned int
+       row = this->shape_function_to_row_table[i * fe->n_components() + fe->system_to_component_index(i).first];
+      return this->shape_values(row, j);
+    }
 }
 
 
@@ -4658,52 +4542,18 @@ FEValuesBase<dim,spacedim>::shape_value_component (const unsigned int i,
   Assert (component < fe->n_components(),
           ExcIndexRange(component, 0, fe->n_components()));
 
-                                   // if this particular shape
-                                   // function is primitive, then we
-                                   // can take a short-cut by checking
-                                   // whether the requested component
-                                   // is the only non-zero one (note
-                                   // that calling
-                                   // system_to_component_table only
-                                   // works if the shape function is
-                                   // primitive):
-  if (fe->is_primitive(i))
-    {
-      if (component == fe->system_to_component_index(i).first)
-        return this->shape_values(this->shape_function_to_row_table[i],j);
-      else
-        return 0;
-    }
-  else
-    {
-                                       // no, this shape function is
-                                       // not primitive. then we have
-                                       // to loop over its components
-                                       // to find the corresponding
-                                       // row in the arrays of this
-                                       // object. before that check
-                                       // whether the shape function
-                                       // is non-zero at all within
-                                       // this component:
-      if (fe->get_nonzero_components(i)[component] == false)
-        return 0;
-
-                                       // count how many non-zero
-                                       // component the shape function
-                                       // has before the one we are
-                                       // looking for, and add this to
-                                       // the offset of the first
-                                       // non-zero component of this
-                                       // shape function in the arrays
-                                       // we index presently:
-      const unsigned int
-        row = (this->shape_function_to_row_table[i]
-               +
-               std::count (fe->get_nonzero_components(i).begin(),
-                           fe->get_nonzero_components(i).begin()+component,
-                           true));
-      return this->shape_values(row, j);
-    }
+                                  // check whether the shape function
+                                  // is non-zero at all within
+                                  // this component:
+  if (fe->get_nonzero_components(i)[component] == false)
+    return 0;
+
+                                  // look up the right row in the
+                                  // table and take the data from
+                                  // there
+  const unsigned int
+    row = this->shape_function_to_row_table[i * fe->n_components() + component];
+  return this->shape_values(row, j);
 }
 
 
@@ -4730,16 +4580,19 @@ FEValuesBase<dim,spacedim>::shape_grad (const unsigned int i,
   if (fe->is_primitive())
     return this->shape_gradients[i][j];
   else
-                                     // otherwise, use the mapping
-                                     // between shape function numbers
-                                     // and rows. note that by the
-                                     // assertions above, we know that
-                                     // this particular shape function
-                                     // is primitive, so there is no
-                                     // question to which vector
-                                     // component the call of this
-                                     // function refers
-    return this->shape_gradients[this->shape_function_to_row_table[i]][j];
+    {
+                                      // otherwise, use the mapping
+                                      // between shape function
+                                      // numbers and rows. note that
+                                      // by the assertions above, we
+                                      // know that this particular
+                                      // shape function is primitive,
+                                      // so we can call
+                                      // system_to_component_index
+      const unsigned int
+       row = this->shape_function_to_row_table[i * fe->n_components() + fe->system_to_component_index(i).first];
+      return this->shape_gradients[row][j];
+    }
 }
 
 
@@ -4758,52 +4611,18 @@ FEValuesBase<dim,spacedim>::shape_grad_component (const unsigned int i,
   Assert (component < fe->n_components(),
           ExcIndexRange(component, 0, fe->n_components()));
 
-                                   // if this particular shape
-                                   // function is primitive, then we
-                                   // can take a short-cut by checking
-                                   // whether the requested component
-                                   // is the only non-zero one (note
-                                   // that calling
-                                   // system_to_component_table only
-                                   // works if the shape function is
-                                   // primitive):
-  if (fe->is_primitive(i))
-    {
-      if (component == fe->system_to_component_index(i).first)
-        return this->shape_gradients[this->shape_function_to_row_table[i]][j];
-      else
-        return Tensor<1,spacedim>();
-    }
-  else
-    {
-                                       // no, this shape function is
-                                       // not primitive. then we have
-                                       // to loop over its components
-                                       // to find the corresponding
-                                       // row in the arrays of this
-                                       // object. before that check
-                                       // whether the shape function
-                                       // is non-zero at all within
-                                       // this component:
-      if (fe->get_nonzero_components(i)[component] == false)
-        return Tensor<1,spacedim>();
-
-                                       // count how many non-zero
-                                       // component the shape function
-                                       // has before the one we are
-                                       // looking for, and add this to
-                                       // the offset of the first
-                                       // non-zero component of this
-                                       // shape function in the arrays
-                                       // we index presently:
-      const unsigned int
-        row = (this->shape_function_to_row_table[i]
-               +
-               std::count (fe->get_nonzero_components(i).begin(),
-                           fe->get_nonzero_components(i).begin()+component,
-                           true));
-      return this->shape_gradients[row][j];
-    }
+                                  // check whether the shape function
+                                  // is non-zero at all within
+                                  // this component:
+  if (fe->get_nonzero_components(i)[component] == false)
+    return Tensor<1,spacedim>();
+
+                                  // look up the right row in the
+                                  // table and take the data from
+                                  // there
+  const unsigned int
+    row = this->shape_function_to_row_table[i * fe->n_components() + component];
+  return this->shape_gradients[row][j];
 }
 
 
@@ -4830,16 +4649,19 @@ FEValuesBase<dim,spacedim>::shape_hessian (const unsigned int i,
   if (fe->is_primitive())
     return this->shape_hessians[i][j];
   else
-                                     // otherwise, use the mapping
-                                     // between shape function numbers
-                                     // and rows. note that by the
-                                     // assertions above, we know that
-                                     // this particular shape function
-                                     // is primitive, so there is no
-                                     // question to which vector
-                                     // component the call of this
-                                     // function refers
-    return this->shape_hessians[this->shape_function_to_row_table[i]][j];
+    {
+                                      // otherwise, use the mapping
+                                      // between shape function
+                                      // numbers and rows. note that
+                                      // by the assertions above, we
+                                      // know that this particular
+                                      // shape function is primitive,
+                                      // so we can call
+                                      // system_to_component_index
+      const unsigned int
+       row = this->shape_function_to_row_table[i * fe->n_components() + fe->system_to_component_index(i).first];
+      return this->shape_hessians[row][j];
+    }
 }
 
 
@@ -4869,52 +4691,18 @@ FEValuesBase<dim,spacedim>::shape_hessian_component (const unsigned int i,
   Assert (component < fe->n_components(),
           ExcIndexRange(component, 0, fe->n_components()));
 
-                                   // if this particular shape
-                                   // function is primitive, then we
-                                   // can take a short-cut by checking
-                                   // whether the requested component
-                                   // is the only non-zero one (note
-                                   // that calling
-                                   // system_to_component_table only
-                                   // works if the shape function is
-                                   // primitive):
-  if (fe->is_primitive(i))
-    {
-      if (component == fe->system_to_component_index(i).first)
-        return this->shape_hessians[this->shape_function_to_row_table[i]][j];
-      else
-        return Tensor<2,spacedim>();
-    }
-  else
-    {
-                                       // no, this shape function is
-                                       // not primitive. then we have
-                                       // to loop over its components
-                                       // to find the corresponding
-                                       // row in the arrays of this
-                                       // object. before that check
-                                       // whether the shape function
-                                       // is non-zero at all within
-                                       // this component:
-      if (fe->get_nonzero_components(i)[component] == false)
-        return Tensor<2,spacedim>();
-
-                                       // count how many non-zero
-                                       // component the shape function
-                                       // has before the one we are
-                                       // looking for, and add this to
-                                       // the offset of the first
-                                       // non-zero component of this
-                                       // shape function in the arrays
-                                       // we index presently:
-      const unsigned int
-        row = (this->shape_function_to_row_table[i]
-               +
-               std::count (fe->get_nonzero_components(i).begin(),
-                           fe->get_nonzero_components(i).begin()+component,
-                           true));
-      return this->shape_hessians[row][j];
-    }
+                                  // check whether the shape function
+                                  // is non-zero at all within
+                                  // this component:
+  if (fe->get_nonzero_components(i)[component] == false)
+    return Tensor<2,spacedim>();
+
+                                  // look up the right row in the
+                                  // table and take the data from
+                                  // there
+  const unsigned int
+    row = this->shape_function_to_row_table[i * fe->n_components() + component];
+  return this->shape_hessians[row][j];
 }
 
 
diff --git a/deal.II/include/deal.II/fe/fe_values_extractors.h b/deal.II/include/deal.II/fe/fe_values_extractors.h
new file mode 100644 (file)
index 0000000..51b3baf
--- /dev/null
@@ -0,0 +1,175 @@
+//---------------------------------------------------------------------------
+//    $Id$
+//
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+#ifndef __deal2__fe_values_extractors_h
+#define __deal2__fe_values_extractors_h
+
+
+#include <deal.II/base/config.h>
+
+DEAL_II_NAMESPACE_OPEN
+
+
+/**
+ * A namespace in which we declare "extractors", i.e. classes that when used
+ * as subscripts in operator[] expressions on FEValues, FEFaceValues, and
+ * FESubfaceValues objects extract certain components of a vector-valued
+ * element. The result of applying an extractor to these objects is an object
+ * with corresponding type from the namespace FEValuesViews. There are
+ * extractors for single scalar components, vector components consisting of
+ * <code>dim</code> elements, and second order symmetric tensors consisting of
+ * <code>(dim*dim + dim)/2</code> components
+ *
+ * See the description of the @ref vector_valued module for examples how to
+ * use the features of this namespace.
+ *
+ * @ingroup feaccess vector_valued
+ */
+namespace FEValuesExtractors
+{
+                                   /**
+                                    * Extractor for a single scalar component
+                                    * of a vector-valued element. The result
+                                    * of applying an object of this type to an
+                                    * FEValues, FEFaceValues or
+                                    * FESubfaceValues object is of type
+                                    * FEValuesViews::Scalar. The concept of
+                                    * extractors is defined in the
+                                    * documentation of the namespace
+                                    * FEValuesExtractors and in the @ref
+                                    * vector_valued module.
+                                    *
+                                    * @ingroup feaccess vector_valued
+                                    */
+  struct Scalar
+  {
+                                       /**
+                                        * The selected scalar component of the
+                                        * vector.
+                                        */
+      unsigned int component;
+
+                                       /**
+                                        * Constructor. Take the selected
+                                        * vector component as argument.
+                                        */
+      Scalar (const unsigned int component);
+  };
+
+
+                                   /**
+                                    * Extractor for a vector of
+                                    * <code>spacedim</code> components of a
+                                    * vector-valued element. The value of
+                                    * <code>spacedim</code> is defined by the
+                                    * FEValues object the extractor is applied
+                                    * to. The result of applying an object of
+                                    * this type to an FEValues, FEFaceValues
+                                    * or FESubfaceValues object is of type
+                                    * FEValuesViews::Vector.
+                                    *
+                                    * The concept of
+                                    * extractors is defined in the
+                                    * documentation of the namespace
+                                    * FEValuesExtractors and in the @ref
+                                    * vector_valued module.
+                                    *
+                                    * Note that in the current context, a
+                                    * vector is meant in the sense physics
+                                    * uses it: it has <code>spacedim</code>
+                                    * components that behave in specific ways
+                                    * under coordinate system
+                                    * transformations. Examples include
+                                    * velocity or displacement fields. This is
+                                    * opposed to how mathematics uses the word
+                                    * "vector" (and how we use this word in
+                                    * other contexts in the library, for
+                                    * example in the Vector class), where it
+                                    * really stands for a collection of
+                                    * numbers. An example of this latter use
+                                    * of the word could be the set of
+                                    * concentrations of chemical species in a
+                                    * flame; however, these are really just a
+                                    * collection of scalar variables, since
+                                    * they do not change if the coordinate
+                                    * system is rotated, unlike the components
+                                    * of a velocity vector, and consequently,
+                                    * this class should not be used for this
+                                    * context.
+                                    *
+                                    * @ingroup feaccess vector_valued
+                                    */
+  struct Vector
+  {
+                                       /**
+                                        * The first component of the vector
+                                        * view.
+                                        */
+      unsigned int first_vector_component;
+
+                                       /**
+                                        * Constructor. Take the first
+                                        * component of the selected vector
+                                        * inside the FEValues object as
+                                        * argument.
+                                        */
+      Vector (const unsigned int first_vector_component);
+  };
+
+
+                                   /**
+                                    * Extractor for a symmetric tensor of a
+                                    * rank specified by the template
+                                    * argument. For a second order symmetric
+                                    * tensor, this represents a collection of
+                                    * <code>(dim*dim + dim)/2</code>
+                                    * components of a vector-valued
+                                    * element. The value of <code>dim</code>
+                                    * is defined by the FEValues object the
+                                    * extractor is applied to. The result of
+                                    * applying an object of this type to an
+                                    * FEValues, FEFaceValues or
+                                    * FESubfaceValues object is of type
+                                    * FEValuesViews::SymmetricTensor.
+                                    *
+                                    * The concept of
+                                    * extractors is defined in the
+                                    * documentation of the namespace
+                                    * FEValuesExtractors and in the @ref
+                                    * vector_valued module.
+                                    *
+                                    * @ingroup feaccess vector_valued
+                                    *
+                                    * @author Andrew McBride, 2009
+                                    */
+  template <int rank>
+  struct SymmetricTensor
+  {
+                                       /**
+                                        * The first component of the tensor
+                                        * view.
+                                        */
+      unsigned int first_tensor_component;
+
+                                       /**
+                                        * Constructor. Take the first
+                                        * component of the selected tensor
+                                        * inside the FEValues object as
+                                        * argument.
+                                        */
+      SymmetricTensor (const unsigned int first_tensor_component);
+  };
+}
+
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif
index a4933492181ef8dd64ad29ff480924744559724f..ecec9505a46f269cf0f345049272d5cf8f01e0bf 100644 (file)
@@ -1285,7 +1285,10 @@ namespace hp
                                         * not. It is used by the
                                         * refinement listeners as a
                                         * persistent buffer during the
-                                        * refinement.
+                                        * refinement, i.e. from between
+                                        * when pre_refinement_action is
+                                        * called and when post_refinement_action
+                                        * runs.
                                         */
       std::vector<std::vector<bool> *> has_children;
 
index ff0f550f773120c16631d262138f5b9e8d06d3f5..a158a1616e0cf2a404fc37500018be48a339b7d4 100644 (file)
@@ -15,6 +15,8 @@
 #include <deal.II/base/config.h>
 #include <deal.II/base/std_cxx1x/shared_ptr.h>
 #include <deal.II/fe/fe.h>
+#include <deal.II/fe/fe_values_extractors.h>
+#include <deal.II/fe/component_mask.h>
 
 DEAL_II_NAMESPACE_OPEN
 
@@ -229,6 +231,197 @@ namespace hp
                                         */
       bool hp_constraints_are_implemented () const;
 
+      /**
+       * Return a component mask with as many elements as this
+       * object has vector components and of which exactly the
+       * one component is true that corresponds to the given
+       * argument.
+       *
+       * @note This function is the equivalent of
+       * FiniteElement::component_mask() with the same arguments.
+       * It verifies that it gets the same result from every one
+       * of the elements that are stored in this FECollection. If
+       * this is not the case, it throws an exception.
+       *
+       * @param scalar An object that represents a single scalar
+       * vector component of this finite element.
+       * @return A component mask that is false in all components
+       * except for the one that corresponds to the argument.
+       */
+      ComponentMask
+      component_mask (const FEValuesExtractors::Scalar &scalar) const;
+
+      /**
+       * Return a component mask with as many elements as this
+       * object has vector components and of which exactly the
+       * <code>dim</code> components are true that correspond to the given
+       * argument.
+       *
+       * @note This function is the equivalent of
+       * FiniteElement::component_mask() with the same arguments.
+       * It verifies that it gets the same result from every one
+       * of the elements that are stored in this FECollection. If
+       * this is not the case, it throws an exception.
+       *
+       * @param vector An object that represents dim
+       * vector components of this finite element.
+       * @return A component mask that is false in all components
+       * except for the ones that corresponds to the argument.
+       */
+      ComponentMask
+      component_mask (const FEValuesExtractors::Vector &vector) const;
+
+      /**
+       * Return a component mask with as many elements as this
+       * object has vector components and of which exactly the
+       * <code>dim*(dim+1)/2</code> components are true that
+       * correspond to the given argument.
+       *
+       * @note This function is the equivalent of
+       * FiniteElement::component_mask() with the same arguments.
+       * It verifies that it gets the same result from every one
+       * of the elements that are stored in this FECollection. If
+       * this is not the case, it throws an exception.
+       *
+       * @param sym_tensor An object that represents dim*(dim+1)/2
+       * components of this finite element that are jointly to be
+       * interpreted as forming a symmetric tensor.
+       * @return A component mask that is false in all components
+       * except for the ones that corresponds to the argument.
+       */
+      ComponentMask
+      component_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const;
+
+                                      /**
+                                       * Given a block mask (see @ref GlossBlockMask "this glossary entry"),
+                                       * produce a component mask (see @ref GlossComponentMask "this glossary entry")
+                                       * that represents the components that correspond to the blocks selected in
+                                       * the input argument. This is essentially a conversion operator from
+                                       * BlockMask to ComponentMask.
+                                       *
+                                       * @note This function is the equivalent of
+                                       * FiniteElement::component_mask() with the same arguments.
+                                       * It verifies that it gets the same result from every one
+                                       * of the elements that are stored in this FECollection. If
+                                       * this is not the case, it throws an exception.
+                                       *
+                                       * @param block_mask The mask that selects individual blocks of the finite
+                                       * element
+                                       * @return A mask that selects those components corresponding to the selected
+                                       * blocks of the input argument.
+                                       */
+      ComponentMask
+      component_mask (const BlockMask &block_mask) const;
+
+                                      /**
+                                       * Return a block mask with as many elements as this
+                                       * object has blocks and of which exactly the
+                                       * one component is true that corresponds to the given
+                                       * argument. See @ref GlossBlockMask "the glossary"
+                                       * for more information.
+                                       *
+                                       * @note This function will only succeed if the scalar referenced
+                                       * by the argument encompasses a complete block. In other words,
+                                       * if, for example, you pass an extractor for the single
+                                       * $x$ velocity and this object represents an FE_RaviartThomas
+                                       * object, then the single scalar object you selected is part
+                                       * of a larger block and consequently there is no block mask that
+                                       * would represent it. The function will then produce an exception.
+                                       *
+                                       * @note This function is the equivalent of
+                                       * FiniteElement::component_mask() with the same arguments.
+                                       * It verifies that it gets the same result from every one
+                                       * of the elements that are stored in this FECollection. If
+                                       * this is not the case, it throws an exception.
+                                       *
+                                       * @param scalar An object that represents a single scalar
+                                       * vector component of this finite element.
+                                       * @return A component mask that is false in all components
+                                       * except for the one that corresponds to the argument.
+                                       */
+      BlockMask
+      block_mask (const FEValuesExtractors::Scalar &scalar) const;
+
+                                      /**
+                                       * Return a component mask with as many elements as this
+                                       * object has vector components and of which exactly the
+                                       * <code>dim</code> components are true that correspond to the given
+                                       * argument. See @ref GlossBlockMask "the glossary"
+                                       * for more information.
+                                       *
+                                       * @note This function is the equivalent of
+                                       * FiniteElement::component_mask() with the same arguments.
+                                       * It verifies that it gets the same result from every one
+                                       * of the elements that are stored in this FECollection. If
+                                       * this is not the case, it throws an exception.
+                                       *
+                                       * @note The same caveat applies as to the version of the function above:
+                                       * The extractor object passed as argument must be so that it corresponds
+                                       * to full blocks and does not split blocks of this element.
+                                       *
+                                       * @param vector An object that represents dim
+                                       * vector components of this finite element.
+                                       * @return A component mask that is false in all components
+                                       * except for the ones that corresponds to the argument.
+                                       */
+      BlockMask
+      block_mask (const FEValuesExtractors::Vector &vector) const;
+
+                                      /**
+                                       * Return a component mask with as many elements as this
+                                       * object has vector components and of which exactly the
+                                       * <code>dim*(dim+1)/2</code> components are true that
+                                       * correspond to the given argument. See @ref GlossBlockMask "the glossary"
+                                       * for more information.
+                                       *
+                                       * @note The same caveat applies as to the version of the function above:
+                                       * The extractor object passed as argument must be so that it corresponds
+                                       * to full blocks and does not split blocks of this element.
+                                       *
+                                       * @note This function is the equivalent of
+                                       * FiniteElement::component_mask() with the same arguments.
+                                       * It verifies that it gets the same result from every one
+                                       * of the elements that are stored in this FECollection. If
+                                       * this is not the case, it throws an exception.
+                                       *
+                                       * @param sym_tensor An object that represents dim*(dim+1)/2
+                                       * components of this finite element that are jointly to be
+                                       * interpreted as forming a symmetric tensor.
+                                       * @return A component mask that is false in all components
+                                       * except for the ones that corresponds to the argument.
+                                       */
+      BlockMask
+      block_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const;
+
+                                      /**
+                                       * Given a component mask (see @ref GlossComponentMask "this glossary entry"),
+                                       * produce a block mask (see @ref GlossBlockMask "this glossary entry")
+                                       * that represents the blocks that correspond to the components selected in
+                                       * the input argument. This is essentially a conversion operator from
+                                       * ComponentMask to BlockMask.
+                                       *
+                                       * @note This function will only succeed if the components referenced
+                                       * by the argument encompasses complete blocks. In other words,
+                                       * if, for example, you pass an component mask for the single
+                                       * $x$ velocity and this object represents an FE_RaviartThomas
+                                       * object, then the single component you selected is part
+                                       * of a larger block and consequently there is no block mask that
+                                       * would represent it. The function will then produce an exception.
+                                       *
+                                       * @note This function is the equivalent of
+                                       * FiniteElement::component_mask() with the same arguments.
+                                       * It verifies that it gets the same result from every one
+                                       * of the elements that are stored in this FECollection. If
+                                       * this is not the case, it throws an exception.
+                                       *
+                                       * @param component_mask The mask that selects individual components of the finite
+                                       * element
+                                       * @return A mask that selects those blocks corresponding to the selected
+                                       * blocks of the input argument.
+                                       */
+      BlockMask
+      block_mask (const ComponentMask &component_mask) const;
+
 
                                        /**
                                         * Exception
index 970ee190aa8a440f6865023736fdda9b2a86d8e4..715527800e9ce065077db11a50e3eda4bfb64b23 100644 (file)
@@ -1737,7 +1737,7 @@ namespace internals
 
 
                                    // similar as before, now with shortcut for
-                                   // deal.II sparse matrices. this lets use
+                                   // deal.II sparse matrices. this lets us
                                    // avoid using extra arrays, and does all the
                                    // operations just in place, i.e., in the
                                    // respective matrix row
index a5f929451c353c40362c0c77077abef822eb6798..e011893a8ecbb9690636d5ce09c0e6988ae0e0fe 100644 (file)
@@ -59,7 +59,7 @@ class MGConstrainedDoFs : public Subscriptor
     template <int dim, int spacedim>
     void initialize(const MGDoFHandler<dim,spacedim>& dof,
                     const typename FunctionMap<dim>::type& function_map,
-                    const std::vector<bool>& component_mask = std::vector<bool>());
+                    const ComponentMask &component_mask = ComponentMask());
 
                                      /**
                                       * Reset the data structures.
@@ -209,7 +209,7 @@ void
 MGConstrainedDoFs::initialize(
   const MGDoFHandler<dim,spacedim>& dof,
   const typename FunctionMap<dim>::type& function_map,
-  const std::vector<bool>& component_mask)
+  const ComponentMask &component_mask)
 {
   const unsigned int nlevels = dof.get_tria().n_levels();
   boundary_indices.resize(nlevels);
index b1695498e03c2be1bb9de910d6045bcb3e415a0b..3dcf1b751eb5e5cb39c27edcfd4ae2b3f1be2a06 100644 (file)
@@ -234,7 +234,7 @@ namespace MGTools
   make_boundary_list (const MGDoFHandler<dim,spacedim>      &mg_dof,
                       const typename FunctionMap<dim>::type &function_map,
                       std::vector<std::set<unsigned int> >  &boundary_indices,
-                      const std::vector<bool>               &component_mask = std::vector<bool>());
+                      const ComponentMask                   &component_mask = ComponentMask());
 
                                    /**
                                     * The same function as above, but return
@@ -246,7 +246,7 @@ namespace MGTools
   make_boundary_list (const MGDoFHandler<dim,spacedim>      &mg_dof,
                       const typename FunctionMap<dim>::type &function_map,
                       std::vector<IndexSet>                 &boundary_indices,
-                      const std::vector<bool>               &component_mask = std::vector<bool>());
+                      const ComponentMask               &component_mask = ComponentMask());
 
                                    /**
                                     * Maybe no longer needed.
@@ -257,7 +257,7 @@ namespace MGTools
   apply_boundary_values (const std::set<unsigned int> &boundary_dofs,
                          SparseMatrix<number>& matrix,
                          const bool preserve_symmetry,
-                              const bool ignore_zeros = false);
+                         const bool ignore_zeros = false);
 
   template <typename number>
   void
index bcb3016897de92669de2fe904fe4ed538b9dc962..d28677074c3541ec19fb1c2d4eff4354f68f5bbd 100644 (file)
@@ -97,6 +97,7 @@ class MGTransferBlockBase
                                     * on the blocks having a
                                     * <tt>true</tt> entry here.
                                     */
+//TODO: rename this to block_mask, in the same way as has already been done in MGTransferComponent, and give it type BlockMask
     std::vector<bool> selected;
 
                                      /**
@@ -116,6 +117,7 @@ class MGTransferBlockBase
                                       * entries may be illegal
                                       * unsigned integers.
                                       */
+//TODO: rename this to mg_block_mask, in the same way as has already been done in MGTransferComponent, and give it type BlockMask
     std::vector<unsigned int> mg_block;
 
                                    /**
index c6308d6565d2f69051c151cb58f01ff7e33cc3c4..73b7a98d40a9c44fb0e8b5f2f6b4473e5b04552e 100644 (file)
@@ -92,7 +92,7 @@ class MGTransferComponentBase
                                     * this refers to the
                                     * <b>renumbered</b> components.
                                     */
-    std::vector<bool> selected;
+    ComponentMask component_mask;
 
                                    /**
                                     * Flag of selected components.
@@ -105,7 +105,7 @@ class MGTransferComponentBase
                                     * this refers to the
                                     * <b>renumbered</b> components.
                                     */
-    std::vector<bool> mg_selected;
+    ComponentMask mg_component_mask;
 
                                      /**
                                       * Target component of the
index e856482be96af875f59d51bb361404bef4eb4502..076841240c970728929f993fd86d8928c1a812bf 100644 (file)
@@ -345,7 +345,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = numbers::invalid_unsigned_int,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -362,7 +362,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -402,7 +402,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -419,7 +419,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -439,7 +439,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -458,7 +458,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -478,7 +478,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -497,7 +497,7 @@ class KellyErrorEstimator
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>*    coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -608,7 +608,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -625,7 +625,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -665,7 +665,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -682,7 +682,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -702,7 +702,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -721,7 +721,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const InputVector       &solution,
                           Vector<float>           &error,
-                          const std::vector<bool> &component_mask = std::vector<bool>(),
+                          const ComponentMask &component_mask = ComponentMask(),
                           const Function<spacedim>     *coefficients   = 0,
                           const unsigned int       n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -741,7 +741,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
@@ -760,7 +760,7 @@ class KellyErrorEstimator<1,spacedim>
                           const typename FunctionMap<spacedim>::type &neumann_bc,
                           const std::vector<const InputVector *> &solutions,
                           std::vector<Vector<float>*> &errors,
-                          const std::vector<bool>     &component_mask = std::vector<bool>(),
+                          const ComponentMask     &component_mask = ComponentMask(),
                           const Function<spacedim>         *coefficients   = 0,
                           const unsigned int           n_threads = multithread_info.n_default_threads,
                           const types::subdomain_id subdomain_id = types::invalid_subdomain_id,
index d5729e3bb8539adc250bfb3d493b527ce166547b..9724280928b7c768ae6916f4343f7e09790b8ba7 100644 (file)
 #ifndef __dealii__point_value_history_h
 #define __dealii__point_value_history_h
 
-#include <deal.II/dofs/dof_handler.h>
 #include <deal.II/base/point.h>
-#include <deal.II/lac/vector.h>
-
-#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/base/smartpointer.h>
+#include <deal.II/base/utilities.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/quadrature_lib.h>
+#include <deal.II/lac/vector.h>
+#include <deal.II/grid/grid_tools.h>
+#include <deal.II/dofs/dof_accessor.h>
+#include <deal.II/dofs/dof_handler.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/mapping.h>
 #include <deal.II/fe/mapping_q1.h>
 #include <deal.II/fe/fe_values.h>
-#include <deal.II/base/smartpointer.h>
-#include <deal.II/base/utilities.h>
-#include <numerics/data_postprocessor.h>
-#include <grid/grid_tools.h>
+#include <deal.II/fe/component_mask.h>
+#include <deal.II/numerics/data_postprocessor.h>
 
 #include <vector>
 #include <iostream>
@@ -144,7 +144,7 @@ namespace internal
  * </ol>
  *
  * When recording a new mnemonic name, the user must supply a
- * std::vector@<bool@> component_mask (see @ref GlossComponentMask "this glossary entry")
+ * component_mask (see @ref GlossComponentMask "this glossary entry")
  * to indicate the @ref GlossComponent "(vector) components"
  * to be extracted from the given input. If the user simply wants to extract
  * all the components, the mask need not be explicitly supplied to the @p
@@ -318,7 +318,7 @@ class PointValueHistory
                                       * be called in any order.
                                       */
     void add_field_name(const std::string &vector_name,
-                        const std::vector <bool> &component_mask = std::vector <bool>());
+                        const ComponentMask &component_mask = ComponentMask());
 
                                      /**
                                       * Put another mnemonic string (and hence
@@ -747,7 +747,7 @@ class PointValueHistory
                                      * Saves a component mask
                                      * for each mnemonic.
                                      */
-    std::map <std::string, std::vector<bool> > component_mask;
+    std::map <std::string, ComponentMask> component_mask;
 
 
                                      /**
index 157c56b0c59dc2afa3b275bdc2e8f437f0467f99..5e3cd8225739a583651b4b5730c68f8e2d86f393 100644 (file)
@@ -748,7 +748,7 @@ namespace VectorTools
                                const DH                 &dof,
                                const typename FunctionMap<DH::space_dimension>::type &function_map,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask = std::vector<bool>());
+                               const ComponentMask       &component_mask = ComponentMask());
 
                                    /**
                                     * @deprecated This function exists mainly
@@ -770,7 +770,7 @@ namespace VectorTools
                                const types::boundary_id            boundary_component,
                                const Function<DH::space_dimension>           &boundary_function,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask = std::vector<bool>());
+                               const ComponentMask       &component_mask = ComponentMask());
 
                                    /**
                                     * Calls the other
@@ -784,7 +784,7 @@ namespace VectorTools
                                const types::boundary_id            boundary_component,
                                const Function<DH::space_dimension>           &boundary_function,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask = std::vector<bool>());
+                               const ComponentMask       &component_mask = ComponentMask());
 
 
                                    /**
@@ -798,7 +798,7 @@ namespace VectorTools
   interpolate_boundary_values (const DH                &dof,
                                const typename FunctionMap<DH::space_dimension>::type &function_map,
                                std::map<unsigned int,double>         &boundary_values,
-                               const std::vector<bool>               &component_mask = std::vector<bool>());
+                               const ComponentMask               &component_mask = ComponentMask());
 
 
                                    /**
@@ -890,7 +890,7 @@ namespace VectorTools
                                const DH                 &dof,
                                const typename FunctionMap<DH::space_dimension>::type &function_map,
                                ConstraintMatrix              &constraints,
-                               const std::vector<bool>       &component_mask = std::vector<bool>());
+                               const ComponentMask       &component_mask = ComponentMask());
 
                                    /**
                                     * @deprecated This function exists
@@ -911,7 +911,7 @@ namespace VectorTools
                                const types::boundary_id                  boundary_component,
                                const Function<DH::space_dimension> &boundary_function,
                                ConstraintMatrix                    &constraints,
-                               const std::vector<bool>             &component_mask = std::vector<bool>());
+                               const ComponentMask             &component_mask = ComponentMask());
 
                                    /**
                                     * Calls the other
@@ -927,7 +927,7 @@ namespace VectorTools
                                const types::boundary_id                  boundary_component,
                                const Function<DH::space_dimension> &boundary_function,
                                ConstraintMatrix                    &constraints,
-                               const std::vector<bool>             &component_mask = std::vector<bool>());
+                               const ComponentMask             &component_mask = ComponentMask());
 
 
                                    /**
@@ -943,7 +943,7 @@ namespace VectorTools
   interpolate_boundary_values (const DH                &dof,
                                const typename FunctionMap<DH::space_dimension>::type &function_map,
                                ConstraintMatrix        &constraints,
-                               const std::vector<bool> &component_mask = std::vector<bool>());
+                               const ComponentMask &component_mask = ComponentMask());
 
 
                                    /**
index 1452b65b0e7c39c25977b655eb6e049c810d8397..aa7adf8d71a3addae44ab653e0d856abd4d9680d 100644 (file)
@@ -259,7 +259,7 @@ namespace VectorTools
                   = function_values_scalar[fe_index][dof_to_rep_index_table[fe_index][i]];
             }
         }
-    vec.compress(::dealii::VectorOperation::insert);    
+    vec.compress(::dealii::VectorOperation::insert);
   }
 
 
@@ -1478,14 +1478,13 @@ namespace VectorTools
                                       const DH                 &dof,
                                       const typename FunctionMap<DH::space_dimension>::type &function_map,
                                       std::map<unsigned int,double> &boundary_values,
-                                      const std::vector<bool>       &component_mask_,
+                                      const ComponentMask       &component_mask,
                                       const dealii::internal::int2type<1>)
     {
       const unsigned int dim = DH::dimension;
       const unsigned int spacedim=DH::space_dimension;
 
-      Assert ((component_mask_.size() == 0) ||
-              (component_mask_.size() == dof.get_fe().n_components()),
+      Assert (component_mask.represents_n_components(dof.get_fe().n_components()),
               ExcMessage ("The number of components in the mask has to be either "
                           "zero or equal to the number of components in the finite "
                           "element."));
@@ -1519,13 +1518,7 @@ namespace VectorTools
                       ExcDimensionMismatch(fe.n_components(),
                                            boundary_function.n_components));
 
-                                               // set the component mask to either
-                                               // the original value or a vector
-                                               // of trues
-              const std::vector<bool> component_mask ((component_mask_.size() == 0) ?
-                                                      std::vector<bool> (fe.n_components(), true) :
-                                                      component_mask_);
-              Assert (std::count(component_mask.begin(), component_mask.end(), true) > 0,
+              Assert (component_mask.n_selected_components(fe.n_components()) > 0,
                       ExcNoComponentSelected());
 
                                                // now set the value of
@@ -1569,14 +1562,13 @@ namespace VectorTools
                                  const DH                 &dof,
                                  const typename FunctionMap<DH::space_dimension>::type &function_map,
                                  std::map<unsigned int,double> &boundary_values,
-                                 const std::vector<bool>       &component_mask_,
+                                 const ComponentMask       &component_mask,
                                  const dealii::internal::int2type<DH::dimension>)
     {
       const unsigned int dim = DH::dimension;
       const unsigned int spacedim=DH::space_dimension;
 
-      Assert ((component_mask_.size() == 0) ||
-              (component_mask_.size() == dof.get_fe().n_components()),
+      Assert (component_mask.represents_n_components(dof.get_fe().n_components()),
               ExcMessage ("The number of components in the mask has to be either "
                           "zero or equal to the number of components in the finite "
                           "element."));
@@ -1599,15 +1591,6 @@ namespace VectorTools
         Assert (n_components == i->second->n_components,
                 ExcDimensionMismatch(n_components, i->second->n_components));
 
-                                       // set the component mask to either
-                                       // the original value or a vector
-                                       // of trues
-      const std::vector<bool> component_mask ((component_mask_.size() == 0) ?
-                                              std::vector<bool> (n_components, true) :
-                                              component_mask_);
-      Assert (std::count(component_mask.begin(), component_mask.end(), true) > 0,
-              ExcNoComponentSelected());
-
                                        // field to store the indices
       std::vector<unsigned int> face_dofs;
       face_dofs.reserve (DoFTools::max_dofs_per_face(dof));
@@ -1729,7 +1712,7 @@ namespace VectorTools
                                                // are in fact primitive
               for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
                 {
-                  const std::vector<bool> &nonzero_component_array
+                  const ComponentMask &nonzero_component_array
                     = cell->get_fe().get_nonzero_components (i);
                   for (unsigned int c=0; c<n_components; ++c)
                     if ((nonzero_component_array[c] == true)
@@ -1888,11 +1871,7 @@ namespace VectorTools
                                                                // component
                                                                // which we
                                                                // will use
-                              component = (std::find (fe.get_nonzero_components(cell_i).begin(),
-                                                      fe.get_nonzero_components(cell_i).end(),
-                                                      true)
-                                           -
-                                           fe.get_nonzero_components(cell_i).begin());
+                              component = fe.get_nonzero_components(cell_i).first_selected_component();
                             }
 
                           if (component_mask[component] == true)
@@ -1928,7 +1907,7 @@ namespace VectorTools
                                const DH                 &dof,
                                const typename FunctionMap<DH::space_dimension>::type &function_map,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask_)
+                               const ComponentMask       &component_mask_)
   {
     internal::
       interpolate_boundary_values (mapping, dof, function_map, boundary_values,
@@ -1945,7 +1924,7 @@ namespace VectorTools
                                const types::boundary_id            boundary_component,
                                const Function<DH::space_dimension>           &boundary_function,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask)
+                               const ComponentMask       &component_mask)
   {
     typename FunctionMap<DH::space_dimension>::type function_map;
     function_map[boundary_component] = &boundary_function;
@@ -1961,7 +1940,7 @@ namespace VectorTools
                                const types::boundary_id            boundary_component,
                                const Function<DH::space_dimension>           &boundary_function,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask)
+                               const ComponentMask       &component_mask)
   {
     Assert (DEAL_II_COMPAT_MAPPING, ExcCompatibility("mapping"));
     interpolate_boundary_values(StaticMappingQ1<DH::dimension,DH::space_dimension>::mapping,
@@ -1976,7 +1955,7 @@ namespace VectorTools
   interpolate_boundary_values (const DH                 &dof,
                                const typename FunctionMap<DH::space_dimension>::type &function_map,
                                std::map<unsigned int,double> &boundary_values,
-                               const std::vector<bool>       &component_mask)
+                               const ComponentMask       &component_mask)
   {
     Assert (DEAL_II_COMPAT_MAPPING, ExcCompatibility("mapping"));
     interpolate_boundary_values(StaticMappingQ1<DH::dimension,DH::space_dimension>::mapping,
@@ -1998,7 +1977,7 @@ namespace VectorTools
    const DH                                              &dof,
    const typename FunctionMap<DH::space_dimension>::type &function_map,
    ConstraintMatrix                                      &constraints,
-   const std::vector<bool>                               &component_mask_)
+   const ComponentMask                               &component_mask_)
   {
     std::map<unsigned int,double> boundary_values;
     interpolate_boundary_values (mapping, dof, function_map,
@@ -2028,7 +2007,7 @@ namespace VectorTools
    const types::boundary_id                                boundary_component,
    const Function<DH::space_dimension>               &boundary_function,
    ConstraintMatrix                                  &constraints,
-   const std::vector<bool>                           &component_mask)
+   const ComponentMask                           &component_mask)
   {
     typename FunctionMap<DH::space_dimension>::type function_map;
     function_map[boundary_component] = &boundary_function;
@@ -2045,7 +2024,7 @@ namespace VectorTools
    const types::boundary_id                  boundary_component,
    const Function<DH::space_dimension> &boundary_function,
    ConstraintMatrix                    &constraints,
-   const std::vector<bool>             &component_mask)
+   const ComponentMask             &component_mask)
   {
     Assert (DEAL_II_COMPAT_MAPPING, ExcCompatibility("mapping"));
     interpolate_boundary_values(StaticMappingQ1<DH::dimension,DH::space_dimension>::mapping,
@@ -2061,7 +2040,7 @@ namespace VectorTools
   (const DH                                              &dof,
    const typename FunctionMap<DH::space_dimension>::type &function_map,
    ConstraintMatrix                                      &constraints,
-   const std::vector<bool>                               &component_mask)
+   const ComponentMask                               &component_mask)
   {
     Assert (DEAL_II_COMPAT_MAPPING, ExcCompatibility("mapping"));
     interpolate_boundary_values(StaticMappingQ1<DH::dimension,DH::space_dimension>::mapping,
@@ -2089,7 +2068,7 @@ namespace VectorTools
                                      // projection in 1d is equivalent
                                      // to interpolation
     interpolate_boundary_values (mapping, dof, boundary_functions,
-                                 boundary_values, std::vector<bool>());
+                                 boundary_values, ComponentMask());
   }
 
 
@@ -2107,7 +2086,7 @@ namespace VectorTools
                                      // projection in 1d is equivalent
                                      // to interpolation
     interpolate_boundary_values (mapping, dof, boundary_functions,
-                                 boundary_values, std::vector<bool>());
+                                 boundary_values, ComponentMask());
   }
 
 
@@ -2802,22 +2781,22 @@ namespace VectorTools
       const std::vector<Point<dim> >&
         reference_quadrature_points = fe_values.get_quadrature ().get_points ();
       std::pair<unsigned int, unsigned int> base_indices (0, 0);
-      
+
       if (dynamic_cast<const FESystem<dim>*> (&cell->get_fe ()) != 0)
       {
         unsigned int fe_index = 0;
         unsigned int fe_index_old = 0;
         unsigned int i = 0;
-        
+
         for (; i < fe.n_base_elements (); ++i)
         {
           fe_index_old = fe_index;
           fe_index += fe.element_multiplicity (i) * fe.base_element (i).n_components ();
-          
+
           if (fe_index >= first_vector_component)
             break;
         }
-        
+
         base_indices.first = i;
         base_indices.second = (first_vector_component - fe_index_old) / fe.base_element (i).n_components ();
       }
@@ -2891,7 +2870,7 @@ namespace VectorTools
                                  * jacobians[q_point][1][edge_coordinate_direction[face][line]]
                                  + jacobians[q_point][2][edge_coordinate_direction[face][line]]
                                  * jacobians[q_point][2][edge_coordinate_direction[face][line]]));
-              
+
               if (q_point == 0)
                 dofs_processed[i] = true;
             }
@@ -2943,22 +2922,22 @@ namespace VectorTools
         quadrature_points = fe_values.get_quadrature_points ();
       const unsigned int degree = fe.degree - 1;
       std::pair<unsigned int, unsigned int> base_indices (0, 0);
-      
+
       if (dynamic_cast<const FESystem<dim>*> (&cell->get_fe ()) != 0)
       {
         unsigned int fe_index = 0;
         unsigned int fe_index_old = 0;
         unsigned int i = 0;
-        
+
         for (; i < fe.n_base_elements (); ++i)
         {
           fe_index_old = fe_index;
           fe_index += fe.element_multiplicity (i) * fe.base_element (i).n_components ();
-          
+
           if (fe_index >= first_vector_component)
             break;
         }
-        
+
         base_indices.first = i;
         base_indices.second = (first_vector_component - fe_index_old) / fe.base_element (i).n_components ();
       }
@@ -3041,7 +3020,7 @@ namespace VectorTools
                                    * jacobians[q_point][0][face_coordinate_direction[face]]
                                    + jacobians[q_point][1][face_coordinate_direction[face]]
                                    * jacobians[q_point][1][face_coordinate_direction[face]]);
-                    
+
                     if (q_point == 0)
                       dofs_processed[i] = true;
                   }
@@ -3110,7 +3089,7 @@ namespace VectorTools
 
                 for (unsigned int d = 0; d < dim; ++d)
                   tmp[d] = values[q_point] (first_vector_component + d);
-                
+
                 for (unsigned int i = 0; i < fe.dofs_per_face; ++i)
                   if (((dynamic_cast<const FESystem<dim>*> (&fe) != 0)
                        && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).first == base_indices)
@@ -3153,9 +3132,9 @@ namespace VectorTools
                                                  // the face.
                 for (unsigned int d = 0; d < dim; ++d)
                   assembling_vector (dim * q_point + d) = JxW * tmp[d];
-                
+
                 unsigned int index = 0;
-                
+
                 for (unsigned int i = 0; i < fe.dofs_per_face; ++i)
                   if (((dynamic_cast<const FESystem<dim>*> (&fe) != 0)
                        && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).first == base_indices)
@@ -3175,7 +3154,7 @@ namespace VectorTools
 
                       for (unsigned int d = 0; d < dim; ++d)
                         assembling_matrix (index, dim * q_point + d) = shape_value[d];
-                      
+
                       ++index;
                     }
               }
@@ -3202,7 +3181,7 @@ namespace VectorTools
                                              // values.
             {
               unsigned int index = 0;
-              
+
               for (unsigned int i = 0; i < fe.dofs_per_face; ++i)
                 if (((dynamic_cast<const FESystem<dim>*> (&fe) != 0)
                      && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).first == base_indices)
@@ -3268,7 +3247,7 @@ namespace VectorTools
                   assembling_vector (dim * q_point + d) = JxW * tmp[d];
 
                 unsigned int index = 0;
-                
+
                 for (unsigned int i = 0; i < fe.dofs_per_face; ++i)
                   if (((dynamic_cast<const FESystem<dim>*> (&fe) != 0)
                        && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).first == base_indices)
@@ -3284,7 +3263,7 @@ namespace VectorTools
 
                       for (unsigned int d = 0; d < dim; ++d)
                         assembling_matrix (index, dim * q_point + d) = shape_value[d];
-                      
+
                       ++index;
                     }
               }
@@ -3295,7 +3274,7 @@ namespace VectorTools
             cell_matrix_inv.vmult (solution, cell_rhs);
 
             unsigned int index = 0;
-            
+
             for (unsigned int i = 0; i < fe.dofs_per_face; ++i)
               if (((dynamic_cast<const FESystem<dim>*> (&fe) != 0)
                    && (fe.system_to_base_index (fe.face_to_cell_index (i, face)).first == base_indices)
@@ -3533,7 +3512,7 @@ namespace VectorTools
 
                     cell->face (face)->get_dof_indices (face_dof_indices,
                                                         cell->active_fe_index ());
-                    
+
                     const double tol = 0.5 * superdegree * 1e-13 / cell->face (face)->diameter ();
 
                     for (unsigned int dof = 0; dof < dofs_per_face; ++dof)
@@ -3622,7 +3601,7 @@ namespace VectorTools
                       }
 
                     const unsigned int dofs_per_face = cell->get_fe ().dofs_per_face;
-                    
+
                     dofs_processed.resize (dofs_per_face);
                     dof_values.resize (dofs_per_face);
 
@@ -3710,7 +3689,7 @@ namespace VectorTools
                     const unsigned int superdegree = cell->get_fe ().degree;
                     const unsigned int degree = superdegree - 1;
                     const unsigned int dofs_per_face = cell->get_fe ().dofs_per_face;
-                    
+
                     dofs_processed.resize (dofs_per_face);
                     dof_values.resize (dofs_per_face);
 
@@ -3744,7 +3723,7 @@ namespace VectorTools
                     face_dof_indices.resize (dofs_per_face);
                     cell->face (face)->get_dof_indices (face_dof_indices,
                                                         cell->active_fe_index ());
-                    
+
                     const double tol = 0.5 * superdegree * 1e-13  / cell->face (face)->diameter ();
 
                     for (unsigned int dof = 0; dof < dofs_per_face; ++dof)
index 01eaf7e9f312fc5c4e67603579f5f242d2d7b4ab..afa1baac72aa9e7ca264730994404f4d25b27a12 100644 (file)
@@ -739,10 +739,8 @@ namespace DoFRenumbering
               = component_order[fe.system_to_component_index(i).first];
           else
             {
-              const unsigned int comp = (std::find(fe.get_nonzero_components(i).begin(),
-                                                   fe.get_nonzero_components(i).end(),
-                                                   true) -
-                                         fe.get_nonzero_components(i).begin());
+              const unsigned int comp
+              = fe.get_nonzero_components(i).first_selected_component();
 
                                            // then associate this degree
                                            // of freedom with this
index d49f42032ffb8a6d0f3a13fd039d1b8bff2220a0..e94bba409f2bde56f6c3f5fcbf12a46d6d3e6c6d 100644 (file)
@@ -189,17 +189,9 @@ namespace DoFTools
               else
                 {
                   const unsigned int first_nonzero_comp_i
-                    = (std::find (fe_collection[f].get_nonzero_components(i).begin(),
-                                  fe_collection[f].get_nonzero_components(i).end(),
-                                  true)
-                       -
-                       fe_collection[f].get_nonzero_components(i).begin());
+                  = fe_collection[f].get_nonzero_components(i).first_selected_component();
                   const unsigned int first_nonzero_comp_j
-                    = (std::find (fe_collection[f].get_nonzero_components(j).begin(),
-                                  fe_collection[f].get_nonzero_components(j).end(),
-                                  true)
-                       -
-                       fe_collection[f].get_nonzero_components(j).begin());
+                  = fe_collection[f].get_nonzero_components(j).first_selected_component();
                   Assert (first_nonzero_comp_i < fe_collection[f].n_components(),
                           ExcInternalError());
                   Assert (first_nonzero_comp_j < fe_collection[f].n_components(),
@@ -685,11 +677,7 @@ namespace DoFTools
           = (fe.is_primitive(i) ?
              fe.system_to_component_index(i).first
              :
-             (std::find (fe.get_nonzero_components(i).begin(),
-                         fe.get_nonzero_components(i).end(),
-                         true)
-              -
-              fe.get_nonzero_components(i).begin())
+             fe.get_nonzero_components(i).first_selected_component()
           );
         Assert (ii < fe.n_components(), ExcInternalError());
 
@@ -699,11 +687,7 @@ namespace DoFTools
               = (fe.is_primitive(j) ?
                  fe.system_to_component_index(j).first
                  :
-                 (std::find (fe.get_nonzero_components(j).begin(),
-                             fe.get_nonzero_components(j).end(),
-                             true)
-                  -
-                  fe.get_nonzero_components(j).begin())
+                 fe.get_nonzero_components(j).first_selected_component()
               );
             Assert (jj < fe.n_components(), ExcInternalError());
 
@@ -3303,7 +3287,7 @@ namespace DoFTools
   make_periodicity_constraints (const FaceIterator                          &face_1,
                                 const typename identity<FaceIterator>::type &face_2,
                                 dealii::ConstraintMatrix                    &constraint_matrix,
-                                const std::vector<bool>                     &component_mask)
+                                const ComponentMask                         &component_mask)
   {
     static const int dim = FaceIterator::AccessorType::dimension;
 
@@ -3347,8 +3331,7 @@ namespace DoFTools
 
     const dealii::FiniteElement<dim> &fe = face_1->get_fe(face_1_index);
 
-    Assert (component_mask.size() == 0 ||
-            component_mask.size() == fe.n_components(),
+    Assert (component_mask.represents_n_components(fe.n_components()),
             ExcMessage ("The number of components in the mask has to be either "
                         "zero or equal to the number of components in the finite "
                         "element."));
@@ -3364,13 +3347,16 @@ namespace DoFTools
                                    // .. and constrain them (respecting
                                    // component_mask):
     for (unsigned int i = 0; i < dofs_per_face; ++i) {
-      if (component_mask.size() == 0 ||
-          component_mask[fe.face_system_to_component_index(i).first]) {
-        if(!constraint_matrix.is_constrained(dofs_1[i])) {
-          constraint_matrix.add_line(dofs_1[i]);
-          constraint_matrix.add_entry(dofs_1[i], dofs_2[i], 1.0);
+      if ((component_mask.n_selected_components(fe.n_components()) == fe.n_components())
+          ||
+          (component_mask[fe.face_system_to_component_index(i).first] == true))
+        {
+          if(!constraint_matrix.is_constrained(dofs_1[i]))
+            {
+            constraint_matrix.add_line(dofs_1[i]);
+            constraint_matrix.add_entry(dofs_1[i], dofs_2[i], 1.0);
+            }
         }
-      }
     }
   }
 
@@ -3381,7 +3367,7 @@ namespace DoFTools
                                 const types::boundary_id     boundary_component,
                                 const int                      direction,
                                 dealii::ConstraintMatrix       &constraint_matrix,
-                                const std::vector<bool>        &component_mask)
+                                const ComponentMask            &component_mask)
   {
     Tensor<1,DH::space_dimension> dummy;
     make_periodicity_constraints (dof_handler,
@@ -3401,7 +3387,7 @@ namespace DoFTools
                                 dealii::Tensor<1,DH::space_dimension>
                                                                &offset,
                                 dealii::ConstraintMatrix       &constraint_matrix,
-                                const std::vector<bool>        &component_mask)
+                                const ComponentMask            &component_mask)
   {
     static const int space_dim = DH::space_dimension;
     Assert (0<=direction && direction<space_dim,
@@ -3423,23 +3409,23 @@ namespace DoFTools
                                    // make_periodicity_constraints function
                                    // to every matching pair:
     for (typename std::map<CellIterator, CellIterator>::iterator it = matched_cells.begin();
-        it != matched_cells.end(); ++it)
+         it != matched_cells.end(); ++it)
       {
-       typedef typename DH::face_iterator FaceIterator;
-       FaceIterator face_1 = it->first->face(2*direction);
-       FaceIterator face_2 = it->second->face(2*direction+1);
+        typedef typename DH::face_iterator FaceIterator;
+        FaceIterator face_1 = it->first->face(2*direction);
+        FaceIterator face_2 = it->second->face(2*direction+1);
 
-       Assert(face_1->at_boundary() && face_2->at_boundary(),
-              ExcInternalError());
+        Assert(face_1->at_boundary() && face_2->at_boundary(),
+               ExcInternalError());
 
-       Assert (face_1->boundary_indicator() == boundary_component &&
-               face_2->boundary_indicator() == boundary_component,
-               ExcInternalError());
+        Assert (face_1->boundary_indicator() == boundary_component &&
+                face_2->boundary_indicator() == boundary_component,
+                ExcInternalError());
 
-       make_periodicity_constraints(face_1,
-                                    face_2,
-                                    constraint_matrix,
-                                    component_mask);
+        make_periodicity_constraints(face_1,
+                                     face_2,
+                                     constraint_matrix,
+                                     component_mask);
       }
   }
 
@@ -3447,124 +3433,134 @@ namespace DoFTools
 
   namespace internal
   {
-                                     // this internal function assigns to each dof
-                                     // the respective component of the vector
-                                     // system. if use_blocks is set, then the
-                                     // assignment is done by blocks, not by
-                                     // components, as specified by
-                                     // component_select. The additional argument
-                                     // component_select is only used for
-                                     // non-primitive FEs, where we need it since
-                                     // more components couple, and no unique
-                                     // component can be assigned. Then, we sort
-                                     // them to the first selected component of the
-                                     // vector system.
-                                    //
-                                    // the output array dofs_by_component
-                                    // lists for each dof the corresponding
-                                    // vector component. if the DoFHandler is
-                                    // based on a parallel distributed
-                                    // triangulation then the output array is
-                                    // index by
-                                    // dof.locally_owned_dofs().index_within_set(indices[i])
+    // return an array that for each dof on the reference cell
+    // lists the corresponding vector component.
+    //
+    // if an element is non-primitive then we assign to each degree of freedom
+    // the following component:
+    // - if the nonzero components that belong to a shape function are not
+    //   selected in the component_mask, then the shape function is assigned
+    //   to the first nonzero vector component that corresponds to this
+    //   shape function
+    // - otherwise, the shape function is assigned the first component selected
+    //   in the component_mask that corresponds to this shape function
+    template <int dim, int spacedim>
+    std::vector<unsigned char>
+    get_local_component_association (const FiniteElement<dim,spacedim>  &fe,
+                                     const ComponentMask        &component_mask)
+    {
+      std::vector<unsigned char> local_component_association (fe.dofs_per_cell,
+                                                              (unsigned char)(-1));
+
+      // compute the component each local dof belongs to.
+      // if the shape function is primitive, then this
+      // is simple and we can just associate it with
+      // what system_to_component_index gives us
+      for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
+        if (fe.is_primitive(i))
+          local_component_association[i] =
+                    fe.system_to_component_index(i).first;
+        else
+          // if the shape function is not primitive, then either use the
+          // component of the first nonzero component corresponding
+          // to this shape function (if the component is not specified
+          // in the component_mask), or the first component of this block
+          // that is listed in the component_mask (if the block this
+          // component corresponds to is indeed specified in the component
+          // mask)
+          {
+            const unsigned int first_comp =
+                fe.get_nonzero_components(i).first_selected_component();
+
+            if ((fe.get_nonzero_components(i)
+                &
+                component_mask).n_selected_components(fe.n_components()) == 0)
+              local_component_association[i] = first_comp;
+            else
+              // pick the component selected. we know from the previous 'if'
+              // that within the components that are nonzero for this
+              // shape function there must be at least one for which the
+              // mask is true, so we will for sure run into the break()
+              // at one point
+              for (unsigned int c=first_comp; c<fe.n_components(); ++c)
+                if (component_mask[c] == true)
+                  {
+                    local_component_association[i] = c;
+                    break;
+                  }
+          }
+
+      Assert (std::find (local_component_association.begin(),
+          local_component_association.end(),
+          (unsigned char)(-1))
+          ==
+          local_component_association.end(),
+          ExcInternalError());
+
+      return local_component_association;
+    }
+
+
+    // this internal function assigns to each dof
+    // the respective component of the vector
+    // system.
+    //
+    // the output array dofs_by_component
+    // lists for each dof the corresponding
+    // vector component. if the DoFHandler is
+    // based on a parallel distributed
+    // triangulation then the output array is
+    // index by
+    // dof.locally_owned_dofs().index_within_set(indices[i])
+    //
+    // if an element is non-primitive then we assign to each degree of freedom
+    // the following component:
+    // - if the nonzero components that belong to a shape function are not
+    //   selected in the component_mask, then the shape function is assigned
+    //   to the first nonzero vector component that corresponds to this
+    //   shape function
+    // - otherwise, the shape function is assigned the first component selected
+    //   in the component_mask that corresponds to this shape function
     template <class DH>
-    inline
     void
-    extract_dofs_by_component (const DH                   &dof,
-                               const std::vector<bool>    &component_select,
-                               const bool                  sort_by_blocks,
-                               std::vector<unsigned char> &dofs_by_component)
+    get_component_association (const DH                   &dof,
+        const ComponentMask        &component_mask,
+        std::vector<unsigned char> &dofs_by_component)
     {
       const dealii::hp::FECollection<DH::dimension,DH::space_dimension>
-        fe_collection (dof.get_fe());
+      fe_collection (dof.get_fe());
       Assert (fe_collection.n_components() < 256, ExcNotImplemented());
       Assert (dofs_by_component.size() == dof.n_locally_owned_dofs(),
-              ExcDimensionMismatch(dofs_by_component.size(),
-                                   dof.n_locally_owned_dofs()));
-
-                                       // next set up a table for the degrees
-                                       // of freedom on each of the cells
-                                       // (regardless of the fact whether it
-                                       // is listed in the component_select
-                                       // argument or not)
-                                      //
-                                      // for each element 'f' of the
-                                      // FECollection,
-                                      // local_component_association[f][d]
-                                      // then returns the vector component
-                                      // that degree of freedom 'd' belongs
-                                      // to (or, in the case of
-                                      // sort_by_blocks, the block that it
-                                      // corresponds to)
-      std::vector<std::vector<unsigned char> > local_component_association
-        (fe_collection.size());
+          ExcDimensionMismatch(dofs_by_component.size(),
+              dof.n_locally_owned_dofs()));
+
+      // next set up a table for the degrees
+      // of freedom on each of the cells
+      // (regardless of the fact whether it
+      // is listed in the component_select
+      // argument or not)
+      //
+      // for each element 'f' of the
+      // FECollection,
+      // local_component_association[f][d]
+      // then returns the vector component
+      // that degree of freedom 'd' belongs
+      // to
+      std::vector<std::vector<unsigned char> >
+      local_component_association (fe_collection.size());
       for (unsigned int f=0; f<fe_collection.size(); ++f)
         {
           const FiniteElement<DH::dimension,DH::space_dimension> &fe =
-            fe_collection[f];
-          local_component_association[f].resize(fe.dofs_per_cell);
-          if (sort_by_blocks == true)
-                                            // compute the block each
-                                            // local dof belongs to
-            {
-              for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
-                local_component_association[f][i]
-                  = fe.system_to_block_index(i).first;
-            }
-          else
-                                            // compute the component each
-                                            // local dof belongs to
-            for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
-              if (fe.is_primitive(i))
-                local_component_association[f][i] =
-                  fe.system_to_component_index(i).first;
-              else
-                                                 // if this shape function is
-                                                 // not primitive, then we have
-                                                 // to work harder. we have to
-                                                 // find out whether _any_ of
-                                                 // the vector components of
-                                                 // this element is selected or
-                                                 // not
-                                                 //
-                                                 // to do so, get the a list of
-                                                 // nonzero elements and see which are
-                                                 // actually active
-                {
-                  const unsigned int first_comp =
-                    (std::find(fe.get_nonzero_components(i).begin(),
-                               fe.get_nonzero_components(i).end(),
-                               true) -
-                     fe.get_nonzero_components(i).begin());
-                  const unsigned int end_comp =
-                    (std::find(fe.get_nonzero_components(i).begin()+first_comp,
-                               fe.get_nonzero_components(i).end(),
-                               false)-
-                     fe.get_nonzero_components(i).begin());
-
-                                                   // now check whether any of
-                                                   // the components in between
-                                                   // is set
-                  if (component_select.size() == 0 ||
-                      (component_select[first_comp] == true ||
-                       std::count(component_select.begin()+first_comp,
-                                  component_select.begin()+end_comp, true) == 0))
-                    local_component_association[f][i] = first_comp;
-                  else
-                    for (unsigned int c=first_comp; c<end_comp; ++c)
-                      if (component_select[c] == true)
-                        {
-                          local_component_association[f][i] = c;
-                          break;
-                        }
-                }
+              fe_collection[f];
+          local_component_association[f]
+                                      = get_local_component_association (fe, component_mask);
         }
 
-                                       // then loop over all cells and do
-                                       // the work
+      // then loop over all cells and do
+      // the work
       std::vector<unsigned int> indices;
       for (typename DH::active_cell_iterator c=dof.begin_active();
-           c!=dof.end(); ++ c)
+          c!=dof.end(); ++ c)
         if (c->is_locally_owned())
           {
             const unsigned int fe_index = c->active_fe_index();
@@ -3574,7 +3570,80 @@ namespace DoFTools
             for (unsigned int i=0; i<dofs_per_cell; ++i)
               if (dof.locally_owned_dofs().is_element(indices[i]))
                 dofs_by_component[dof.locally_owned_dofs().index_within_set(indices[i])]
-                  = local_component_association[fe_index][i];
+                                  = local_component_association[fe_index][i];
+          }
+    }
+
+
+    // this is the function corresponding to the one above but working
+    // on blocks instead of components.
+    //
+    // the output array dofs_by_block
+    // lists for each dof the corresponding
+    // vector block. if the DoFHandler is
+    // based on a parallel distributed
+    // triangulation then the output array is
+    // index by
+    // dof.locally_owned_dofs().index_within_set(indices[i])
+    template <class DH>
+    inline
+    void
+    get_block_association (const DH                   &dof,
+                           std::vector<unsigned char> &dofs_by_block)
+    {
+      const dealii::hp::FECollection<DH::dimension,DH::space_dimension>
+      fe_collection (dof.get_fe());
+      Assert (fe_collection.n_components() < 256, ExcNotImplemented());
+      Assert (dofs_by_block.size() == dof.n_locally_owned_dofs(),
+          ExcDimensionMismatch(dofs_by_block.size(),
+              dof.n_locally_owned_dofs()));
+
+      // next set up a table for the degrees
+      // of freedom on each of the cells
+      // (regardless of the fact whether it
+      // is listed in the component_select
+      // argument or not)
+      //
+      // for each element 'f' of the
+      // FECollection,
+      // local_block_association[f][d]
+      // then returns the vector block
+      // that degree of freedom 'd' belongs
+      // to
+      std::vector<std::vector<unsigned char> > local_block_association
+      (fe_collection.size());
+      for (unsigned int f=0; f<fe_collection.size(); ++f)
+        {
+          const FiniteElement<DH::dimension,DH::space_dimension> &fe =
+              fe_collection[f];
+          local_block_association[f].resize(fe.dofs_per_cell,
+              (unsigned char)(-1));
+          for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
+            local_block_association[f][i] = fe.system_to_block_index(i).first;
+
+          Assert (std::find (local_block_association[f].begin(),
+              local_block_association[f].end(),
+              (unsigned char)(-1))
+              ==
+              local_block_association[f].end(),
+              ExcInternalError());
+        }
+
+      // then loop over all cells and do
+      // the work
+      std::vector<unsigned int> indices;
+      for (typename DH::active_cell_iterator c=dof.begin_active();
+          c!=dof.end(); ++ c)
+        if (c->is_locally_owned())
+          {
+            const unsigned int fe_index = c->active_fe_index();
+            const unsigned int dofs_per_cell = c->get_fe().dofs_per_cell;
+            indices.resize(dofs_per_cell);
+            c->get_dof_indices(indices);
+            for (unsigned int i=0; i<dofs_per_cell; ++i)
+              if (dof.locally_owned_dofs().is_element(indices[i]))
+                dofs_by_block[dof.locally_owned_dofs().index_within_set(indices[i])]
+                              = local_block_association[fe_index][i];
           }
     }
   }
@@ -3612,11 +3681,10 @@ namespace DoFTools
     else
       {
         std::vector<unsigned char> component_dofs (dof_handler.n_locally_owned_dofs());
-        std::vector<bool> component_mask (dof_handler.get_fe().n_components(),
-                                          false);
-        component_mask[component] = true;
-        internal::extract_dofs_by_component (dof_handler, component_mask,
-                                             false, component_dofs);
+        internal::get_component_association (dof_handler,
+                                             dof_handler.get_fe().component_mask
+                                             (FEValuesExtractors::Scalar(component)),
+                                             component_dofs);
 
         for (unsigned int i=0; i<dof_data.size(); ++i)
           if (component_dofs[i] == static_cast<unsigned char>(component))
@@ -3675,25 +3743,15 @@ namespace DoFTools
 
   template <int dim, int spacedim>
   void
-  extract_dofs (
-    const DoFHandler<dim,spacedim>   &dof,
-    const std::vector<bool> &component_select,
-    std::vector<bool>       &selected_dofs,
-    const bool               count_by_blocks)
+  extract_dofs (const DoFHandler<dim,spacedim>   &dof,
+                const ComponentMask     &component_mask,
+                std::vector<bool>       &selected_dofs)
   {
     const FiniteElement<dim,spacedim> &fe = dof.get_fe();
 
-    if (count_by_blocks == true)
-      {
-        Assert(component_select.size() == fe.n_blocks(),
-               ExcDimensionMismatch(component_select.size(), fe.n_blocks()));
-      }
-    else
-      {
-        Assert(component_select.size() == n_components(dof),
-               ExcDimensionMismatch(component_select.size(), n_components(dof)));
-      }
-
+    Assert(component_mask.represents_n_components(fe.n_components()),
+           ExcMessage ("The given component mask is not sized correctly to represent the "
+                       "components of the given finite element."));
     Assert(selected_dofs.size() == dof.n_locally_owned_dofs(),
            ExcDimensionMismatch(selected_dofs.size(), dof.n_locally_owned_dofs()));
 
@@ -3701,14 +3759,12 @@ namespace DoFTools
                                      // is selected, and all components
                                      // are selected; both rather
                                      // stupid, but easy to catch
-    if (std::count (component_select.begin(), component_select.end(), true)
-        == 0)
+    if (component_mask.n_selected_components(n_components(dof)) == 0)
       {
         std::fill_n (selected_dofs.begin(), dof.n_locally_owned_dofs(), false);
         return;
       }
-    else if (std::count (component_select.begin(), component_select.end(), true)
-             == static_cast<signed int>(component_select.size()))
+    else if (component_mask.n_selected_components(n_components(dof)) == n_components(dof))
       {
         std::fill_n (selected_dofs.begin(), dof.n_locally_owned_dofs(), true);
         return;
@@ -3718,45 +3774,32 @@ namespace DoFTools
                                      // preset all values by false
     std::fill_n (selected_dofs.begin(), dof.n_locally_owned_dofs(), false);
 
-                                     // if we count by blocks, we need to extract
-                                     // the association of blocks with local dofs,
-                                     // and then go through all the cells and set
-                                     // the properties according to this
-                                     // info. Otherwise, we let the function
-                                     // extract_dofs_by_component function do the
-                                     // job.
+    // get the component association of each DoF
+    // and then select the ones that match the
+    // given set of blocks
     std::vector<unsigned char> dofs_by_component (dof.n_locally_owned_dofs());
-    internal::extract_dofs_by_component (dof, component_select, count_by_blocks,
+    internal::get_component_association (dof, component_mask,
                                          dofs_by_component);
 
     for (unsigned int i=0; i<dof.n_locally_owned_dofs(); ++i)
-      if (component_select[dofs_by_component[i]] == true)
+      if (component_mask[dofs_by_component[i]] == true)
         selected_dofs[i] = true;
   }
 
 
+//TODO: Unify the following two functions with the non-hp case
 
   template <int dim, int spacedim>
   void
-  extract_dofs (
-    const hp::DoFHandler<dim,spacedim>   &dof,
-    const std::vector<bool> &component_select,
-    std::vector<bool>       &selected_dofs,
-    const bool               count_by_blocks)
+  extract_dofs (const hp::DoFHandler<dim,spacedim>   &dof,
+                const ComponentMask     &component_mask,
+                std::vector<bool>       &selected_dofs)
   {
     const FiniteElement<dim,spacedim> &fe = dof.begin_active()->get_fe();
 
-    if (count_by_blocks == true)
-      {
-        Assert(component_select.size() == fe.n_blocks(),
-               ExcDimensionMismatch(component_select.size(), fe.n_blocks()));
-      }
-    else
-      {
-        Assert(component_select.size() == n_components(dof),
-               ExcDimensionMismatch(component_select.size(), n_components(dof)));
-      }
-
+    Assert(component_mask.represents_n_components(fe.n_components()),
+           ExcMessage ("The given component mask is not sized correctly to represent the "
+                       "components of the given finite element."));
     Assert(selected_dofs.size() == dof.n_dofs(),
            ExcDimensionMismatch(selected_dofs.size(), dof.n_dofs()));
 
@@ -3764,63 +3807,73 @@ namespace DoFTools
                                      // is selected, and all components
                                      // are selected; both rather
                                      // stupid, but easy to catch
-    if (std::count (component_select.begin(), component_select.end(), true)
-        == 0)
+    if (component_mask.n_selected_components(n_components(dof)) == 0)
       {
         std::fill_n (selected_dofs.begin(), dof.n_dofs(), false);
         return;
-      };
-    if (std::count (component_select.begin(), component_select.end(), true)
-        == static_cast<signed int>(component_select.size()))
+      }
+    else if (component_mask.n_selected_components(n_components(dof)) == n_components(dof))
       {
         std::fill_n (selected_dofs.begin(), dof.n_dofs(), true);
         return;
-      };
+      }
 
 
                                      // preset all values by false
     std::fill_n (selected_dofs.begin(), dof.n_dofs(), false);
 
-                                     // if we count by blocks, we need to extract
-                                     // the association of blocks with local dofs,
-                                     // and then go through all the cells and set
-                                     // the properties according to this
-                                     // info. Otherwise, we let the function
-                                     // extract_dofs_by_component function do the
-                                     // job.
+    // get the component association of each DoF
+    // and then select the ones that match the
+    // given set of components
     std::vector<unsigned char> dofs_by_component (dof.n_dofs());
-    internal::extract_dofs_by_component (dof, component_select, count_by_blocks,
+    internal::get_component_association (dof, component_mask,
                                          dofs_by_component);
 
     for (unsigned int i=0; i<dof.n_dofs(); ++i)
-      if (component_select[dofs_by_component[i]] == true)
+      if (component_mask[dofs_by_component[i]] == true)
         selected_dofs[i] = true;
   }
 
 
 
+  template <int dim, int spacedim>
+  void
+  extract_dofs (const DoFHandler<dim,spacedim>   &dof,
+                const BlockMask     &block_mask,
+                std::vector<bool>       &selected_dofs)
+  {
+    // simply forward to the function that works based on a component mask
+    extract_dofs (dof, dof.get_fe().component_mask (block_mask),
+                  selected_dofs);
+  }
+
+
+
+  template <int dim, int spacedim>
+  void
+  extract_dofs (const hp::DoFHandler<dim,spacedim>   &dof,
+                const BlockMask     &block_mask,
+                std::vector<bool>       &selected_dofs)
+  {
+    // simply forward to the function that works based on a component mask
+    extract_dofs (dof, dof.get_fe().component_mask (block_mask),
+                  selected_dofs);
+  }
+
+
+
   template<int dim, int spacedim>
   void
-  extract_level_dofs(
-    const unsigned int       level,
-    const MGDoFHandler<dim,spacedim> &dof,
-    const std::vector<bool> &component_select,
-    std::vector<bool>       &selected_dofs,
-    const bool               count_by_blocks)
+  extract_level_dofs(const unsigned int       level,
+                     const MGDoFHandler<dim,spacedim> &dof,
+                     const ComponentMask &component_mask,
+                     std::vector<bool>       &selected_dofs)
   {
     const FiniteElement<dim,spacedim>& fe = dof.get_fe();
 
-    if (count_by_blocks == true)
-      {
-        Assert(component_select.size() == fe.n_blocks(),
-               ExcDimensionMismatch(component_select.size(), fe.n_blocks()));
-      }
-    else
-      {
-        Assert(component_select.size() == fe.n_components(),
-               ExcDimensionMismatch(component_select.size(), fe.n_components()));
-      }
-
+    Assert(component_mask.represents_n_components(n_components(dof)),
+           ExcMessage ("The given component mask is not sized correctly to represent the "
+                       "components of the given finite element."));
     Assert(selected_dofs.size() == dof.n_dofs(level),
            ExcDimensionMismatch(selected_dofs.size(), dof.n_dofs(level)));
 
@@ -3828,18 +3881,16 @@ namespace DoFTools
                                      // is selected, and all components
                                      // are selected, both rather
                                      // stupid, but easy to catch
-    if (std::count (component_select.begin(), component_select.end(), true)
-        == 0)
+    if (component_mask.n_selected_components(n_components(dof)) == 0)
       {
         std::fill_n (selected_dofs.begin(), dof.n_dofs(level), false);
         return;
-      };
-    if (std::count (component_select.begin(), component_select.end(), true)
-        == static_cast<signed int>(component_select.size()))
+      }
+    else if (component_mask.n_selected_components(n_components(dof)) == n_components(dof))
       {
         std::fill_n (selected_dofs.begin(), dof.n_dofs(level), true);
         return;
-      };
+      }
 
                                      // preset all values by false
     std::fill_n (selected_dofs.begin(), dof.n_dofs(level), false);
@@ -3848,56 +3899,11 @@ namespace DoFTools
                                      // degrees of freedom on each of
                                      // the cells whether it is
                                      // something interesting or not
-    std::vector<bool> local_selected_dofs (fe.dofs_per_cell, false);
+    std::vector<unsigned char> local_component_asssociation
+    = internal::get_local_component_association (fe, component_mask);
+    std::vector<bool> local_selected_dofs (fe.dofs_per_cell);
     for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
-      if (count_by_blocks == true)
-        local_selected_dofs[i]
-          = component_select[fe.system_to_block_index(i).first];
-      else
-        if (fe.is_primitive(i))
-          local_selected_dofs[i]
-            = component_select[fe.system_to_component_index(i).first];
-        else
-                                           // if this shape function is
-                                           // not primitive, then we have
-                                           // to work harder. we have to
-                                           // find out whether _any_ of
-                                           // the vector components of
-                                           // this element is selected or
-                                           // not
-                                           //
-                                           // to do so, get the first and
-                                           // last vector components of
-                                           // the base element to which
-                                           // the local dof with index i
-                                           // belongs
-          {
-            unsigned int first_comp = 0;
-            const unsigned int this_base = fe.system_to_base_index(i).first.first;
-            const unsigned int this_multiplicity
-              = fe.system_to_base_index(i).first.second;
-
-            for (unsigned int b=0; b<this_base; ++b)
-              first_comp += fe.base_element(b).n_components() *
-                            fe.element_multiplicity(b);
-            for (unsigned int m=0; m<this_multiplicity; ++m)
-              first_comp += fe.base_element(this_base).n_components();
-            const unsigned int end_comp = first_comp +
-                                          fe.base_element(this_base).n_components();
-
-            Assert (first_comp < fe.n_components(), ExcInternalError());
-            Assert (end_comp <= fe.n_components(),  ExcInternalError());
-
-                                             // now check whether any of
-                                             // the components in between
-                                             // is set
-            for (unsigned int c=first_comp; c<end_comp; ++c)
-              if (component_select[c] == true)
-                {
-                  local_selected_dofs[i] = true;
-                  break;
-                }
-          }
+      local_selected_dofs[i] = component_mask[local_component_asssociation[i]];
 
                                      // then loop over all cells and do
                                      // work
@@ -3913,10 +3919,24 @@ namespace DoFTools
 
 
 
+  template<int dim, int spacedim>
+  void
+  extract_level_dofs(const unsigned int       level,
+                     const MGDoFHandler<dim,spacedim> &dof,
+                     const BlockMask         &block_mask,
+                     std::vector<bool>       &selected_dofs)
+  {
+    // simply defer to the other extract_level_dofs() function
+    extract_level_dofs (level, dof, dof.get_fe().component_mask(block_mask),
+                        selected_dofs);
+  }
+
+
+
   template <class DH>
   void
   extract_boundary_dofs (const DH                      &dof_handler,
-                         const std::vector<bool>       &component_select,
+                         const ComponentMask           &component_mask,
                          std::vector<bool>             &selected_dofs,
                          const std::set<types::boundary_id> &boundary_indicators)
   {
@@ -3928,7 +3948,7 @@ namespace DoFTools
                         "See the documentation for more information."));
 
     IndexSet indices;
-    extract_boundary_dofs (dof_handler, component_select,
+    extract_boundary_dofs (dof_handler, component_mask,
                            indices, boundary_indicators);
 
     // clear and reset array by default values
@@ -3943,11 +3963,12 @@ namespace DoFTools
   template <class DH>
   void
   extract_boundary_dofs (const DH                      &dof_handler,
-                         const std::vector<bool>       &component_select,
+                         const ComponentMask       &component_mask,
                          IndexSet             &selected_dofs,
                          const std::set<types::boundary_id> &boundary_indicators)
   {
-    AssertDimension (component_select.size(), n_components(dof_handler));
+    Assert (component_mask.represents_n_components(n_components(dof_handler)),
+            ExcMessage ("Component mask has invalid size."));
     Assert (boundary_indicators.find (numbers::internal_face_boundary_id) == boundary_indicators.end(),
             ExcInvalidBoundaryIndicator());
     const unsigned int dim=DH::dimension;
@@ -3966,8 +3987,10 @@ namespace DoFTools
                                      // check whether a certain vector
                                      // component is selected, or all
     const bool check_vector_component
-      = (component_select != std::vector<bool>(component_select.size(),
-                                               true));
+    = ((component_mask.represents_the_all_selected_mask() == false)
+        ||
+        (component_mask.n_selected_components(n_components(dof_handler)) !=
+            n_components(dof_handler)));
 
     std::vector<unsigned int> face_dof_indices;
     face_dof_indices.reserve (max_dofs_per_face(dof_handler));
@@ -4044,22 +4067,18 @@ namespace DoFTools
                                           numbers::invalid_unsigned_int)));
                       if (fe.is_primitive (cell_index))
                         {
-                          if (component_select[fe.face_system_to_component_index(i).first]
+                          if (component_mask[fe.face_system_to_component_index(i).first]
                                                == true)
                             selected_dofs.add_index (face_dof_indices[i]);
                         }
                       else // not primitive
                         {
                           const unsigned int first_nonzero_comp
-                          = (std::find (fe.get_nonzero_components(cell_index).begin(),
-                                        fe.get_nonzero_components(cell_index).end(),
-                                        true)
-                          -
-                          fe.get_nonzero_components(cell_index).begin());
+                          = fe.get_nonzero_components(cell_index).first_selected_component();
                           Assert (first_nonzero_comp < fe.n_components(),
                                   ExcInternalError());
 
-                          if (component_select[first_nonzero_comp] == true)
+                          if (component_mask[first_nonzero_comp] == true)
                             selected_dofs.add_index (face_dof_indices[i]);
                         }
                     }
@@ -4071,11 +4090,12 @@ namespace DoFTools
   template <class DH>
   void
   extract_dofs_with_support_on_boundary (const DH                      &dof_handler,
-                                         const std::vector<bool>       &component_select,
+                                         const ComponentMask           &component_mask,
                                          std::vector<bool>             &selected_dofs,
                                          const std::set<types::boundary_id> &boundary_indicators)
   {
-    AssertDimension (component_select.size(), n_components(dof_handler));
+    Assert (component_mask.represents_n_components (n_components(dof_handler)),
+            ExcMessage ("This component mask has the wrong size."));
     Assert (boundary_indicators.find (numbers::internal_face_boundary_id) == boundary_indicators.end(),
             ExcInvalidBoundaryIndicator());
 
@@ -4089,8 +4109,7 @@ namespace DoFTools
                                      // check whether a certain vector
                                      // component is selected, or all
     const bool check_vector_component
-      = (component_select != std::vector<bool>(component_select.size(),
-                                               true));
+      = (component_mask.represents_the_all_selected_mask() == false);
 
                                      // clear and reset array by default
                                      // values
@@ -4146,21 +4165,17 @@ namespace DoFTools
                       {
                         if (fe.is_primitive (i))
                           selected_dofs[cell_dof_indices[i]]
-                            = (component_select[fe.system_to_component_index(i).first]
+                            = (component_mask[fe.system_to_component_index(i).first]
                                == true);
                         else // not primitive
                           {
                             const unsigned int first_nonzero_comp
-                              = (std::find (fe.get_nonzero_components(i).begin(),
-                                            fe.get_nonzero_components(i).end(),
-                                            true)
-                                 -
-                                 fe.get_nonzero_components(i).begin());
+                              = fe.get_nonzero_components(i).first_selected_component();
                             Assert (first_nonzero_comp < fe.n_components(),
                                     ExcInternalError());
 
                             selected_dofs[cell_dof_indices[i]]
-                              = (component_select[first_nonzero_comp]
+                              = (component_mask[first_nonzero_comp]
                                  == true);
                           }
                       }
@@ -4430,26 +4445,26 @@ namespace DoFTools
   template <class DH>
   void
   extract_constant_modes (const DH                        &dof_handler,
-                          const std::vector<bool>         &component_select,
+                          const ComponentMask             &component_mask,
                           std::vector<std::vector<bool> > &constant_modes)
   {
     const unsigned int n_components = dof_handler.get_fe().n_components();
-    Assert (n_components == component_select.size(),
+    Assert (n_components == component_mask.size(),
             ExcDimensionMismatch(n_components,
-                                 component_select.size()));
+                                 component_mask.size()));
     std::vector<unsigned int> localized_component (n_components,
                                                    numbers::invalid_unsigned_int);
     unsigned int n_components_selected = 0;
     for (unsigned int i=0; i<n_components; ++i)
-      if (component_select[i] == true)
+      if (component_mask[i] == true)
         localized_component[i] = n_components_selected++;
 
     std::vector<unsigned char> dofs_by_component (dof_handler.n_locally_owned_dofs());
-    internal::extract_dofs_by_component (dof_handler, component_select, false,
+    internal::get_component_association (dof_handler, component_mask,
                                          dofs_by_component);
     unsigned int n_selected_dofs = 0;
     for (unsigned int i=0; i<n_components; ++i)
-      if (component_select[i] == true)
+      if (component_mask[i] == true)
         n_selected_dofs += std::count (dofs_by_component.begin(),
                                        dofs_by_component.end(), i);
 
@@ -4459,11 +4474,11 @@ namespace DoFTools
                                                                     false));
     std::vector<unsigned int> component_list (n_components, 0);
     for (unsigned int d=0; d<n_components; ++d)
-      component_list[d] = component_select[d];
+      component_list[d] = component_mask[d];
 
     unsigned int counter = 0;
     for (unsigned int i=0; i<dof_handler.n_locally_owned_dofs(); ++i)
-      if (component_select[dofs_by_component[i]])
+      if (component_mask[dofs_by_component[i]])
         {
           constant_modes[localized_component[dofs_by_component[i]]][counter] = true;
           ++counter;
@@ -4679,7 +4694,7 @@ namespace DoFTools
     get_subdomain_association (dof_handler, subdomain_association);
 
     std::vector<unsigned char> component_association (dof_handler.n_dofs());
-    internal::extract_dofs_by_component (dof_handler, std::vector<bool>(), false,
+    internal::get_component_association (dof_handler, std::vector<bool>(),
                                          component_association);
 
     for (unsigned int c=0; c<dof_handler.get_fe().n_components(); ++c)
@@ -4850,7 +4865,7 @@ namespace DoFTools
                                      // of dofs in each component
                                      // separately. do so in parallel
     std::vector<unsigned char> dofs_by_component (dof_handler.n_locally_owned_dofs());
-    internal::extract_dofs_by_component (dof_handler, std::vector<bool>(), false,
+    internal::get_component_association (dof_handler, ComponentMask(),
                                          dofs_by_component);
 
                                      // next count what we got
@@ -4944,8 +4959,7 @@ namespace DoFTools
                                          // of dofs in each block
                                          // separately.
         std::vector<unsigned char> dofs_by_block (dof_handler.n_locally_owned_dofs());
-        internal::extract_dofs_by_component (dof_handler, std::vector<bool>(),
-                                             true, dofs_by_block);
+        internal::get_block_association (dof_handler, dofs_by_block);
 
                                          // next count what we got
         for (unsigned int block=0; block<fe.n_blocks(); ++block)
@@ -5561,8 +5575,8 @@ namespace DoFTools
         std::vector<bool> mask (coarse_grid.get_fe().n_components(),
                                 false);
         mask[coarse_component] = true;
-        extract_dofs (coarse_grid, mask, coarse_dof_is_parameter);
-      };
+        extract_dofs (coarse_grid, ComponentMask(mask), coarse_dof_is_parameter);
+      }
 
                                      // now we know that the weights in
                                      // each row constitute a
@@ -6136,23 +6150,16 @@ namespace DoFTools
   void
   make_zero_boundary_constraints (const DH<dim, spacedim> &dof,
                                   ConstraintMatrix        &zero_boundary_constraints,
-                                  const std::vector<bool> &component_mask_)
+                                  const ComponentMask     &component_mask)
   {
-    Assert ((component_mask_.size() == 0) ||
-            (component_mask_.size() == dof.get_fe().n_components()),
+    Assert (component_mask.represents_n_components(dof.get_fe().n_components()),
             ExcMessage ("The number of components in the mask has to be either "
                         "zero or equal to the number of components in the finite "
                         "element."));
 
     const unsigned int n_components = DoFTools::n_components (dof);
 
-                                     // set the component mask to either
-                                     // the original value or a vector
-                                     // of trues
-    const std::vector<bool> component_mask ((component_mask_.size() == 0) ?
-                                            std::vector<bool> (n_components, true) :
-                                            component_mask_);
-    Assert (std::count(component_mask.begin(), component_mask.end(), true) > 0,
+    Assert (component_mask.n_selected_components(n_components) > 0,
             VectorTools::ExcNoComponentSelected());
 
                                      // a field to store the indices
@@ -6164,46 +6171,46 @@ namespace DoFTools
       endc = dof.end();
     for (; cell!=endc; ++cell)
       if (!cell->is_artificial())
-       for (unsigned int face_no = 0; face_no < GeometryInfo<dim>::faces_per_cell;
-            ++face_no)
-         {
-           const FiniteElement<dim,spacedim> &fe = cell->get_fe();
+        for (unsigned int face_no = 0; face_no < GeometryInfo<dim>::faces_per_cell;
+             ++face_no)
+          {
+            const FiniteElement<dim,spacedim> &fe = cell->get_fe();
 
-           typename DH<dim,spacedim>::face_iterator face = cell->face(face_no);
+            typename DH<dim,spacedim>::face_iterator face = cell->face(face_no);
 
                                              // if face is on the boundary
-           if (face->at_boundary ())
-             {
-                                                // get indices and physical
-                                                // location on this face
-               face_dofs.resize (fe.dofs_per_face);
-               face->get_dof_indices (face_dofs, cell->active_fe_index());
-
-                                                // enter those dofs into the list
-                                                // that match the component
-                                                // signature.
-               for (unsigned int i=0; i<face_dofs.size(); ++i)
-                 {
-                                                    // Find out if a dof
-                                                    // has a contribution
-                                                    // in this component,
-                                                    // and if so, add it
-                                                    // to the list
-                   const std::vector<bool> &nonzero_component_array
-                     = cell->get_fe().get_nonzero_components (i);
-                   bool nonzero = false;
-                   for (unsigned int c=0; c<n_components; ++c)
-                     if (nonzero_component_array[c] && component_mask[c])
-                       {
-                         nonzero = true;
-                         break;
-                       }
-
-                   if (nonzero)
-                     zero_boundary_constraints.add_line (face_dofs[i]);
-                 }
-             }
-         }
+            if (face->at_boundary ())
+              {
+                                                 // get indices and physical
+                                                 // location on this face
+                face_dofs.resize (fe.dofs_per_face);
+                face->get_dof_indices (face_dofs, cell->active_fe_index());
+
+                                                 // enter those dofs into the list
+                                                 // that match the component
+                                                 // signature.
+                for (unsigned int i=0; i<face_dofs.size(); ++i)
+                  {
+                                                     // Find out if a dof
+                                                     // has a contribution
+                                                     // in this component,
+                                                     // and if so, add it
+                                                     // to the list
+                    const ComponentMask &nonzero_component_array
+                      = cell->get_fe().get_nonzero_components (i);
+                    bool nonzero = false;
+                    for (unsigned int c=0; c<n_components; ++c)
+                      if (nonzero_component_array[c] && component_mask[c])
+                        {
+                          nonzero = true;
+                          break;
+                        }
+
+                    if (nonzero)
+                      zero_boundary_constraints.add_line (face_dofs[i]);
+                  }
+              }
+          }
   }
 
   template <class DH, class Sparsity>
index f1ecde11e7a751498893f0eb046a3f16e15f3b0f..b3caa48f8ea28e681ce1475ae46c31f8ebda2d85 100644 (file)
@@ -326,7 +326,7 @@ for (DH : DOFHANDLERS; deal_II_dimension : DIMENSIONS)
   DoFTools::make_periodicity_constraints (const DH::face_iterator &,
                                           const DH::face_iterator &,
                                           dealii::ConstraintMatrix &,
-                                          const std::vector<bool> &);
+                                          const ComponentMask &);
 
   template
   void
@@ -334,7 +334,7 @@ for (DH : DOFHANDLERS; deal_II_dimension : DIMENSIONS)
                                          const types::boundary_id,
                                          const int,
                                          dealii::ConstraintMatrix &,
-                                         const std::vector<bool> &);
+                                         const ComponentMask &);
 
   template
   void
@@ -343,7 +343,7 @@ for (DH : DOFHANDLERS; deal_II_dimension : DIMENSIONS)
                                          const int,
                                          dealii::Tensor<1,DH::space_dimension> &,
                                          dealii::ConstraintMatrix &,
-                                         const std::vector<bool> &);
+                                         const ComponentMask &);
 #endif
 }
 
@@ -421,28 +421,48 @@ DoFTools::distribute_cell_to_dof_vector<hp::DoFHandler<deal_II_dimension> >
 
 template void DoFTools::extract_dofs<deal_II_dimension>
 (const DoFHandler<deal_II_dimension>&,
- const std::vector<bool>&, std::vector<bool>&, bool);
+ const ComponentMask &,
+ std::vector<bool>&);
+
+template void DoFTools::extract_dofs<deal_II_dimension>
+(const DoFHandler<deal_II_dimension>&,
+ const BlockMask &,
+ std::vector<bool>&);
+
+template void DoFTools::extract_dofs<deal_II_dimension>
+(const hp::DoFHandler<deal_II_dimension>&,
+ const ComponentMask &,
+ std::vector<bool>&);
 
 template void DoFTools::extract_dofs<deal_II_dimension>
 (const hp::DoFHandler<deal_II_dimension>&,
- const std::vector<bool>&, std::vector<bool>&, bool);
+ const BlockMask &,
+ std::vector<bool>&);
+
+template void DoFTools::extract_level_dofs<deal_II_dimension>
+(const unsigned int level,
+ const MGDoFHandler<deal_II_dimension>&,
+ const ComponentMask &,
+ std::vector<bool>&);
 
 template void DoFTools::extract_level_dofs<deal_II_dimension>
-(const unsigned int level, const MGDoFHandler<deal_II_dimension>&,
- const std::vector<bool>&, std::vector<bool>&, bool);
+(const unsigned int level,
+ const MGDoFHandler<deal_II_dimension>&,
+ const BlockMask &,
+ std::vector<bool>&);
 
 template
 void
 DoFTools::extract_boundary_dofs<DoFHandler<deal_II_dimension> >
 (const DoFHandler<deal_II_dimension> &,
- const std::vector<bool>                  &,
+ const ComponentMask                  &,
  std::vector<bool>                        &,
  const std::set<types::boundary_id> &);
 template
 void
 DoFTools::extract_boundary_dofs<hp::DoFHandler<deal_II_dimension> >
 (const hp::DoFHandler<deal_II_dimension> &,
- const std::vector<bool>                  &,
+ const ComponentMask                  &,
  std::vector<bool>                        &,
  const std::set<types::boundary_id> &);
 
@@ -450,14 +470,14 @@ template
 void
 DoFTools::extract_dofs_with_support_on_boundary<DoFHandler<deal_II_dimension> >
 (const DoFHandler<deal_II_dimension> &,
- const std::vector<bool>                  &,
+ const ComponentMask                  &,
  std::vector<bool>                        &,
  const std::set<types::boundary_id> &);
 template
 void
 DoFTools::extract_dofs_with_support_on_boundary<hp::DoFHandler<deal_II_dimension> >
 (const hp::DoFHandler<deal_II_dimension> &,
- const std::vector<bool>                  &,
+ const ComponentMask                  &,
  std::vector<bool>                        &,
  const std::set<types::boundary_id> &);
 
@@ -503,14 +523,14 @@ template
 void
 DoFTools::extract_constant_modes<DoFHandler<deal_II_dimension> >
 (const DoFHandler<deal_II_dimension> &dof_handler,
- const std::vector<bool> &selected_components,
+ const ComponentMask &selected_components,
  std::vector<std::vector<bool> > &constant_modes);
 
 template
 void
 DoFTools::extract_constant_modes<hp::DoFHandler<deal_II_dimension> >
 (const hp::DoFHandler<deal_II_dimension> &dof_handler,
- const std::vector<bool> &selected_components,
+ const ComponentMask &selected_components,
  std::vector<std::vector<bool> > &constant_modes);
 
 template
@@ -576,7 +596,7 @@ template
 void
 DoFTools::extract_boundary_dofs<DoFHandler<deal_II_dimension,deal_II_dimension+1> >
   (const DoFHandler<deal_II_dimension,deal_II_dimension+1> &,
-   const std::vector<bool>                  &,
+   const ComponentMask                  &,
    std::vector<bool>                        &,
    const std::set<types::boundary_id> &);
 template
@@ -632,7 +652,7 @@ template
 void
 DoFTools::extract_boundary_dofs<DoFHandler<1,3> >
   (const DoFHandler<1,3> &,
-   const std::vector<bool>                  &,
+   const ComponentMask                  &,
    std::vector<bool>                        &,
    const std::set<types::boundary_id> &);
 
@@ -731,8 +751,18 @@ DoFTools::count_dofs_per_component<hp::DoFHandler<deal_II_dimension, deal_II_dim
 template
 void
 DoFTools::extract_level_dofs<deal_II_dimension, deal_II_dimension+1>
-(const unsigned int level, const MGDoFHandler<deal_II_dimension, deal_II_dimension+1>&,
- const std::vector<bool>&, std::vector<bool>&, bool);
+(const unsigned int level,
+ const MGDoFHandler<deal_II_dimension, deal_II_dimension+1>&,
+ const ComponentMask&,
+ std::vector<bool>&);
+
+template
+void
+DoFTools::extract_level_dofs<deal_II_dimension, deal_II_dimension+1>
+(const unsigned int level,
+ const MGDoFHandler<deal_II_dimension, deal_II_dimension+1>&,
+ const BlockMask&,
+ std::vector<bool>&);
 
 #endif
 
@@ -753,8 +783,18 @@ DoFTools::count_dofs_per_component<hp::DoFHandler<1,3> > (
 template
 void
 DoFTools::extract_level_dofs<1,3>
-(const unsigned int level, const MGDoFHandler<1,3>&,
- const std::vector<bool>&, std::vector<bool>&, bool);
+(const unsigned int level,
+ const MGDoFHandler<1,3>&,
+ const ComponentMask &,
+ std::vector<bool>&);
+
+template
+void
+DoFTools::extract_level_dofs<1,3>
+(const unsigned int level,
+ const MGDoFHandler<1,3>&,
+ const BlockMask &,
+ std::vector<bool>&);
 
 #endif
 
@@ -968,14 +1008,14 @@ void
 DoFTools::make_zero_boundary_constraints
 (const DoFHandler<deal_II_dimension> &,
  ConstraintMatrix                    &,
- const std::vector<bool>             &);
+ const ComponentMask             &);
 
 template
 void
 DoFTools::make_zero_boundary_constraints
 (const hp::DoFHandler<deal_II_dimension> &,
  ConstraintMatrix                        &,
- const std::vector<bool>                 &);
+ const ComponentMask                 &);
 
 #if deal_II_dimension < 3
 
diff --git a/deal.II/source/fe/block_mask.cc b/deal.II/source/fe/block_mask.cc
new file mode 100644 (file)
index 0000000..571120f
--- /dev/null
@@ -0,0 +1,50 @@
+//---------------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+
+#include <deal.II/fe/block_mask.h>
+
+#include <iostream>
+
+
+DEAL_II_NAMESPACE_OPEN
+
+std::ostream & operator << (std::ostream &out,
+                            const BlockMask &mask)
+{
+  if (mask.block_mask.size() == 0)
+    out << "[all blocks selected]";
+  else
+    {
+      out << '[';
+      for (unsigned int i=0; i<mask.block_mask.size(); ++i)
+        {
+          out << (mask.block_mask[i] ? "true" : "false");
+          if (i != mask.block_mask.size()-1)
+            out << ',';
+        }
+      out << ']';
+    }
+
+  return out;
+}
+
+
+
+std::size_t
+BlockMask::memory_consumption () const
+{
+  return sizeof(*this) + MemoryConsumption::memory_consumption (block_mask);
+}
+
+
+DEAL_II_NAMESPACE_CLOSE
diff --git a/deal.II/source/fe/component_mask.cc b/deal.II/source/fe/component_mask.cc
new file mode 100644 (file)
index 0000000..0cc0bc9
--- /dev/null
@@ -0,0 +1,50 @@
+//---------------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+
+#include <deal.II/fe/component_mask.h>
+
+#include <iostream>
+
+
+DEAL_II_NAMESPACE_OPEN
+
+std::ostream & operator << (std::ostream &out,
+                            const ComponentMask &mask)
+{
+  if (mask.component_mask.size() == 0)
+    out << "[all components selected]";
+  else
+    {
+      out << '[';
+      for (unsigned int i=0; i<mask.component_mask.size(); ++i)
+        {
+          out << (mask.component_mask[i] ? "true" : "false");
+          if (i != mask.component_mask.size()-1)
+            out << ',';
+        }
+      out << ']';
+    }
+
+  return out;
+}
+
+
+
+std::size_t
+ComponentMask::memory_consumption () const
+{
+  return sizeof(*this) + MemoryConsumption::memory_consumption (component_mask);
+}
+
+
+DEAL_II_NAMESPACE_CLOSE
index 847884cc7e9668b9059f4db3a739417f9dc35b1e..335ee78763810459a2ec2b309d817fc3831c33ec 100644 (file)
@@ -110,7 +110,7 @@ template <int dim, int spacedim>
 FiniteElement<dim,spacedim>::FiniteElement (
   const FiniteElementData<dim> &fe_data,
   const std::vector<bool> &r_i_a_f,
-  const std::vector<std::vector<bool> > &nonzero_c)
+  const std::vector<ComponentMask> &nonzero_c)
                 :
                 FiniteElementData<dim> (fe_data),
                 adjust_quad_dof_index_for_face_orientation_table (dim == 3 ?
@@ -145,8 +145,8 @@ FiniteElement<dim,spacedim>::FiniteElement (
 
    if (nonzero_components.size() == 1 && ndofs > 1)
      {
-       std::vector<std::vector<bool> >& aux
-         = const_cast<std::vector<std::vector<bool> >&> (nonzero_components);
+       std::vector<ComponentMask>& aux
+         = const_cast<std::vector<ComponentMask>&> (nonzero_components);
        aux.resize(ndofs, nonzero_components[0]);
      }
 
@@ -171,9 +171,7 @@ FiniteElement<dim,spacedim>::FiniteElement (
     {
       Assert (nonzero_components[i].size() == this->n_components(),
               ExcInternalError());
-      Assert (std::count (nonzero_components[i].begin(),
-                          nonzero_components[i].end(),
-                          true)
+      Assert (nonzero_components[i].n_selected_components ()
               >= 1,
               ExcInternalError());
       Assert (n_nonzero_components_table[i] >= 1,
@@ -384,6 +382,174 @@ FiniteElement<dim,spacedim>::component_to_block_index (const unsigned int index)
 }
 
 
+template <int dim, int spacedim>
+ComponentMask
+FiniteElement<dim,spacedim>::
+component_mask (const FEValuesExtractors::Scalar &scalar) const
+{
+  AssertIndexRange(scalar.component, this->n_components());
+
+//TODO: it would be nice to verify that it is indeed possible
+// to select this scalar component, i.e., that it is not part
+// of a non-primitive element. unfortunately, there is no simple
+// way to write such a condition...
+
+  std::vector<bool> mask (this->n_components(), false);
+  mask[scalar.component] = true;
+  return mask;
+}
+
+
+template <int dim, int spacedim>
+ComponentMask
+FiniteElement<dim,spacedim>::
+component_mask (const FEValuesExtractors::Vector &vector) const
+{
+  AssertIndexRange(vector.first_vector_component+dim-1, this->n_components());
+
+  //TODO: it would be nice to verify that it is indeed possible
+  // to select these vector components, i.e., that they don't span
+  // beyond the beginning or end of anon-primitive element.
+  // unfortunately, there is no simple way to write such a condition...
+
+  std::vector<bool> mask (this->n_components(), false);
+  for (unsigned int c=vector.first_vector_component; c<vector.first_vector_component+dim; ++c)
+    mask[c] = true;
+  return mask;
+}
+
+
+template <int dim, int spacedim>
+ComponentMask
+FiniteElement<dim,spacedim>::
+component_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const
+{
+  AssertIndexRange((sym_tensor.first_tensor_component +
+                    SymmetricTensor<2,dim>::n_independent_components-1),
+                   this->n_components());
+
+  //TODO: it would be nice to verify that it is indeed possible
+  // to select these vector components, i.e., that they don't span
+  // beyond the beginning or end of anon-primitive element.
+  // unfortunately, there is no simple way to write such a condition...
+
+  std::vector<bool> mask (this->n_components(), false);
+  for (unsigned int c=sym_tensor.first_tensor_component;
+       c<sym_tensor.first_tensor_component+SymmetricTensor<2,dim>::n_independent_components; ++c)
+    mask[c] = true;
+  return mask;
+}
+
+
+
+template <int dim, int spacedim>
+ComponentMask
+FiniteElement<dim,spacedim>::
+component_mask (const BlockMask &block_mask) const
+{
+  // if we get a block mask that represents all blocks, then
+  // do the same for the returned component mask
+  if (block_mask.represents_the_all_selected_mask())
+    return ComponentMask();
+
+  AssertDimension(block_mask.size(), this->n_blocks());
+
+  std::vector<bool> component_mask (this->n_components(), false);
+  for (unsigned int c=0; c<this->n_components(); ++c)
+    if (block_mask[component_to_block_index(c)] == true)
+      component_mask[c] = true;
+
+  return component_mask;
+}
+
+
+
+template <int dim, int spacedim>
+BlockMask
+FiniteElement<dim,spacedim>::
+block_mask (const FEValuesExtractors::Scalar &scalar) const
+{
+  // simply create the corresponding component mask (a simpler
+  // process) and then convert it to a block mask
+  return block_mask(component_mask(scalar));
+}
+
+
+template <int dim, int spacedim>
+BlockMask
+FiniteElement<dim,spacedim>::
+block_mask (const FEValuesExtractors::Vector &vector) const
+{
+  // simply create the corresponding component mask (a simpler
+  // process) and then convert it to a block mask
+  return block_mask(component_mask(vector));
+}
+
+
+template <int dim, int spacedim>
+BlockMask
+FiniteElement<dim,spacedim>::
+block_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const
+{
+  // simply create the corresponding component mask (a simpler
+  // process) and then convert it to a block mask
+  return block_mask(component_mask(sym_tensor));
+}
+
+
+
+template <int dim, int spacedim>
+BlockMask
+FiniteElement<dim,spacedim>::
+block_mask (const ComponentMask &component_mask) const
+{
+  // if we get a component mask that represents all component, then
+  // do the same for the returned block mask
+  if (component_mask.represents_the_all_selected_mask())
+    return BlockMask();
+
+  AssertDimension(component_mask.size(), this->n_components());
+
+                                  // walk over all of the components
+                                  // of this finite element and see
+                                  // if we need to set the
+                                  // corresponding block. inside the
+                                  // block, walk over all the
+                                  // components that correspond to
+                                  // this block and make sure the
+                                  // component mask is set for all of
+                                  // them
+  std::vector<bool> block_mask (this->n_blocks(), false);
+  for (unsigned int c=0; c<this->n_components();)
+    {
+      const unsigned int block = component_to_block_index(c);
+      if (component_mask[c] == true)
+       block_mask[block] = true;
+
+                                      // now check all of the other
+                                      // components that correspond
+                                      // to this block
+      ++c;
+      while ((c<this->n_components())
+            &&
+            (component_to_block_index(c) == block))
+       {
+         Assert (component_mask[c] == block_mask[block],
+                 ExcMessage ("The component mask argument given to this function "
+                             "is not a mask where the individual components belonging "
+                             "to one block of the finite element are either all "
+                             "selected or not selected. You can't call this function "
+                             "with a component mask that splits blocks."));
+         ++c;
+       }
+    }
+
+
+  return block_mask;
+}
+
+
+
 template <int dim, int spacedim>
 unsigned int
 FiniteElement<dim,spacedim>::adjust_quad_dof_index_for_face_orientation (const unsigned int index,
@@ -1120,13 +1286,11 @@ FiniteElement<dim,spacedim>::compute_2nd (
 template <int dim, int spacedim>
 std::vector<unsigned int>
 FiniteElement<dim,spacedim>::compute_n_nonzero_components (
-  const std::vector<std::vector<bool> > &nonzero_components)
+  const std::vector<ComponentMask> &nonzero_components)
 {
   std::vector<unsigned int> retval (nonzero_components.size());
   for (unsigned int i=0; i<nonzero_components.size(); ++i)
-    retval[i] = std::count (nonzero_components[i].begin(),
-                            nonzero_components[i].end(),
-                            true);
+    retval[i] = nonzero_components[i].n_selected_components();
   return retval;
 }
 
index 1d20185a11ccfa5338f7575d445ddb8134f5b29c..8c92e4aedb296797c177d865ba8189dfff1807c2 100644 (file)
@@ -44,8 +44,8 @@ FE_ABF<dim>::FE_ABF (const unsigned int deg)
                   FiniteElementData<dim>(get_dpo_vector(deg),
                                          dim, deg+1, FiniteElementData<dim>::Hdiv, 1),
                   std::vector<bool>(PolynomialsABF<dim>::compute_n_pols(deg), true),
-                  std::vector<std::vector<bool> >(PolynomialsABF<dim>::compute_n_pols(deg),
-                                                  std::vector<bool>(dim,true))),
+                  std::vector<ComponentMask>(PolynomialsABF<dim>::compute_n_pols(deg),
+                                             std::vector<bool>(dim,true))),
                 rt_order(deg)
 {
   Assert (dim >= 2, ExcImpossibleInDim(dim));
index 8fc6db563913db1fc92b84f9256fbde666437d44..c6bc694fa901b86671a538341ed6da966b885671 100644 (file)
@@ -38,8 +38,8 @@ FE_BDM<dim>::FE_BDM (const unsigned int deg)
                   FiniteElementData<dim>(get_dpo_vector(deg),
                                          dim, deg+1, FiniteElementData<dim>::Hdiv, 1),
                   get_ria_vector (deg),
-                  std::vector<std::vector<bool> >(PolynomialsBDM<dim>::compute_n_pols(deg),
-                                                  std::vector<bool>(dim,true)))
+                  std::vector<ComponentMask>(PolynomialsBDM<dim>::compute_n_pols(deg),
+                                             std::vector<bool>(dim,true)))
 {
   Assert (dim >= 2, ExcImpossibleInDim(dim));
   Assert (dim<3, ExcNotImplemented());
index f2f1201d7c3b5dcb43aaf97be3a045918af6c484..c51173685f9d3f4707d57d3e798274c29f25b446 100644 (file)
@@ -25,7 +25,7 @@ FE_DGP<dim,spacedim>::FE_DGP (const unsigned int degree)
                   PolynomialSpace<dim>(Polynomials::Legendre::generate_complete_basis(degree)),
                   FiniteElementData<dim>(get_dpo_vector(degree), 1, degree, FiniteElementData<dim>::L2),
                   std::vector<bool>(FiniteElementData<dim>(get_dpo_vector(degree), 1, degree).dofs_per_cell,true),
-                  std::vector<std::vector<bool> >(FiniteElementData<dim>(
+                  std::vector<ComponentMask>(FiniteElementData<dim>(
                     get_dpo_vector(degree), 1, degree).dofs_per_cell, std::vector<bool>(1,true)))
 {
                                    // Reinit the vectors of
index 1adc333ca03a9e2d6ff6a28b7b6533a70a810c58..e632a0a53099c2f9de45ab5be829051de34499e3 100644 (file)
@@ -110,7 +110,7 @@ FE_DGPMonomial<dim>::FE_DGPMonomial (const unsigned int degree)
                   PolynomialsP<dim>(degree),
                   FiniteElementData<dim>(get_dpo_vector(degree), 1, degree, FiniteElementData<dim>::L2),
                   std::vector<bool>(FiniteElementData<dim>(get_dpo_vector(degree), 1, degree).dofs_per_cell,true),
-                  std::vector<std::vector<bool> >(FiniteElementData<dim>(
+                  std::vector<ComponentMask>(FiniteElementData<dim>(
                     get_dpo_vector(degree), 1, degree).dofs_per_cell, std::vector<bool>(1,true)))
 {
   Assert(this->poly_space.n()==this->dofs_per_cell, ExcInternalError());
index 850c57e586b1cf6eaf12be93318953a5250ba25a..a82a329742165d3ab651ed0721840d8420f8780b 100644 (file)
@@ -32,7 +32,7 @@ FE_DGPNonparametric<dim,spacedim>::FE_DGPNonparametric (const unsigned int degre
                                          FiniteElementData<dim>::L2),
                   std::vector<bool>(
                     FiniteElementData<dim>(get_dpo_vector(degree), 1, degree).dofs_per_cell,true),
-                                    std::vector<std::vector<bool> >(
+                                    std::vector<ComponentMask>(
                                       FiniteElementData<dim>(get_dpo_vector(degree),1, degree).dofs_per_cell,
                                       std::vector<bool>(1,true))),
                 degree(degree),
index 48c79431a311ce6fc58acf49373a0491d969457e..25812999944b396119ab18fe6f2786634b8ea909 100644 (file)
@@ -135,7 +135,7 @@ FE_DGQ<dim, spacedim>::FE_DGQ (const unsigned int degree)
                   TensorProductPolynomials<dim>(Polynomials::LagrangeEquidistant::generate_complete_basis(degree)),
                   FiniteElementData<dim>(get_dpo_vector(degree), 1, degree, FiniteElementData<dim>::L2),
                   std::vector<bool>(FiniteElementData<dim>(get_dpo_vector(degree),1, degree).dofs_per_cell, true),
-                  std::vector<std::vector<bool> >(FiniteElementData<dim>(
+                  std::vector<ComponentMask>(FiniteElementData<dim>(
                     get_dpo_vector(degree),1, degree).dofs_per_cell, std::vector<bool>(1,true)))
 {
                                    // Reinit the vectors of
@@ -219,7 +219,7 @@ FE_DGQ<dim, spacedim>::FE_DGQ (const Quadrature<1>& points)
                   TensorProductPolynomials<dim>(Polynomials::generate_complete_Lagrange_basis(points.get_points())),
                   FiniteElementData<dim>(get_dpo_vector(points.size()-1), 1, points.size()-1, FiniteElementData<dim>::L2),
                   std::vector<bool>(FiniteElementData<dim>(get_dpo_vector(points.size()-1),1, points.size()-1).dofs_per_cell, true),
-                  std::vector<std::vector<bool> >(FiniteElementData<dim>(
+                  std::vector<ComponentMask>(FiniteElementData<dim>(
                     get_dpo_vector(points.size()-1),1, points.size()-1).dofs_per_cell, std::vector<bool>(1,true)))
 {
                                    // Reinit the vectors of
index d54dc15eaabecedacea01595addc090ebcc3851d..d195623ddb28ffc81847fe1801fa395b357d735c 100644 (file)
@@ -33,7 +33,7 @@ FE_PolyTensor<PolynomialsNedelec<dim>, dim>
  FiniteElementData<dim> (get_dpo_vector (p), dim, p + 1,
                          FiniteElementData<dim>::Hcurl, 1),
  std::vector<bool> (PolynomialsNedelec<dim>::compute_n_pols (p), true),
- std::vector<std::vector<bool> >
+ std::vector<ComponentMask>
  (PolynomialsNedelec<dim>::compute_n_pols (p),
   std::vector<bool> (dim, true)))
 {
index 8560468828733fdba627cbf4b8a4ac8d56a2e062..f0f435f2973fb5a0518112e4532b7571d0de06b5 100644 (file)
@@ -32,7 +32,7 @@ FE_Nothing<dim>::FE_Nothing (const unsigned int n_components)
                                         n_components, 0,
                                         FiniteElementData<dim>::unknown),
                  std::vector<bool>(),
-                 std::vector<std::vector<bool> >() )
+                 std::vector<ComponentMask>() )
 {
 // in most other elements we have to set up all sorts of stuff
 // here. there isn't much that we have to do here; in particular,
index ab42ebeefc6da7e1ef09acccf9bff9b9a3432912..9e717442a3a945f62bd035ddcdb386dcae96567e 100644 (file)
@@ -98,7 +98,7 @@ template <class POLY, int dim, int spacedim>
 FE_PolyTensor<POLY,dim,spacedim>::FE_PolyTensor (const unsigned int degree,
                                         const FiniteElementData<dim> &fe_data,
                                         const std::vector<bool> &restriction_is_additive_flags,
-                                        const std::vector<std::vector<bool> > &nonzero_components)
+                                        const std::vector<ComponentMask> &nonzero_components)
                 :
                 FiniteElement<dim,spacedim> (fe_data,
                                     restriction_is_additive_flags,
@@ -395,7 +395,8 @@ FE_PolyTensor<POLY,dim,spacedim>::fill_fe_values (
 
   for (unsigned int i=0; i<this->dofs_per_cell; ++i)
     {
-      const unsigned int first = data.shape_function_to_row_table[i];
+      const unsigned int first = data.shape_function_to_row_table[i * this->n_components() +
+                                                                               this->get_nonzero_components(i).first_selected_component()];
 
       if (flags & update_values && cell_similarity != CellSimilarity::translation)
         switch (mapping_type)
@@ -593,7 +594,8 @@ FE_PolyTensor<POLY,dim,spacedim>::fill_fe_face_values (
 
   for (unsigned int i=0; i<this->dofs_per_cell; ++i)
     {
-      const unsigned int first = data.shape_function_to_row_table[i];
+      const unsigned int first = data.shape_function_to_row_table[i * this->n_components() +
+                                                                               this->get_nonzero_components(i).first_selected_component()];
 
       if (flags & update_values)
         {
@@ -795,7 +797,8 @@ FE_PolyTensor<POLY,dim,spacedim>::fill_fe_subface_values (
 
   for (unsigned int i=0; i<this->dofs_per_cell; ++i)
     {
-      const unsigned int first = data.shape_function_to_row_table[i];
+      const unsigned int first = data.shape_function_to_row_table[i * this->n_components() +
+                                                                               this->get_nonzero_components(i).first_selected_component()];
 
       if (flags & update_values)
         {
index e1ee4ce1b5861825084e1c1fd2cf6fc685ee55fc..9c4270521ed8e52486198a62834f703260ebaf29 100644 (file)
@@ -530,7 +530,7 @@ FE_Q<dim,spacedim>::FE_Q (const unsigned int degree)
                                          1, degree,
                                          FiniteElementData<dim>::H1),
                   std::vector<bool> (1, false),
-                  std::vector<std::vector<bool> >(1, std::vector<bool>(1,true))),
+                  std::vector<ComponentMask>(1, std::vector<bool>(1,true))),
                 face_index_map(FE_Q_Helper::invert_numbering(face_lexicographic_to_hierarchic_numbering (degree)))
 {
   Assert (degree > 0,
@@ -570,7 +570,7 @@ FE_Q<dim,spacedim>::FE_Q (const Quadrature<1> &points)
                                          1, points.size()-1,
                                          FiniteElementData<dim>::H1),
                   std::vector<bool> (1, false),
-                  std::vector<std::vector<bool> >(1, std::vector<bool>(1,true))),
+                  std::vector<ComponentMask>(1, std::vector<bool>(1,true))),
                 face_index_map(FE_Q_Helper::invert_numbering(face_lexicographic_to_hierarchic_numbering (points.size()-1)))
 {
   const int degree = points.size()-1;
index 9aea5fc9b2828a00ab2b99a1f150cb49364db35d..674a169849195cd9e7a8651d0a9165294be4b324 100644 (file)
@@ -48,7 +48,7 @@ FE_Q_Hierarchical<dim>::FE_Q_Hierarchical (const unsigned int degree)
                                          FiniteElementData<dim>::H1),
                   std::vector<bool> (FiniteElementData<dim>(
                                        get_dpo_vector(degree),1, degree).dofs_per_cell, false),
-                  std::vector<std::vector<bool> >(FiniteElementData<dim>(
+                  std::vector<ComponentMask>(FiniteElementData<dim>(
                                                     get_dpo_vector(degree),1, degree).dofs_per_cell, std::vector<bool>(1,true))),
                 face_renumber(face_fe_q_hierarchical_to_hierarchic_numbering (degree))
 {
index 8e60ee549b7a11412f9488067ce3c6df0ee2bb97..b302b023f9a269e909e0376d0344ab6c4431b8a5 100644 (file)
@@ -44,8 +44,8 @@ FE_RaviartThomas<dim>::FE_RaviartThomas (const unsigned int deg)
                   FiniteElementData<dim>(get_dpo_vector(deg),
                                          dim, deg+1, FiniteElementData<dim>::Hdiv, 1),
                   std::vector<bool>(PolynomialsRaviartThomas<dim>::compute_n_pols(deg), true),
-                  std::vector<std::vector<bool> >(PolynomialsRaviartThomas<dim>::compute_n_pols(deg),
-                                                  std::vector<bool>(dim,true)))
+                  std::vector<ComponentMask>(PolynomialsRaviartThomas<dim>::compute_n_pols(deg),
+                                             std::vector<bool>(dim,true)))
 {
   Assert (dim >= 2, ExcImpossibleInDim(dim));
   const unsigned int n_dofs = this->dofs_per_cell;
index 4ac7cdc42751c6c7d1196b8ecce4200240dedffd..cbe30c534982b3b38a8a3cd5154359fb16714a58 100644 (file)
@@ -37,8 +37,8 @@ FE_RaviartThomasNodal<dim>::FE_RaviartThomasNodal (const unsigned int deg)
                   FiniteElementData<dim>(get_dpo_vector(deg),
                                          dim, deg+1, FiniteElementData<dim>::Hdiv, 1),
                   get_ria_vector (deg),
-                  std::vector<std::vector<bool> >(PolynomialsRaviartThomas<dim>::compute_n_pols(deg),
-                                                  std::vector<bool>(dim,true)))
+                  std::vector<ComponentMask>(PolynomialsRaviartThomas<dim>::compute_n_pols(deg),
+                                             std::vector<bool>(dim,true)))
 {
   Assert (dim >= 2, ExcImpossibleInDim(dim));
   const unsigned int n_dofs = this->dofs_per_cell;
index 44ece19d54821ed6a44b786718954e2c95596880..1c024921bdd3d030db14b078c13c1c8c339a6512 100644 (file)
@@ -3119,7 +3119,7 @@ compute_restriction_is_additive_flags (const std::vector<const FiniteElement<dim
 
 
 template <int dim, int spacedim>
-std::vector<std::vector<bool> >
+std::vector<ComponentMask>
 FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                            const unsigned int        N1)
 {
@@ -3135,7 +3135,7 @@ FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spac
 
 
 template <int dim, int spacedim>
-std::vector<std::vector<bool> >
+std::vector<ComponentMask>
 FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                            const unsigned int        N1,
                                            const FiniteElement<dim,spacedim> &fe2,
@@ -3156,7 +3156,7 @@ FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spac
 
 
 template <int dim, int spacedim>
-std::vector<std::vector<bool> >
+std::vector<ComponentMask>
 FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                            const unsigned int        N1,
                                            const FiniteElement<dim,spacedim> &fe2,
@@ -3182,7 +3182,7 @@ FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spac
 
 
 template <int dim, int spacedim>
-std::vector<std::vector<bool> >
+std::vector<ComponentMask>
 FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                                     const unsigned int        N1,
                                                     const FiniteElement<dim,spacedim> &fe2,
@@ -3213,7 +3213,7 @@ FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spac
 
 
 template <int dim, int spacedim>
-std::vector<std::vector<bool> >
+std::vector<ComponentMask>
 FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spacedim> &fe1,
                                                     const unsigned int        N1,
                                                     const FiniteElement<dim,spacedim> &fe2,
@@ -3249,7 +3249,7 @@ FESystem<dim,spacedim>::compute_nonzero_components (const FiniteElement<dim,spac
 
 
 template <int dim, int spacedim>
-std::vector<std::vector<bool> >
+std::vector<ComponentMask>
 FESystem<dim,spacedim>::
 compute_nonzero_components (const std::vector<const FiniteElement<dim,spacedim>*> &fes,
                             const std::vector<unsigned int>              &multiplicities)
@@ -3425,7 +3425,14 @@ compute_nonzero_components (const std::vector<const FiniteElement<dim,spacedim>*
 
   Assert (total_index == n_shape_functions, ExcInternalError());
 
-  return retval;
+  // now copy the vector<vector<bool> > into a vector<ComponentMask>.
+  // this appears complicated but we do it this way since it's just
+  // awkward to generate ComponentMasks directly and so we need the
+  // recourse of the inner vector<bool> anyway.
+  std::vector<ComponentMask> xretval (retval.size());
+  for (unsigned int i=0; i<retval.size(); ++i)
+    xretval[i] = ComponentMask(retval[i]);
+  return xretval;
 }
 
 
index 36e75525795988b3d5f3fbff3a1bebc0c8cad16e..b5ba7e2521de92a7b917b0bf52f86fd2e77a1c61 100644 (file)
@@ -77,11 +77,22 @@ namespace
   std::vector<unsigned int>
   make_shape_function_to_row_table (const FiniteElement<dim,spacedim> &fe)
   {
-    std::vector<unsigned int> shape_function_to_row_table (fe.dofs_per_cell);
+    std::vector<unsigned int> shape_function_to_row_table (fe.dofs_per_cell * fe.n_components(),
+                                                           numbers::invalid_unsigned_int);
     unsigned int row = 0;
     for (unsigned int i=0; i<fe.dofs_per_cell; ++i)
       {
-        shape_function_to_row_table[i] = row;
+        // loop over all components that are nonzero for this particular
+        // shape function. if a component is zero then we leave the
+        // value in the table unchanged (at the invalid value)
+        // otherwise it is mapped to the next free entry
+        unsigned int nth_nonzero_component = 0;
+        for (unsigned int c=0; c<fe.n_components(); ++c)
+          if (fe.get_nonzero_components(i)[c] == true)
+            {
+              shape_function_to_row_table[i*fe.n_components()+c] = row + nth_nonzero_component;
+              ++nth_nonzero_component;
+            }
         row += fe.n_nonzero_components (i);
       }
 
@@ -104,8 +115,11 @@ namespace FEValuesViews
     Assert (component < fe_values.fe->n_components(),
             ExcIndexRange(component, 0, fe_values.fe->n_components()));
 
+//TODO: we'd like to use the fields with the same name as these
+// variables from FEValuesData, but they aren't initialized yet
+// at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
-      = make_shape_function_to_row_table (*fe_values.fe);
+    = make_shape_function_to_row_table (*fe_values.fe);
 
     for (unsigned int i=0; i<fe_values.fe->dofs_per_cell; ++i)
       {
@@ -122,18 +136,8 @@ namespace FEValuesViews
                == true);
 
         if (shape_function_data[i].is_nonzero_shape_function_component == true)
-          {
-            if (is_primitive == true)
-              shape_function_data[i].row_index = shape_function_to_row_table[i];
-            else
-              shape_function_data[i].row_index
-                = (shape_function_to_row_table[i]
-                   +
-                   std::count (fe_values.fe->get_nonzero_components(i).begin(),
-                               fe_values.fe->get_nonzero_components(i).begin()+
-                               component,
-                               true));
-          }
+         shape_function_data[i].row_index
+           = shape_function_to_row_table[i*fe_values.fe->n_components()+component];
         else
           shape_function_data[i].row_index = numbers::invalid_unsigned_int;
       }
@@ -172,8 +176,11 @@ namespace FEValuesViews
             ExcIndexRange(first_vector_component+spacedim-1, 0,
                           fe_values.fe->n_components()));
 
+//TODO: we'd like to use the fields with the same name as these
+// variables from FEValuesData, but they aren't initialized yet
+// at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
-      = make_shape_function_to_row_table (*fe_values.fe);
+    = make_shape_function_to_row_table (*fe_values.fe);
 
     for (unsigned int d=0; d<spacedim; ++d)
       {
@@ -195,19 +202,8 @@ namespace FEValuesViews
 
             if (shape_function_data[i].is_nonzero_shape_function_component[d]
                 == true)
-              {
-                if (is_primitive == true)
-                  shape_function_data[i].row_index[d]
-                    = shape_function_to_row_table[i];
-                else
-                  shape_function_data[i].row_index[d]
-                    = (shape_function_to_row_table[i]
-                       +
-                       std::count (fe_values.fe->get_nonzero_components(i).begin(),
-                                   fe_values.fe->get_nonzero_components(i).begin()+
-                                   component,
-                                   true));
-              }
+             shape_function_data[i].row_index[d]
+               = shape_function_to_row_table[i*fe_values.fe->n_components()+component];
             else
               shape_function_data[i].row_index[d]
                 = numbers::invalid_unsigned_int;
@@ -278,9 +274,11 @@ namespace FEValuesViews
                          dealii::SymmetricTensor<2,dim>::n_independent_components - 1,
                          0,
                          fe_values.fe->n_components()));
-
+//TODO: we'd like to use the fields with the same name as these
+// variables from FEValuesData, but they aren't initialized yet
+// at the time we get here, so re-create it all
     const std::vector<unsigned int> shape_function_to_row_table
-      = make_shape_function_to_row_table(*fe_values.fe);
+    = make_shape_function_to_row_table (*fe_values.fe);
 
     for (unsigned int d = 0; d < dealii::SymmetricTensor<2,dim>::n_independent_components; ++d)
       {
@@ -302,19 +300,8 @@ namespace FEValuesViews
 
             if (shape_function_data[i].is_nonzero_shape_function_component[d]
                 == true)
-              {
-                if (is_primitive == true)
-                  shape_function_data[i].row_index[d]
-                    = shape_function_to_row_table[i];
-                else
-                  shape_function_data[i].row_index[d]
-                    = (shape_function_to_row_table[i]
-                       +
-                       std::count(fe_values.fe->get_nonzero_components(i).begin(),
-                                  fe_values.fe->get_nonzero_components(i).begin() +
-                                  component,
-                                  true));
-              }
+             shape_function_data[i].row_index[d]
+               = shape_function_to_row_table[i*fe_values.fe->n_components()+component];
             else
               shape_function_data[i].row_index[d]
                 = numbers::invalid_unsigned_int;
@@ -1717,9 +1704,9 @@ FEValuesData<dim,spacedim>::initialize (const unsigned int        n_quadrature_p
 
                                    // initialize the table mapping
                                    // from shape function number to
-                                   // the rows in the tables denoting
-                                   // its first non-zero
-                                   // component
+                                   // the rows in the tables storing
+                                   // the data by shape function and
+                                   // nonzero component
   this->shape_function_to_row_table
     = make_shape_function_to_row_table (fe);
 
@@ -2014,24 +2001,11 @@ void FEValuesBase<dim,spacedim>::get_function_values (
 
       if (fe->is_primitive(shape_func))
         {
-                                           // compared to the scalar
-                                           // functions, finding the correct
-                                           // index in the shape_value table
-                                           // is more involved, since we have
-                                           // to find the row in shape_values
-                                           // that corresponds to the present
-                                           // shape_func. this is done
-                                           // manually in the same way as in
-                                           // shape_value_component() (that
-                                           // function can't be used because
-                                           // it doesn't return us a pointer
-                                           // to the data).
+          const unsigned int comp = fe->system_to_component_index(shape_func).first;
           const unsigned int
-            row = fe->is_primitive() ?
-            shape_func : this->shape_function_to_row_table[shape_func];
+            row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
 
           const double *shape_value_ptr = &this->shape_values(row, 0);
-          const unsigned int comp = fe->system_to_component_index(shape_func).first;
           for (unsigned int point=0; point<n_quadrature_points; ++point)
             values[point](comp) += value * *shape_value_ptr++;
         }
@@ -2044,11 +2018,7 @@ void FEValuesBase<dim,spacedim>::get_function_values (
               continue;
 
             const unsigned int
-              row = (this->shape_function_to_row_table[shape_func]
-                     +
-                     std::count (fe->get_nonzero_components(shape_func).begin(),
-                                 fe->get_nonzero_components(shape_func).begin()+c,
-                                 true));
+              row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
             const double *shape_value_ptr = &this->shape_values(row, 0);
 
@@ -2118,13 +2088,12 @@ void FEValuesBase<dim,spacedim>::get_function_values (
 
         if (fe->is_primitive(shape_func))
           {
-            const unsigned int
-              row = fe->is_primitive() ?
-              shape_func : this->shape_function_to_row_table[shape_func];
-
-            const double *shape_value_ptr = &this->shape_values(row, 0);
             const unsigned int comp = fe->system_to_component_index(shape_func).first
                                       + mc * n_components;
+           const unsigned int
+             row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
+
+            const double *shape_value_ptr = &this->shape_values(row, 0);
             for (unsigned int point=0; point<n_quadrature_points; ++point)
               values[point](comp) += value * *shape_value_ptr++;
           }
@@ -2135,11 +2104,7 @@ void FEValuesBase<dim,spacedim>::get_function_values (
                 continue;
 
               const unsigned int
-                row = (this->shape_function_to_row_table[shape_func]
-                       +
-                       std::count (fe->get_nonzero_components(shape_func).begin(),
-                                   fe->get_nonzero_components(shape_func).begin()+c,
-                                   true));
+                row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
               const double *shape_value_ptr = &this->shape_values(row, 0);
               const unsigned int comp = c + mc * n_components;
@@ -2222,13 +2187,12 @@ void FEValuesBase<dim,spacedim>::get_function_values (
 
         if (fe->is_primitive(shape_func))
           {
-            const unsigned int
-              row = fe->is_primitive() ?
-              shape_func : this->shape_function_to_row_table[shape_func];
-
-            const double *shape_value_ptr = &this->shape_values(row, 0);
             const unsigned int comp = fe->system_to_component_index(shape_func).first
                                       + mc * n_components;
+           const unsigned int
+             row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
+
+            const double *shape_value_ptr = &this->shape_values(row, 0);
 
             if (quadrature_points_fastest)
               for (unsigned int point=0; point<n_quadrature_points; ++point)
@@ -2244,11 +2208,7 @@ void FEValuesBase<dim,spacedim>::get_function_values (
                 continue;
 
               const unsigned int
-                row = (this->shape_function_to_row_table[shape_func]
-                       +
-                       std::count (fe->get_nonzero_components(shape_func).begin(),
-                                   fe->get_nonzero_components(shape_func).begin()+c,
-                                   true));
+              row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
               const double *shape_value_ptr = &this->shape_values(row, 0);
               const unsigned int comp = c + mc * n_components;
@@ -2435,12 +2395,12 @@ FEValuesBase<dim,spacedim>::get_function_gradients (
 
       if (fe->is_primitive(shape_func))
         {
-          const unsigned int
-            row = fe->is_primitive() ?
-            shape_func : this->shape_function_to_row_table[shape_func];
+          const unsigned int comp = fe->system_to_component_index(shape_func).first;
+         const unsigned int
+           row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
+
           const Tensor<1,spacedim> *shape_gradient_ptr
             = &this->shape_gradients[row][0];
-          const unsigned int comp = fe->system_to_component_index(shape_func).first;
           for (unsigned int point=0; point<n_quadrature_points; ++point)
             gradients[point][comp] += value * *shape_gradient_ptr++;
         }
@@ -2451,11 +2411,7 @@ FEValuesBase<dim,spacedim>::get_function_gradients (
               continue;
 
             const unsigned int
-              row = (this->shape_function_to_row_table[shape_func]
-                     +
-                     std::count (fe->get_nonzero_components(shape_func).begin(),
-                                 fe->get_nonzero_components(shape_func).begin()+c,
-                                 true));
+            row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
             const Tensor<1,spacedim> *shape_gradient_ptr
               = &this->shape_gradients[row][0];
@@ -2538,13 +2494,13 @@ void FEValuesBase<dim,spacedim>::get_function_gradients (
 
         if (fe->is_primitive(shape_func))
           {
-            const unsigned int
-              row = fe->is_primitive() ?
-              shape_func : this->shape_function_to_row_table[shape_func];
-            const Tensor<1,spacedim> *shape_gradient_ptr
-              = &this->shape_gradients[row][0];
             const unsigned int comp = fe->system_to_component_index(shape_func).first
                                       + mc * n_components;
+           const unsigned int
+             row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
+
+            const Tensor<1,spacedim> *shape_gradient_ptr
+              = &this->shape_gradients[row][0];
 
             if (quadrature_points_fastest)
               for (unsigned int point=0; point<n_quadrature_points; ++point)
@@ -2560,11 +2516,7 @@ void FEValuesBase<dim,spacedim>::get_function_gradients (
                 continue;
 
               const unsigned int
-                row = (this->shape_function_to_row_table[shape_func]
-                       +
-                       std::count (fe->get_nonzero_components(shape_func).begin(),
-                                   fe->get_nonzero_components(shape_func).begin()+c,
-                                   true));
+              row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
               const Tensor<1,spacedim> *shape_gradient_ptr
                 = &this->shape_gradients[row][0];
@@ -2716,13 +2668,12 @@ get_function_hessians (const InputVector                         &fe_function,
 
       if (fe->is_primitive(shape_func))
         {
-          const unsigned int
-            row = fe->is_primitive() ?
-            shape_func : this->shape_function_to_row_table[shape_func];
+          const unsigned int comp = fe->system_to_component_index(shape_func).first;
+         const unsigned int
+           row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
 
           const Tensor<2,spacedim> *shape_hessian_ptr
             = &this->shape_hessians[row][0];
-          const unsigned int comp = fe->system_to_component_index(shape_func).first;
 
           if (quadrature_points_fastest)
             for (unsigned int point=0; point<n_quadrature_points; ++point)
@@ -2738,11 +2689,7 @@ get_function_hessians (const InputVector                         &fe_function,
               continue;
 
             const unsigned int
-              row = (this->shape_function_to_row_table[shape_func]
-                     +
-                     std::count (fe->get_nonzero_components(shape_func).begin(),
-                                 fe->get_nonzero_components(shape_func).begin()+c,
-                                 true));
+            row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
             const Tensor<2,spacedim> *shape_hessian_ptr
               = &this->shape_hessians[row][0];
@@ -2829,14 +2776,13 @@ void FEValuesBase<dim, spacedim>::get_function_hessians (
 
         if (fe->is_primitive(shape_func))
           {
-            const unsigned int
-              row = fe->is_primitive() ?
-              shape_func : this->shape_function_to_row_table[shape_func];
+            const unsigned int comp = fe->system_to_component_index(shape_func).first
+                                      + mc * n_components;
+           const unsigned int
+             row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
 
             const Tensor<2,spacedim> *shape_hessian_ptr
               = &this->shape_hessians[row][0];
-            const unsigned int comp = fe->system_to_component_index(shape_func).first
-                                      + mc * n_components;
 
             if (quadrature_points_fastest)
               for (unsigned int point=0; point<n_quadrature_points; ++point)
@@ -2852,11 +2798,7 @@ void FEValuesBase<dim, spacedim>::get_function_hessians (
                 continue;
 
               const unsigned int
-                row = (this->shape_function_to_row_table[shape_func]
-                       +
-                       std::count (fe->get_nonzero_components(shape_func).begin(),
-                                   fe->get_nonzero_components(shape_func).begin()+c,
-                                   true));
+              row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
               const Tensor<2,spacedim> *shape_hessian_ptr
                 = &this->shape_hessians[row][0];
@@ -3023,13 +2965,12 @@ void FEValuesBase<dim,spacedim>::get_function_laplacians (
 
       if (fe->is_primitive(shape_func))
         {
-          const unsigned int
-            row = fe->is_primitive() ?
-            shape_func : this->shape_function_to_row_table[shape_func];
+          const unsigned int comp = fe->system_to_component_index(shape_func).first;
+         const unsigned int
+           row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
 
           const Tensor<2,spacedim> *shape_hessian_ptr
             = &this->shape_hessians[row][0];
-          const unsigned int comp = fe->system_to_component_index(shape_func).first;
           for (unsigned int point=0; point<n_quadrature_points; ++point)
             laplacians[point](comp) += value * trace(*shape_hessian_ptr++);
         }
@@ -3040,11 +2981,7 @@ void FEValuesBase<dim,spacedim>::get_function_laplacians (
               continue;
 
             const unsigned int
-              row = (this->shape_function_to_row_table[shape_func]
-                     +
-                     std::count (fe->get_nonzero_components(shape_func).begin(),
-                                 fe->get_nonzero_components(shape_func).begin()+c,
-                                 true));
+            row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
             const Tensor<2,spacedim> *shape_hessian_ptr
               = &this->shape_hessians[row][0];
@@ -3115,14 +3052,13 @@ void FEValuesBase<dim,spacedim>::get_function_laplacians (
 
         if (fe->is_primitive(shape_func))
           {
-            const unsigned int
-              row = fe->is_primitive() ?
-              shape_func : this->shape_function_to_row_table[shape_func];
+            const unsigned int comp = fe->system_to_component_index(shape_func).first
+                                      + mc * n_components;
+           const unsigned int
+             row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
 
             const Tensor<2,spacedim> *shape_hessian_ptr
               = &this->shape_hessians[row][0];
-            const unsigned int comp = fe->system_to_component_index(shape_func).first
-                                      + mc * n_components;
             for (unsigned int point=0; point<n_quadrature_points; ++point)
               laplacians[point](comp) += value * trace(*shape_hessian_ptr++);
           }
@@ -3133,11 +3069,7 @@ void FEValuesBase<dim,spacedim>::get_function_laplacians (
                 continue;
 
               const unsigned int
-                row = (this->shape_function_to_row_table[shape_func]
-                       +
-                       std::count (fe->get_nonzero_components(shape_func).begin(),
-                                   fe->get_nonzero_components(shape_func).begin()+c,
-                                   true));
+              row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
               const Tensor<2,spacedim> *shape_hessian_ptr
                 = &this->shape_hessians[row][0];
@@ -3221,14 +3153,14 @@ void FEValuesBase<dim,spacedim>::get_function_laplacians (
 
         if (fe->is_primitive(shape_func))
           {
-            const unsigned int
-              row = fe->is_primitive() ?
-              shape_func : this->shape_function_to_row_table[shape_func];
+            const unsigned int comp = fe->system_to_component_index(shape_func).first
+                                      + mc * n_components;
+           const unsigned int
+             row = this->shape_function_to_row_table[shape_func * fe->n_components() + comp];
 
             const Tensor<2,spacedim> *shape_hessian_ptr
               = &this->shape_hessians[row][0];
-            const unsigned int comp = fe->system_to_component_index(shape_func).first
-                                      + mc * n_components;
+
             if (quadrature_points_fastest)
               for (unsigned int point=0; point<n_quadrature_points; ++point)
                 laplacians[comp][point] += value * trace(*shape_hessian_ptr++);
@@ -3243,11 +3175,7 @@ void FEValuesBase<dim,spacedim>::get_function_laplacians (
                 continue;
 
               const unsigned int
-                row = (this->shape_function_to_row_table[shape_func]
-                       +
-                       std::count (fe->get_nonzero_components(shape_func).begin(),
-                                   fe->get_nonzero_components(shape_func).begin()+c,
-                                   true));
+              row = this->shape_function_to_row_table[shape_func * fe->n_components() + c];
 
               const Tensor<2,spacedim> *shape_hessian_ptr
                 = &this->shape_hessians[row][0];
index cb6ed6399bb5291dccd8df32c9a55d69f0238d05..93e46417fb8f10b8accebdd41871c891073fc34b 100644 (file)
@@ -72,6 +72,181 @@ namespace hp
 
 
 
+  template <int dim, int spacedim>
+  ComponentMask
+  FECollection<dim,spacedim>::
+  component_mask (const FEValuesExtractors::Scalar &scalar) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const ComponentMask mask = (*this)[0].component_mask(scalar);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].component_mask(scalar),
+              ExcInternalError());
+
+    return mask;
+  }
+
+
+  template <int dim, int spacedim>
+  ComponentMask
+  FECollection<dim,spacedim>::
+  component_mask (const FEValuesExtractors::Vector &vector) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const ComponentMask mask = (*this)[0].component_mask(vector);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].component_mask(vector),
+              ExcInternalError());
+
+    return mask;
+  }
+
+
+  template <int dim, int spacedim>
+  ComponentMask
+  FECollection<dim,spacedim>::
+  component_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const ComponentMask mask = (*this)[0].component_mask(sym_tensor);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].component_mask(sym_tensor),
+              ExcInternalError());
+
+    return mask;
+  }
+
+
+  template <int dim, int spacedim>
+  ComponentMask
+  FECollection<dim,spacedim>::
+  component_mask (const BlockMask &block_mask) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const ComponentMask mask = (*this)[0].component_mask(block_mask);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].component_mask(block_mask),
+              ExcMessage ("Not all elements of this collection agree on what "
+                         "the appropriate mask should be."));
+
+    return mask;
+  }
+
+
+  template <int dim, int spacedim>
+  BlockMask
+  FECollection<dim,spacedim>::
+  block_mask (const FEValuesExtractors::Scalar &scalar) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const BlockMask mask = (*this)[0].block_mask(scalar);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].block_mask(scalar),
+              ExcMessage ("Not all elements of this collection agree on what "
+                         "the appropriate mask should be."));
+
+    return mask;
+  }
+
+
+  template <int dim, int spacedim>
+  BlockMask
+  FECollection<dim,spacedim>::
+  block_mask (const FEValuesExtractors::Vector &vector) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const BlockMask mask = (*this)[0].block_mask(vector);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].block_mask(vector),
+              ExcMessage ("Not all elements of this collection agree on what "
+                         "the appropriate mask should be."));
+
+    return mask;
+  }
+
+
+  template <int dim, int spacedim>
+  BlockMask
+  FECollection<dim,spacedim>::
+  block_mask (const FEValuesExtractors::SymmetricTensor<2> &sym_tensor) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const BlockMask mask = (*this)[0].block_mask(sym_tensor);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].block_mask(sym_tensor),
+              ExcMessage ("Not all elements of this collection agree on what "
+                         "the appropriate mask should be."));
+
+    return mask;
+  }
+
+
+
+  template <int dim, int spacedim>
+  BlockMask
+  FECollection<dim,spacedim>::
+  block_mask (const ComponentMask &component_mask) const
+  {
+    Assert (size() > 0,
+            ExcMessage ("This collection contains no finite element."));
+
+    // get the mask from the first element of the collection
+    const BlockMask mask = (*this)[0].block_mask(component_mask);
+
+    // but then also verify that the other elements of the collection
+    // would return the same mask
+    for (unsigned int c=1; c<size(); ++c)
+      Assert (mask == (*this)[c].block_mask(component_mask),
+              ExcMessage ("Not all elements of this collection agree on what "
+                         "the appropriate mask should be."));
+
+    return mask;
+  }
+
+
+
   template <int dim, int spacedim>
   unsigned int
   FECollection<dim,spacedim>::n_blocks () const
index 411b60a7e024012f628ae8e031e995659389affc..15d96c3c86e6e7ed781d24bf6a456991facf3a8b 100644 (file)
@@ -32,6 +32,7 @@
 #include <deal.II/base/mg_level_object.h>
 #include <deal.II/dofs/dof_tools.h>
 #include <deal.II/fe/fe.h>
+#include <deal.II/fe/component_mask.h>
 
 #include <vector>
 #include <algorithm>
@@ -981,23 +982,24 @@ namespace MGTools
             dofs_in_component (n_components,
                                std::vector<bool>(dof_handler.n_dofs(l),
                                                  false));
-          std::vector<std::vector<bool> >
-            component_select (n_components,
-                              std::vector<bool>(n_components, false));
+          std::vector<ComponentMask> component_select (n_components);
           Threads::TaskGroup<> tasks;
           for (unsigned int i=0; i<n_components; ++i)
             {
               void (*fun_ptr) (const unsigned int       level,
                                const MGDoFHandler<dim,spacedim>    &,
-                               const std::vector<bool>    &,
-                               std::vector<bool>          &,
-                               bool)
+                               const ComponentMask    &,
+                               std::vector<bool>          &)
                 = &DoFTools::template extract_level_dofs<dim>;
-              component_select[i][i] = true;
+
+             std::vector<bool> tmp(n_components, false);
+             tmp[i] = true;
+             component_select[i] = ComponentMask(tmp);
+
               tasks += Threads::new_task (fun_ptr,
                                           l, dof_handler,
                                           component_select[i],
-                                          dofs_in_component[i], false);
+                                          dofs_in_component[i]);
             }
           tasks.join_all();
 
@@ -1038,7 +1040,6 @@ namespace MGTools
 
   template <int dim, int spacedim>
   void
-
   count_dofs_per_component (const MGDoFHandler<dim,spacedim>        &dof_handler,
                             std::vector<std::vector<unsigned int> > &result,
                             std::vector<unsigned int>            target_component)
@@ -1101,22 +1102,24 @@ namespace MGTools
       {
         std::vector<std::vector<bool> >
           dofs_in_block (n_blocks, std::vector<bool>(dof_handler.n_dofs(l), false));
-        std::vector<std::vector<bool> >
-          block_select (n_blocks, std::vector<bool>(n_blocks, false));
+        std::vector<BlockMask> block_select (n_blocks);
         Threads::TaskGroup<> tasks;
         for (unsigned int i=0; i<n_blocks; ++i)
           {
             void (*fun_ptr) (const unsigned int level,
                              const MGDoFHandler<dim,spacedim>&,
-                             const std::vector<bool>&,
-                             std::vector<bool>&,
-                             bool)
+                             const BlockMask &,
+                             std::vector<bool>&)
               = &DoFTools::template extract_level_dofs<dim>;
-            block_select[i][i] = true;
+
+            std::vector<bool> tmp(n_blocks, false);
+           tmp[i] = true;
+           block_select[i] = tmp;
+
             tasks += Threads::new_task (fun_ptr,
                                         l, dof_handler, block_select[i],
-                                        dofs_in_block[i], true);
-          };
+                                        dofs_in_block[i]);
+          }
         tasks.join_all ();
 
                                          // next count what we got
@@ -1136,7 +1139,7 @@ namespace MGTools
     const MGDoFHandler<1,1>&,
     const FunctionMap<1>::type&,
     std::vector<std::set<unsigned int> >&,
-    const std::vector<bool>&)
+    const ComponentMask &)
   {
     Assert(false, ExcNotImplemented());
   }
@@ -1149,7 +1152,7 @@ namespace MGTools
     const MGDoFHandler<1,2>&,
     const FunctionMap<1>::type&,
     std::vector<std::set<unsigned int> >&,
-    const std::vector<bool>&)
+    const ComponentMask &)
   {
     Assert(false, ExcNotImplemented());
   }
@@ -1162,7 +1165,7 @@ namespace MGTools
     const MGDoFHandler<dim,spacedim>& dof,
     const typename FunctionMap<dim>::type& function_map,
     std::vector<std::set<unsigned int> >& boundary_indices,
-    const std::vector<bool>& component_mask)
+    const ComponentMask & component_mask)
   {
                                      // if for whatever reason we were
                                      // passed an empty map, return
@@ -1181,13 +1184,14 @@ namespace MGTools
 
     std::vector<unsigned int> local_dofs;
     local_dofs.reserve (DoFTools::max_dofs_per_face(dof));
-    std::fill (local_dofs.begin (), local_dofs.end (),
+    std::fill (local_dofs.begin (),
+                  local_dofs.end (),
                DoFHandler<dim,spacedim>::invalid_dof_index);
 
                                      // First, deal with the simpler
                                      // case when we have to identify
                                      // all boundary dofs
-    if (component_mask.size() == 0)
+    if (component_mask.n_selected_components(n_components) == n_components)
       {
         typename MGDoFHandler<dim,spacedim>::cell_iterator
           cell = dof.begin(),
@@ -1218,7 +1222,7 @@ namespace MGTools
       }
     else
       {
-        Assert (std::count(component_mask.begin(), component_mask.end(), true) > 0,
+        Assert (component_mask.n_selected_components(n_components) > 0,
                 ExcMessage("It's probably worthwhile to select at least one component."));
 
         typename MGDoFHandler<dim,spacedim>::cell_iterator
@@ -1246,7 +1250,7 @@ namespace MGTools
                                                // are in fact primitive
               for (unsigned int i=0; i<cell->get_fe().dofs_per_cell; ++i)
                 {
-                  const std::vector<bool> &nonzero_component_array
+                  const ComponentMask &nonzero_component_array
                     = cell->get_fe().get_nonzero_components (i);
                   for (unsigned int c=0; c<n_components; ++c)
                     if ((nonzero_component_array[c] == true)
@@ -1350,11 +1354,7 @@ namespace MGTools
 // components. if shape function is non-primitive, then we will ignore
 // the result in the following anyway, otherwise there's only one
 // non-zero component which we will use
-                              component = (std::find (fe.get_nonzero_components(cell_i).begin(),
-                                                      fe.get_nonzero_components(cell_i).end(),
-                                                      true)
-                                           -
-                                           fe.get_nonzero_components(cell_i).begin());
+                              component = fe.get_nonzero_components(cell_i).first_selected_component();
                             }
 
                           if (component_mask[component] == true)
@@ -1377,7 +1377,7 @@ namespace MGTools
   make_boundary_list(const MGDoFHandler<dim,spacedim>& dof,
                      const typename FunctionMap<dim>::type& function_map,
                      std::vector<IndexSet>& boundary_indices,
-                     const std::vector<bool>& component_mask)
+                     const ComponentMask & component_mask)
   {
     Assert (boundary_indices.size() == dof.get_tria().n_levels(),
             ExcDimensionMismatch (boundary_indices.size(),
index b4d74691ffdbdb655ff97181be452cc7819c9659..9ec731c1e78881e046208fd035105cb80be7f6b6 100644 (file)
@@ -92,21 +92,21 @@ for (deal_II_dimension : DIMENSIONS)
        const MGDoFHandler<deal_II_dimension>&,
        const FunctionMap<deal_II_dimension>::type&,
        std::vector<std::set<unsigned int> >&,
-       const std::vector<bool>&);
+       const ComponentMask &);
 #endif
 
-      template void make_boundary_list(
+    template void make_boundary_list(
        const MGDoFHandler<deal_II_dimension>&,
        const FunctionMap<deal_II_dimension>::type&,
        std::vector<IndexSet>&,
-       const std::vector<bool>&);
+       const ComponentMask &);
 
-      template
+    template
        void
        extract_inner_interface_dofs (const MGDoFHandler<deal_II_dimension> &mg_dof_handler,
                                      std::vector<std::vector<bool> >  &interface_dofs,
                                      std::vector<std::vector<bool> >  &boundary_interface_dofs);
-      template
+    template
        void
        extract_inner_interface_dofs (const MGDoFHandler<deal_II_dimension> &mg_dof_handler,
                                      std::vector<std::vector<bool> >  &interface_dofs);
index b31ac6d88281b9a18ca1d30d91a64932a2e32245..a987a8544b0c6d3a0ae741e4b7d744e27a765171 100644 (file)
@@ -38,114 +38,6 @@ DEAL_II_NAMESPACE_OPEN
 
 namespace
 {
-                                     /**
-                                      * Adjust block-vectors on all
-                                      * levels to correct size.  Count
-                                      * the numbers of degrees of
-                                      * freedom on each level
-                                      * component-wise. Then, assign
-                                      * each block of @p vector the
-                                      * corresponding size.
-                                      *
-                                      * The boolean field @p selected
-                                      * allows restricting this
-                                      * operation to certain
-                                      * components. In this case, @p
-                                      * vector will only have as many
-                                      * blocks as there are true
-                                      * values in @p selected (no
-                                      * blocks of length zero are
-                                      * padded in). If this argument
-                                      * is omitted, all blocks will be
-                                      * considered.
-                                      *
-                                      * Degrees of freedom must be
-                                      * sorted by component in order
-                                      * to obtain reasonable results
-                                      * from this function.
-                                      *
-                                      * The argument
-                                      * @p target_component allows to
-                                      * re-sort and group components
-                                      * as in
-                                      * DoFRenumbering::component_wise.
-                                      *
-                                      *
-                                      */
-  template <int dim, typename number, int spacedim>
-  void
-  reinit_vector_by_components (
-    const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
-    MGLevelObject<BlockVector<number> > &v,
-    const std::vector<bool> &sel,
-    const std::vector<unsigned int> &target_comp,
-    std::vector<std::vector<unsigned int> >& ndofs)
-  {
-    std::vector<bool> selected=sel;
-    std::vector<unsigned int> target_component=target_comp;
-    const unsigned int ncomp = mg_dof.get_fe().n_components();
-
-                                     // If the selected and
-                                     // target_component have size 0,
-                                     // they must be replaced by default
-                                     // values.
-                                     //
-                                     // Since we already made copies
-                                     // directly after this function was
-                                     // called, we use the arguments
-                                     // directly.
-    if (target_component.size() == 0)
-      {
-        target_component.resize(ncomp);
-        for (unsigned int i=0;i<ncomp;++i)
-          target_component[i] = i;
-      }
-
-                                     // If selected is an empty vector,
-                                     // all components are selected.
-    if (selected.size() == 0)
-      {
-        selected.resize(target_component.size());
-        std::fill_n (selected.begin(), ncomp, false);
-        for (unsigned int i=0;i<target_component.size();++i)
-          selected[target_component[i]] = true;
-      }
-
-    Assert (selected.size() == target_component.size(),
-            ExcDimensionMismatch(selected.size(), target_component.size()));
-
-                                     // Compute the number of blocks needed
-    const unsigned int n_selected
-      = std::accumulate(selected.begin(),
-                        selected.end(),
-                        0U);
-
-    if (ndofs.size() == 0)
-      {
-        std::vector<std::vector<unsigned int> >
-          new_dofs(mg_dof.get_tria().n_levels(),
-                   std::vector<unsigned int>(target_component.size()));
-        std::swap(ndofs, new_dofs);
-        MGTools::count_dofs_per_block (mg_dof, ndofs, target_component);
-      }
-
-    for (unsigned int level=v.get_minlevel();
-         level<=v.get_maxlevel();++level)
-      {
-        v[level].reinit(n_selected, 0);
-        unsigned int k=0;
-        for (unsigned int i=0;i<selected.size() && (k<v[level].n_blocks());++i)
-          {
-            if (selected[i])
-              {
-                v[level].block(k++).reinit(ndofs[level][i]);
-              }
-            v[level].collect_sizes();
-          }
-      }
-  }
-
-
                                      /**
                                       * Adjust vectors on all levels
                                       * to correct size.  Count the
@@ -177,25 +69,16 @@ namespace
   reinit_vector_by_components (
     const dealii::MGDoFHandler<dim,spacedim> &mg_dof,
     MGLevelObject<dealii::Vector<number> > &v,
-    const std::vector<bool> &selected,
+    const ComponentMask &component_mask,
     const std::vector<unsigned int> &target_component,
     std::vector<std::vector<unsigned int> >& ndofs)
   {
-    Assert (selected.size() == target_component.size(),
-            ExcDimensionMismatch(selected.size(), target_component.size()));
-
-                                     // Compute the number of blocks needed
-#ifdef DEBUG
-//    const unsigned int n_selected
-//      = std::accumulate(selected.begin(),
-//                      selected.end(),
-//                      0U);
-//    Assert(n_selected == 1, ExcDimensionMismatch(n_selected, 1));
-#endif
+    Assert (component_mask.represents_n_components(target_component.size()),
+               ExcMessage ("The component mask does not have the correct size."));
 
     unsigned int selected_block = 0;
     for (unsigned int i=0; i<target_component.size(); ++i)
-      if(selected[i])
+      if(component_mask[i])
         selected_block = target_component[i];
 
     if (ndofs.size() == 0)
@@ -230,7 +113,8 @@ MGTransferSelect<number>::do_copy_to_mg (
   Assert(sizes.size()==mg_dof_handler.get_tria().n_levels(),
          ExcMatricesNotBuilt());
 
-  reinit_vector_by_components(mg_dof_handler, dst, mg_selected,
+  reinit_vector_by_components(mg_dof_handler, dst,
+                             mg_component_mask,
                               mg_target_component, sizes);
 
                                    // traverse the grid top-down
@@ -322,8 +206,8 @@ void MGTransferComponentBase::build_matrices (
   const unsigned int dofs_per_cell = fe.dofs_per_cell;
   const unsigned int n_levels      = mg_dof.get_tria().n_levels();
 
-  Assert (mg_selected.size() == fe.n_components(),
-          ExcDimensionMismatch(mg_selected.size(), fe.n_components()));
+  Assert (mg_component_mask.represents_n_components(fe.n_components()),
+          ExcMessage ("Component mask has wrong size."));
 
                                    // Compute the lengths of all blocks
   sizes.resize(n_levels);
@@ -458,7 +342,7 @@ void MGTransferComponentBase::build_matrices (
                           = fe.system_to_component_index(i).first;
                         const unsigned int jcomp
                           = fe.system_to_component_index(j).first;
-                        if ((icomp==jcomp) && mg_selected[icomp])
+                        if ((icomp==jcomp) && mg_component_mask[icomp])
                           prolongation_sparsities[level]->add(dof_indices_child[i],
                                                               dof_indices_parent[j]);
                       };
@@ -492,7 +376,7 @@ void MGTransferComponentBase::build_matrices (
                       {
                         const unsigned int icomp = fe.system_to_component_index(i).first;
                         const unsigned int jcomp = fe.system_to_component_index(j).first;
-                        if ((icomp==jcomp) && mg_selected[icomp])
+                        if ((icomp==jcomp) && mg_component_mask[icomp])
                           prolongation_matrices[level]->set(dof_indices_child[i],
                                                             dof_indices_parent[j],
                                                             prolongation(i,j));
@@ -573,15 +457,23 @@ void MGTransferSelect<number>::build_matrices (
 
   selected_component = select;
   mg_selected_component = mg_select;
-  selected.resize(ncomp, false);
-  for(unsigned int c=0; c<ncomp; ++c)
-    if(t_component[c] == selected_component)
-      selected[c] = true;
-
-  mg_selected.resize(ncomp, false);
-  for(unsigned int c=0; c<ncomp; ++c)
-    if(mg_t_component[c] == mg_selected_component)
-      mg_selected[c] = true;
+
+  {
+    std::vector<bool> tmp(ncomp, false);
+    for(unsigned int c=0; c<ncomp; ++c)
+      if(t_component[c] == selected_component)
+        tmp[c] = true;
+    component_mask = ComponentMask(tmp);
+  }
+
+  {
+    std::vector<bool> tmp(ncomp, false);
+    for(unsigned int c=0; c<ncomp; ++c)
+      if(mg_t_component[c] == mg_selected_component)
+        tmp[c] = true;
+    mg_component_mask = ComponentMask(tmp);
+  }
+
                                    // If components are renumbered,
                                    // find the first original
                                    // component corresponding to the
@@ -643,7 +535,7 @@ void MGTransferSelect<number>::build_matrices (
             {
               const unsigned int component
                 = fe.system_to_component_index(i).first;
-              if (selected[component] &&
+              if (component_mask[component] &&
                   !interface_dofs[level][level_dof_indices[i]])
                 {
                   const unsigned int level_start
index 2fa5f3b2dde3984113490dc8205d1e47c1968373..bd277967097c2251f063690ce147006d35b7d06b 100644 (file)
@@ -250,8 +250,8 @@ std::size_t
 MGTransferComponentBase::memory_consumption () const
 {
   std::size_t result = sizeof(*this);
-  result += MemoryConsumption::memory_consumption(selected)
-            - sizeof(selected);
+  result += MemoryConsumption::memory_consumption(component_mask)
+            - sizeof(ComponentMask);
   result += MemoryConsumption::memory_consumption(target_component)
             - sizeof(mg_target_component);
   result += MemoryConsumption::memory_consumption(sizes)
index 95517074b6d7edc12bfc6f7354678a4ffc554497..eb1945ba8437d0895f225bffa2826ec84f189821 100644 (file)
@@ -241,7 +241,7 @@ namespace internal
                                           * function.
                                           */
         const typename FunctionMap<spacedim>::type *neumann_bc;
-        const std::vector<bool>                component_mask;
+        const ComponentMask                component_mask;
         const Function<spacedim>                   *coefficients;
 
                                          /**
@@ -256,7 +256,7 @@ namespace internal
                       const types::subdomain_id subdomain_id,
                       const types::material_id material_id,
                       const typename FunctionMap<spacedim>::type *neumann_bc,
-                      const std::vector<bool>                component_mask,
+                      const ComponentMask                component_mask,
                       const Function<spacedim>                   *coefficients);
 
                                          /**
@@ -280,7 +280,7 @@ namespace internal
                   const types::subdomain_id subdomain_id,
                   const types::material_id material_id,
                   const typename FunctionMap<spacedim>::type *neumann_bc,
-                  const std::vector<bool>                component_mask,
+                  const ComponentMask                component_mask,
                   const Function<spacedim>         *coefficients)
                     :
                     finite_element (fe),
@@ -1013,7 +1013,7 @@ estimate (const Mapping<1,spacedim>      &mapping,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1037,7 +1037,7 @@ estimate (const DH   &dof_handler,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1059,7 +1059,7 @@ estimate (const DH   &dof_handler,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const std::vector<const InputVector*> &solutions,
           std::vector<Vector<float>*> &errors,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1082,7 +1082,7 @@ estimate (const Mapping<1,spacedim>      &mapping,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1105,7 +1105,7 @@ estimate (const DH   &dof_handler,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1127,7 +1127,7 @@ estimate (const DH   &dof_handler,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const std::vector<const InputVector*> &solutions,
           std::vector<Vector<float>*> &errors,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1150,7 +1150,7 @@ estimate (const Mapping<1,spacedim>                    &/*mapping*/,
           const typename FunctionMap<spacedim>::type          &/*neumann_bc*/,
           const std::vector<const InputVector *> &/*solutions*/,
           std::vector<Vector<float>*>            &/*errors*/,
-          const std::vector<bool>                &/*component_mask_*/,
+          const ComponentMask                &/*component_mask_*/,
           const Function<spacedim>                   */*coefficient*/,
           const unsigned int,
           const types::subdomain_id          /*subdomain_id*/,
@@ -1170,7 +1170,7 @@ estimate (const Mapping<1,spacedim>                    &mapping,
           const typename FunctionMap<spacedim>::type          &neumann_bc,
           const std::vector<const InputVector *> &solutions,
           std::vector<Vector<float>*>              &errors,
-          const std::vector<bool>                  &component_mask_,
+          const ComponentMask                  &component_mask,
           const Function<spacedim>                   *coefficient,
           const unsigned int,
           const types::subdomain_id         subdomain_id_,
@@ -1214,11 +1214,9 @@ estimate (const Mapping<1,spacedim>                    &mapping,
        i!=neumann_bc.end(); ++i)
     Assert (i->second->n_components == n_components, ExcInvalidBoundaryFunction());
 
-  Assert ((component_mask_.size() == 0) ||
-          (component_mask_.size() == n_components), ExcInvalidComponentMask());
-  Assert ((component_mask_.size() == 0) ||
-          (std::count(component_mask_.begin(), component_mask_.end(),
-                      true) > 0),
+  Assert (component_mask.represents_n_components(n_components),
+          ExcInvalidComponentMask());
+  Assert (component_mask.n_selected_components(n_components) > 0,
           ExcInvalidComponentMask());
 
   Assert ((coefficient == 0) ||
@@ -1234,14 +1232,6 @@ estimate (const Mapping<1,spacedim>                    &mapping,
     Assert (solutions[n]->size() == dof_handler.n_dofs(),
             ExcInvalidSolutionVector());
 
-                                   // if no mask given: treat all components
-  std::vector<bool> component_mask ((component_mask_.size() == 0)    ?
-                                    std::vector<bool>(n_components, true) :
-                                    component_mask_);
-  Assert (component_mask.size() == n_components, ExcInvalidComponentMask());
-  Assert (std::count(component_mask.begin(), component_mask.end(), true) > 0,
-          ExcInvalidComponentMask());
-
   Assert ((coefficient == 0) ||
           (coefficient->n_components == n_components) ||
           (coefficient->n_components == 1),
@@ -1440,7 +1430,7 @@ estimate (const Mapping<dim, spacedim>      &mapping,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1463,7 +1453,7 @@ estimate (const DH                &dof_handler,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1486,7 +1476,7 @@ estimate (const Mapping<dim, spacedim>      &mapping,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1509,7 +1499,7 @@ estimate (const DH                &dof_handler,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const InputVector       &solution,
           Vector<float>           &error,
-          const std::vector<bool> &component_mask,
+          const ComponentMask &component_mask,
           const Function<spacedim>     *coefficients,
           const unsigned int       n_threads,
           const types::subdomain_id subdomain_id,
@@ -1534,7 +1524,7 @@ estimate (const Mapping<dim, spacedim>                  &mapping,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const std::vector<const InputVector *> &solutions,
           std::vector<Vector<float>*>              &errors,
-          const std::vector<bool>                  &component_mask_,
+          const ComponentMask                  &component_mask,
           const Function<spacedim>                 *coefficients,
           const unsigned int                   ,
           const types::subdomain_id          subdomain_id_,
@@ -1580,11 +1570,9 @@ estimate (const Mapping<dim, spacedim>                  &mapping,
     Assert (i->second->n_components == n_components,
             ExcInvalidBoundaryFunction());
 
-  Assert ((component_mask_.size() == 0) ||
-          (component_mask_.size() == n_components), ExcInvalidComponentMask());
-  Assert ((component_mask_.size() == 0) ||
-          (std::count(component_mask_.begin(), component_mask_.end(),
-                      true) > 0),
+  Assert (component_mask.represents_n_components(n_components),
+          ExcInvalidComponentMask());
+  Assert (component_mask.n_selected_components(n_components) > 0,
           ExcInvalidComponentMask());
 
   Assert ((coefficients == 0) ||
@@ -1596,14 +1584,6 @@ estimate (const Mapping<dim, spacedim>                  &mapping,
     Assert (solutions[n]->size() == dof_handler.n_dofs(),
             ExcInvalidSolutionVector());
 
-                                   // if no mask given: treat all components
-  std::vector<bool> component_mask ((component_mask_.size() == 0)    ?
-                                    std::vector<bool>(n_components, true) :
-                                    component_mask_);
-  Assert (component_mask.size() == n_components, ExcInvalidComponentMask());
-  Assert (std::count(component_mask.begin(), component_mask.end(), true) > 0,
-          ExcInvalidComponentMask());
-
   const unsigned int n_solution_vectors = solutions.size();
 
                                    // Map of integrals indexed by
@@ -1711,7 +1691,7 @@ estimate (const Mapping<dim, spacedim>                  &mapping,
           const typename FunctionMap<spacedim>::type &neumann_bc,
           const std::vector<const InputVector *> &solutions,
           std::vector<Vector<float>*>              &errors,
-          const std::vector<bool>                  &component_mask,
+          const ComponentMask                  &component_mask,
           const Function<spacedim>                 *coefficients,
           const unsigned int                   n_threads,
           const types::subdomain_id          subdomain_id,
@@ -1733,7 +1713,7 @@ void KellyErrorEstimator<dim, spacedim>::estimate (const DH
                                          const typename FunctionMap<spacedim>::type &neumann_bc,
                                          const std::vector<const InputVector *> &solutions,
                                          std::vector<Vector<float>*>              &errors,
-                                         const std::vector<bool>                  &component_mask,
+                                         const ComponentMask                  &component_mask,
                                          const Function<spacedim>                 *coefficients,
                                          const unsigned int                   n_threads,
                                          const types::subdomain_id subdomain_id,
@@ -1754,7 +1734,7 @@ void KellyErrorEstimator<dim, spacedim>::estimate (const DH
                                          const typename FunctionMap<spacedim>::type &neumann_bc,
                                          const std::vector<const InputVector *> &solutions,
                                          std::vector<Vector<float>*>              &errors,
-                                         const std::vector<bool>                  &component_mask,
+                                         const ComponentMask                  &component_mask,
                                          const Function<spacedim>                 *coefficients,
                                          const unsigned int                   n_threads,
                                          const types::subdomain_id subdomain_id,
index 062fd660fa085e66e4fd250466ace77b48328af1..97aefce001fcdfc9767c0014e00b47cf66856d8d 100644 (file)
@@ -35,7 +35,7 @@ estimate<InputVector,DH<deal_II_dimension> > (const Mapping<deal_II_dimension, d
           const FunctionMap<deal_II_dimension>::type &,    \
           const InputVector       &,    \
           Vector<float>           &,    \
-          const std::vector<bool> &,    \
+          const ComponentMask &,    \
           const Function<deal_II_dimension>     *,    \
           const unsigned int       , \
           const unsigned int       , \
@@ -49,7 +49,7 @@ estimate<InputVector,DH<deal_II_dimension> > (const DH<deal_II_dimension>   &,
           const FunctionMap<deal_II_dimension>::type &,    \
           const InputVector       &,    \
           Vector<float>           &,    \
-          const std::vector<bool> &,    \
+          const ComponentMask &,    \
           const Function<deal_II_dimension>     *,    \
           const unsigned int       , \
           const unsigned int       , \
@@ -64,7 +64,7 @@ estimate<InputVector,DH<deal_II_dimension> > (const Mapping<deal_II_dimension, d
           const FunctionMap<deal_II_dimension>::type &,    \
           const std::vector<const InputVector *> &,    \
           std::vector<Vector<float>*> &,    \
-          const std::vector<bool>     &,    \
+          const ComponentMask     &,    \
           const Function<deal_II_dimension>         *,    \
           const unsigned int           , \
           const unsigned int           , \
@@ -78,7 +78,7 @@ estimate<InputVector,DH<deal_II_dimension> > (const DH<deal_II_dimension>
           const FunctionMap<deal_II_dimension>::type &,    \
           const std::vector<const InputVector *> &,    \
           std::vector<Vector<float>*> &,    \
-          const std::vector<bool>     &,    \
+          const ComponentMask     &,    \
           const Function<deal_II_dimension>         *,    \
           const unsigned int           , \
           const unsigned int           , \
@@ -96,7 +96,7 @@ estimate<InputVector,DH<deal_II_dimension,deal_II_dimension+1> > (const Mapping<
           const FunctionMap<deal_II_dimension+1>::type &,    \
           const InputVector       &,    \
           Vector<float>           &,    \
-          const std::vector<bool> &,    \
+          const ComponentMask &,    \
           const Function<deal_II_dimension+1>     *,    \
           const unsigned int       , \
           const unsigned int       , \
@@ -110,7 +110,7 @@ estimate<InputVector,DH<deal_II_dimension,deal_II_dimension+1> > (const DH<deal_
           const FunctionMap<deal_II_dimension+1>::type &,    \
           const InputVector       &,    \
           Vector<float>           &,    \
-          const std::vector<bool> &,    \
+          const ComponentMask &,    \
           const Function<deal_II_dimension+1>     *,    \
           const unsigned int       , \
           const unsigned int       , \
@@ -125,7 +125,7 @@ estimate<InputVector,DH<deal_II_dimension,deal_II_dimension+1> > (const Mapping<
           const FunctionMap<deal_II_dimension+1>::type &,    \
           const std::vector<const InputVector *> &,    \
           std::vector<Vector<float>*> &,    \
-          const std::vector<bool>     &,    \
+          const ComponentMask     &,    \
           const Function<deal_II_dimension+1>         *,    \
           const unsigned int           , \
           const unsigned int           , \
@@ -139,7 +139,7 @@ estimate<InputVector,DH<deal_II_dimension,deal_II_dimension+1> > (const DH<deal_
           const FunctionMap<deal_II_dimension+1>::type &,    \
           const std::vector<const InputVector *> &,    \
           std::vector<Vector<float>*> &,    \
-          const std::vector<bool>     &,    \
+          const ComponentMask     &,    \
           const Function<deal_II_dimension+1>         *,    \
           const unsigned int           , \
           const unsigned int           , \
index 053d2202e369009bcbe62a3343a40d21a9a58267..19c86da0a6b02e3177ba3694011d39ac4b691533 100644 (file)
@@ -238,12 +238,12 @@ void PointValueHistory<dim>
                    // support points
                    // GridTools::find_active_cell_around_point
                    // is an alternative. That method is not
-                   // used here mostly because of the history 
-                   // of the class. The algorithm used in 
+                   // used here mostly because of the history
+                   // of the class. The algorithm used in
                    // add_points below may be slightly more
                    // efficient than find_active_cell_around_point
                    // because it operates on a set of points.
-                   
+
   for (; cell != endc; cell++)
     {
       fe_values.reinit (cell);
@@ -308,8 +308,8 @@ void PointValueHistory<dim>
     {
                        // add an extra row to each vector
                        // entry
-      std::vector <bool> current_mask = (component_mask.find (data_store_begin->first))->second;
-      unsigned int n_stored = std::count(current_mask.begin(), current_mask.end(), true);
+      const ComponentMask &current_mask = (component_mask.find (data_store_begin->first))->second;
+      unsigned int n_stored = current_mask.n_selected_components();
       for (unsigned int component = 0; component < n_stored; component++)
         {
           data_store_begin->second.push_back (std::vector<double> (0));
@@ -385,8 +385,8 @@ void PointValueHistory<dim>
                    // points
                    // GridTools::find_active_cell_around_point
                    // is an alternative. That method is not
-                   // used here mostly because of the history 
-                   // of the class. The algorithm used here 
+                   // used here mostly because of the history
+                   // of the class. The algorithm used here
                    // may be slightly more
                    // efficient than find_active_cell_around_point
                    // because it operates on a set of points.
@@ -432,8 +432,8 @@ void PointValueHistory<dim>
         {
                        // add an extra row to each vector
                        // entry
-          std::vector <bool> current_mask = (component_mask.find (data_store_begin->first))->second;
-          unsigned int n_stored = std::count(current_mask.begin(), current_mask.end(), true);
+          const ComponentMask current_mask = (component_mask.find (data_store_begin->first))->second;
+          unsigned int n_stored = current_mask.n_selected_components();
           for (unsigned int component = 0; component < n_stored; component++)
             {
               data_store_begin->second.push_back (std::vector<double> (0));
@@ -449,7 +449,8 @@ void PointValueHistory<dim>
 
 template <int dim>
 void PointValueHistory<dim>
-::add_field_name (const std::string &vector_name, const std::vector <bool> &mask)
+::add_field_name (const std::string &vector_name,
+                  const ComponentMask &mask)
 {
                    // can't be closed to add additional points
                    // or vectors
@@ -458,26 +459,30 @@ void PointValueHistory<dim>
   AssertThrow (have_dof_handler, ExcDoFHandlerRequired ());
   AssertThrow (!triangulation_changed, ExcDoFHandlerChanged ());
 
-
-                    // Make a component_mask, if not supplied
-  std::vector <bool> temp_mask = mask;
-  if (temp_mask.size() == 0)
-  {
-      temp_mask = std::vector<bool> (dof_handler->get_fe().n_components(), true);
-  }
-  component_mask.insert (std::pair <std::string, std::vector<bool> > (vector_name, temp_mask));
+  // insert a component mask that is always of the right size
+  if (mask.represents_the_all_selected_mask() == false)
+    component_mask.insert (std::make_pair (vector_name, mask));
+  else
+    component_mask.insert (std::make_pair (vector_name,
+                                           ComponentMask(std::vector<bool>(dof_handler->get_fe().n_components(), true))));
 
                    // insert an empty vector of strings
                    // to ensure each field has an entry
                    // in the map
-  std::pair <std::string, std::vector <std::string> > empty_names (vector_name, std::vector <std::string> ());
+  std::pair <std::string, std::vector <std::string> >
+    empty_names (vector_name, std::vector <std::string> ());
   component_names_map.insert (empty_names);
 
                    // make and add a new vector
                    // point_geometry_data.size() long
   std::pair<std::string, std::vector <std::vector <double> > > pair_data;
   pair_data.first = vector_name;
-  unsigned int n_stored = std::count(temp_mask.begin(), temp_mask.end(), true);
+  const unsigned int n_stored = (mask.represents_the_all_selected_mask() == false
+                                ?
+                                mask.n_selected_components()
+                                :
+                                dof_handler->get_fe().n_components());
+
   int n_datastreams = point_geometry_data.size () * n_stored; // each point has n_stored sub parts
   std::vector < std::vector <double> > vector_size (n_datastreams,
                                                     std::vector <double> (0));
@@ -503,9 +508,9 @@ void PointValueHistory<dim>
   typename std::map <std::string, std::vector <std::string> >::iterator names = component_names_map.find(vector_name);
   Assert (names != component_names_map.end(), ExcMessage("vector_name not in class"));
 
-  typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(vector_name);
+  typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(vector_name);
   Assert (mask != component_mask.end(), ExcMessage("vector_name not in class"));
-  unsigned int n_stored = std::count(mask->second.begin(), mask->second.end(), true);  
+  unsigned int n_stored = mask->second.n_selected_components();
   Assert (component_names.size() == n_stored, ExcDimensionMismatch (component_names.size(), n_stored));
 
   names->second = component_names;
@@ -576,11 +581,10 @@ void PointValueHistory<dim>
   typename std::map <std::string, std::vector <std::vector <double> > >::iterator data_store_field = data_store.find(vector_name);
   Assert (data_store_field != data_store.end(), ExcMessage("vector_name not in class"));
                    // Repeat for component_mask
-  typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(vector_name);
+  typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(vector_name);
   Assert (mask != component_mask.end(), ExcMessage("vector_name not in class"));
 
-  Assert (mask->second.size () == dof_handler->get_fe ().n_components (), ExcDimensionMismatch (mask->second.size (), dof_handler->get_fe ().n_components ()));
-  unsigned int n_stored = std::count(mask->second.begin(), mask->second.end(), true);
+  unsigned int n_stored = mask->second.n_selected_components(dof_handler->get_fe ().n_components ());
 
   typename std::vector <internal::PointValueHistory::PointGeometryData <dim> >::iterator point = point_geometry_data.begin ();
   for (unsigned int data_store_index = 0; point != point_geometry_data.end (); point++, data_store_index++)
@@ -589,8 +593,8 @@ void PointValueHistory<dim>
                        // in the component_mask, and
                        // access the data associated with
                        // those components
-    
-    for (unsigned int store_index = 0, comp = 0; comp < mask->second.size(); comp++)
+
+    for (unsigned int store_index = 0, comp = 0; comp < dof_handler->get_fe ().n_components (); comp++)
     {
         if (mask->second[comp])
         {
@@ -747,15 +751,14 @@ void PointValueHistory<dim>
             typename std::map <std::string, std::vector <std::vector <double> > >::iterator data_store_field = data_store.find(*name);
             Assert (data_store_field != data_store.end(), ExcMessage("vector_name not in class"));
                             // Repeat for component_mask
-            typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(*name);
+            typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(*name);
             Assert (mask != component_mask.end(), ExcMessage("vector_name not in class"));
 
-            Assert (mask->second.size () == n_output_variables, ExcDimensionMismatch (mask->second.size (),n_output_variables));
-            unsigned int n_stored = std::count(mask->second.begin(), mask->second.end(), true);
-            
+            unsigned int n_stored = mask->second.n_selected_components(n_output_variables);
+
                             // Push back computed quantities according
                             // to the component_mask.
-            for (unsigned int store_index = 0, comp = 0; comp < mask->second.size(); comp++)
+            for (unsigned int store_index = 0, comp = 0; comp < n_output_variables; comp++)
             {
                 if (mask->second[comp])
                 {
@@ -803,11 +806,10 @@ void PointValueHistory<dim>
   typename std::map <std::string, std::vector <std::vector <double> > >::iterator data_store_field = data_store.find(vector_name);
   Assert (data_store_field != data_store.end(), ExcMessage("vector_name not in class"));
                    // Repeat for component_mask
-  typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(vector_name);
+  typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(vector_name);
   Assert (mask != component_mask.end(), ExcMessage("vector_name not in class"));
 
-  Assert (mask->second.size () == dof_handler->get_fe ().n_components (), ExcDimensionMismatch (mask->second.size (), dof_handler->get_fe ().n_components ()));
-  unsigned int n_stored = std::count(mask->second.begin(), mask->second.end(), true);
+  unsigned int n_stored = mask->second.n_selected_components(dof_handler->get_fe ().n_components ());
 
   typename std::vector <internal::PointValueHistory::PointGeometryData <dim> >::iterator point = point_geometry_data.begin ();
   Vector <double> value (dof_handler->get_fe().n_components());
@@ -991,8 +993,8 @@ void PointValueHistory<dim>
 
           for (; data_store_begin != data_store.end (); data_store_begin++)
             {
-                typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(data_store_begin->first);
-                unsigned int n_stored = std::count(mask->second.begin(), mask->second.end(), true);
+                typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(data_store_begin->first);
+                unsigned int n_stored = mask->second.n_selected_components();
                 std::vector <std::string> names = (component_names_map.find (data_store_begin->first))->second;
 
                 if (names.size() > 0)
@@ -1004,7 +1006,7 @@ void PointValueHistory<dim>
                   }
                 }
                 else
-                {          
+                {
                     for (unsigned int component = 0; component < n_stored; component++)
                     {
                       to_gnuplot << "<" << data_store_begin->first << "_" << component << "> ";
@@ -1027,8 +1029,8 @@ void PointValueHistory<dim>
 
               for (; data_store_begin != data_store.end (); data_store_begin++)
                 {
-                  typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(data_store_begin->first);
-                  unsigned int n_stored = std::count(mask->second.begin(), mask->second.end(), true);
+                  typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(data_store_begin->first);
+                  unsigned int n_stored = mask->second.n_selected_components();
 
                   for (unsigned int component = 0; component < n_stored; component++)
                   {
@@ -1211,7 +1213,7 @@ void PointValueHistory<dim>
     {
                   // Find field mnemonic
       std::string vector_name = data_store_begin->first;
-      typename std::map <std::string, std::vector <bool> >::iterator mask = component_mask.find(vector_name);
+      typename std::map <std::string, ComponentMask>::iterator mask = component_mask.find(vector_name);
       Assert (mask != component_mask.end(), ExcMessage("vector_name not in class"));
       typename std::map <std::string, std::vector <std::string> >::iterator component_names = component_names_map.find(vector_name);
       Assert (component_names != component_names_map.end(), ExcMessage("vector_name not in class"));
@@ -1219,13 +1221,13 @@ void PointValueHistory<dim>
       if (data_store_begin->second.size () != 0)
         {
           out << data_store_begin->first << ": " << data_store_begin->second.size () << " (";
-          out << mask->second.size() << ", " << std::count (mask->second.begin(), mask->second.end(), true) << ") : ";
+          out << mask->second.size() << ", " << mask->second.n_selected_components() << ") : ";
           out << (data_store_begin->second)[0].size () << "\n";
         }
       else
         {
           out << data_store_begin->first << ": " << data_store_begin->second.size () << " (";
-          out << mask->second.size() << ", " << std::count (mask->second.begin(), mask->second.end(), true) << ") : ";
+          out << mask->second.size() << ", " << mask->second.n_selected_components() << ") : ";
           out << "No points added" << "\n";
         }
                   // add names, if available
@@ -1246,10 +1248,10 @@ void PointValueHistory<dim>
 
 template <int dim>
 bool PointValueHistory<dim>
-::deep_check (bool strict)
+::deep_check (const bool strict)
 {
-                   // test ways that it can fail, if control
-                   // reaches last statement return true
+                                  // test ways that it can fail, if control
+                                  // reaches last statement return true
   if (strict)
     {
       if (n_indep != 0)
@@ -1260,19 +1262,21 @@ bool PointValueHistory<dim>
             }
         }
       std::map <std::string, std::vector <std::vector <double> > >::iterator
-    data_store_begin = data_store.begin ();
+       data_store_begin = data_store.begin ();
       if (have_dof_handler)
         {
           for (; data_store_begin != data_store.end (); data_store_begin++)
             {
+             Assert (data_store_begin->second.size() > 0,
+                     ExcInternalError());
               if ((data_store_begin->second)[0].size () != dataset_key.size ())
                 return false;
-                           // this loop only tests one
-                           // member for each name,
-                           // i.e. checks the user it will
-                           // not catch internal errors
-                           // which do not update all
-                           // fields for a name.
+                                              // this loop only tests one
+                                              // member for each name,
+                                              // i.e. checks the user it will
+                                              // not catch internal errors
+                                              // which do not update all
+                                              // fields for a name.
             }
         }
       return true;
@@ -1288,16 +1292,19 @@ bool PointValueHistory<dim>
   if (have_dof_handler)
     {
       std::map <std::string, std::vector <std::vector <double> > >::iterator
-    data_store_begin = data_store.begin ();
+       data_store_begin = data_store.begin ();
       for (; data_store_begin != data_store.end (); data_store_begin++)
         {
+         Assert (data_store_begin->second.size() > 0,
+                 ExcInternalError());
+
           if (std::abs ((int) (data_store_begin->second)[0].size () - (int) dataset_key.size ()) >= 2)
             return false;
-                       // this loop only tests one member
-                       // for each name, i.e. checks the
-                       // user it will not catch internal
-                       // errors which do not update all
-                       // fields for a name.
+                                          // this loop only tests one member
+                                          // for each name, i.e. checks the
+                                          // user it will not catch internal
+                                          // errors which do not update all
+                                          // fields for a name.
         }
     }
   return true;
index 04d777422d31c81e56434a61d6a71bd81877d9bd..f6479a7533100933b96fa5c68dbf9a760ed8e327 100644 (file)
@@ -292,7 +292,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS;
          const DH<deal_II_dimension,deal_II_space_dimension> &,
          const FunctionMap<deal_II_space_dimension>::type &,
          std::map<unsigned int,double>       &,
-         const std::vector<bool>    &);
+         const ComponentMask    &);
 
       template
         void interpolate_boundary_values
@@ -301,7 +301,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS;
          const types::boundary_id,
          const Function<deal_II_space_dimension>   &,
          std::map<unsigned int,double>       &,
-         const std::vector<bool>    &);
+         const ComponentMask    &);
 
       template
         void interpolate_boundary_values (
@@ -309,14 +309,14 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS;
           const types::boundary_id,
           const Function<deal_II_space_dimension>   &,
           std::map<unsigned int,double>       &,
-          const std::vector<bool>    &);
+          const ComponentMask    &);
 
       template
         void interpolate_boundary_values
         (const DH<deal_II_dimension,deal_II_space_dimension> &,
          const FunctionMap<deal_II_space_dimension>::type &,
          std::map<unsigned int,double>       &,
-         const std::vector<bool>    &);
+         const ComponentMask    &);
 
       template
         void interpolate_boundary_values (
@@ -324,7 +324,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS;
           const DH<deal_II_dimension,deal_II_space_dimension> &,
           const FunctionMap<deal_II_space_dimension>::type   &,
           ConstraintMatrix                    &,
-          const std::vector<bool>    &);
+          const ComponentMask    &);
 
       template
         void interpolate_boundary_values
@@ -333,7 +333,7 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS;
          const types::boundary_id,
          const Function<deal_II_space_dimension>   &,
          ConstraintMatrix                    &,
-         const std::vector<bool>             &);
+         const ComponentMask             &);
 
       template
         void interpolate_boundary_values (
@@ -341,14 +341,14 @@ for (deal_II_dimension : DIMENSIONS; deal_II_space_dimension : SPACE_DIMENSIONS;
           const types::boundary_id,
           const Function<deal_II_space_dimension>   &,
           ConstraintMatrix                    &,
-          const std::vector<bool>    &);
+          const ComponentMask    &);
 
       template
         void interpolate_boundary_values (
           const DH<deal_II_dimension,deal_II_space_dimension> &,
           const FunctionMap<deal_II_space_dimension>::type   &,
           ConstraintMatrix                    &,
-          const std::vector<bool>    &);
+          const ComponentMask    &);
 
       \}
 #endif
index 3de805d7f031fdfcf0bf47a4127c2edc7b3b758e..e5772097517341e6ede7091b1f3b07ced1b4f61c 100644 (file)
@@ -16,5 +16,5 @@ ULIMIT = @ULIMIT@
 # in the report with it. for a branch, prefix everything
 # with x-branch-name/ so that tests run from the branch will show up
 # in different folders on the webpage.
-WORKDIR = $(notdir $(shell pwd))
+WORKDIR = x-branch-component-mask/$(notdir $(shell pwd))
 
index 4d6162b3e5463f7d374d4437ac5920d0b22dd8e0..62ae08b977c81549a5e95ef6335faa0b2f6f6f32 100644 (file)
@@ -1,8 +1,8 @@
 //----------------------------  anna_3.cc  ---------------------------
 //    $Id$
-//    Version: $Name$ 
+//    Version: $Name$
 //
-//    Copyright (C) 2002, 2003, 2004, 2005, 2010 by the deal.II authors and Anna Schneebeli
+//    Copyright (C) 2002, 2003, 2004, 2005, 2010, 2012 by the deal.II authors and Anna Schneebeli
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -28,7 +28,7 @@
 #include <deal.II/grid/tria_iterator.h>
 #include <deal.II/dofs/dof_accessor.h>
 #include <deal.II/dofs/dof_tools.h>
-#include <deal.II/fe/fe_system.h>              
+#include <deal.II/fe/fe_system.h>
 #include <deal.II/fe/fe_q.h>
 #include <deal.II/fe/fe_nedelec.h>
 #include <deal.II/fe/fe_base.h>
 
 
 template <int dim>
-class SystemTest 
+class SystemTest
 {
   public:
     SystemTest ();
-    void run ();    
-                                   
+    void run ();
+
   private:
     void make_grid_and_dofs ();
     void check ();
 
-                                   
+
     Triangulation<dim>     triangulation;
     FESystem<dim>          fe;
     DoFHandler<dim>        dof_handler;
 
-                                  
+
 };
 
 template <int dim>
@@ -67,23 +67,23 @@ SystemTest<dim>::SystemTest () :
 
 template <int dim>
 void SystemTest<dim>::make_grid_and_dofs ()
-{                        
+{
   GridGenerator::hyper_cube (triangulation, -1, 1);
   triangulation.refine_global (0);
   deallog << "Number of active cells: " << triangulation.n_active_cells()
           << std::endl;
   deallog << "Total number of cells: " << triangulation.n_cells()
           << std::endl;
-                                 
+
   dof_handler.distribute_dofs (fe);
   deallog << "Number of degrees of freedom: " << dof_handler.n_dofs()
           << std::endl;
-                                 
+
 }
 
 
 template <int dim>
-void SystemTest<dim>::check () 
+void SystemTest<dim>::check ()
 {
   for (unsigned int c=0; c<fe.n_components(); ++c)
     {
@@ -91,7 +91,7 @@ void SystemTest<dim>::check ()
       std::vector<bool> x(fe.n_components(), false);
       x[c] = true;
       std::vector<bool> sel(dof_handler.n_dofs());
-      DoFTools::extract_dofs (dof_handler, x, sel);
+      DoFTools::extract_dofs (dof_handler, ComponentMask(x), sel);
 
       for (unsigned int i=0; i<sel.size(); ++i)
         if (sel[i])
@@ -108,7 +108,7 @@ void SystemTest<dim>::check ()
 
 
 template <int dim>
-void SystemTest<dim>::run () 
+void SystemTest<dim>::run ()
 {
   deallog << "************* " << dim << "D *************" << std::endl;
   make_grid_and_dofs ();
@@ -121,9 +121,9 @@ void SystemTest<dim>::run ()
   check ();
 }
 
-    
 
-int main () 
+
+int main ()
 {
   std::ofstream logfile("anna_3/output");
   deallog.attach(logfile);
@@ -131,6 +131,6 @@ int main ()
   deallog.threshold_double(1.e-10);
 
   SystemTest<2>().run();
-  SystemTest<3>().run();  
+  SystemTest<3>().run();
   return 0;
 }
index 672cc365eccf244d97c4a5b059b3dca2c1685900..19d5c90f5c52c35435aeb826d150a3a473a47987 100644 (file)
@@ -1,8 +1,8 @@
 //----------------------------  dof_tools_12.cc  ---------------------------
 //    $Id$
-//    Version: $Name$ 
+//    Version: $Name$
 //
-//    Copyright (C) 2003, 2004 by the deal.II authors
+//    Copyright (C) 2003, 2004, 2012 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -30,11 +30,11 @@ check_this (const DoFHandler<dim> &dof_handler)
 
                                    // only select first component
   mask[0] = true;
-  DoFTools::extract_dofs (dof_handler, mask, selected_dofs);
+  DoFTools::extract_dofs (dof_handler, ComponentMask(mask), selected_dofs);
   output_bool_vector (selected_dofs);
 
                                    // also select last component
   mask.back() = true;
-  DoFTools::extract_dofs (dof_handler, mask, selected_dofs);
+  DoFTools::extract_dofs (dof_handler, ComponentMask(mask), selected_dofs);
   output_bool_vector (selected_dofs);
 }
index 47ee80c4870886aecb19014ab0e072a4addc3301..0f55d106c6d37164d3437d222e14d9444a6f36f2 100644 (file)
@@ -1,8 +1,8 @@
 //----------------------------  dof_tools_13a.cc  ---------------------------
 //    $Id$
-//    Version: $Name$ 
+//    Version: $Name$
 //
-//    Copyright (C) 2003, 2004, 2007 by the deal.II authors
+//    Copyright (C) 2003, 2004, 2007, 2012 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -37,7 +37,7 @@ check_this (const DoFHandler<dim> &dof_handler)
                                    // the element is not primitive
   if (dof_handler.get_fe().is_primitive() == false)
     return;
-  
+
   Vector<double> cell_data (dof_handler.get_tria().n_active_cells());
   for (unsigned int i=0; i<cell_data.size(); ++i)
     cell_data(i) = i;
@@ -55,7 +55,7 @@ check_this (const DoFHandler<dim> &dof_handler)
     std::vector<bool> component_mask (dof_handler.get_fe().n_components(),
                                      false);
     component_mask[0] = true;
-    DoFTools::extract_dofs (dof_handler, component_mask, component_dofs);
+    DoFTools::extract_dofs (dof_handler, ComponentMask(component_mask), component_dofs);
 
     for (unsigned int i=0; i<dof_data.size(); ++i)
       if (component_dofs[i] == true)
@@ -63,14 +63,14 @@ check_this (const DoFHandler<dim> &dof_handler)
       else
        dof_data(i) = 0;
   }
-  
+
   DoFTools::distribute_cell_to_dof_vector (dof_handler,
                                            cell_data,
                                            dof_data);
                                    // output every third element
   for (unsigned int i=0; i<dof_data.size(); i+=3)
     deallog << dof_data(i) << " ";
-  deallog << std::endl;  
+  deallog << std::endl;
 
                                   // check that no other values were
                                   // set
@@ -78,20 +78,20 @@ check_this (const DoFHandler<dim> &dof_handler)
     if (component_dofs[i] == false)
       Assert (dof_data(i) == 0,
              ExcInternalError());
-  
+
 
                                    // distribute to last component. by
                                    // default we distribute to
                                    // component zero
-  
+
                                   // preset the vector again to make
                                   // sure that the function zeroes out
-                                  // previous content. 
+                                  // previous content.
   {
     std::vector<bool> component_mask (dof_handler.get_fe().n_components(),
                                      false);
     component_mask.back() = true;
-    DoFTools::extract_dofs (dof_handler, component_mask, component_dofs);
+    DoFTools::extract_dofs (dof_handler, ComponentMask(component_mask), component_dofs);
     for (unsigned int i=0; i<dof_data.size(); ++i)
       if (component_dofs[i] == true)
        dof_data(i) = i+1;
@@ -104,7 +104,7 @@ check_this (const DoFHandler<dim> &dof_handler)
                                            dof_handler.get_fe().n_components()-1);
   for (unsigned int i=0; i<dof_data.size(); i+=3)
     deallog << dof_data(i) << " ";
-  deallog << std::endl;  
+  deallog << std::endl;
 
                                   // check that no other values were
                                   // set
index e9a76e459a928e3e074b70c9ee3d2e74c8482bfc..64000e064b60660ba02cdf34f8a249f0fd670707 100644 (file)
@@ -63,7 +63,7 @@ check ()
       component_mask[c] = (int_mask & (1<<c));
 
     std::vector<bool> dofs (dof.n_dofs());
-    DoFTools::extract_dofs (dof, component_mask, dofs);
+    DoFTools::extract_dofs (dof, ComponentMask(component_mask), dofs);
 
     for (unsigned int d=0; d<dof.n_dofs(); ++d)
       deallog << dofs[d];
index 5cab4fd8db71cf9968beb79eedf8aeb009927388..882638def7b7ad513c566ce68eec6ef805867b2a 100644 (file)
@@ -67,7 +67,7 @@ check ()
       component_mask[c] = (int_mask & (1<<c));
 
     std::vector<bool> dofs (dof.n_dofs());
-    DoFTools::extract_dofs (dof, component_mask, dofs);
+    DoFTools::extract_dofs (dof, ComponentMask(component_mask), dofs);
 
     for (unsigned int d=0; d<dof.n_dofs(); ++d)
       deallog << dofs[d];
index 4d43486aa8d1d7bea8b5bfed03721f501d63e05a..15340c7f1a0eaf6612bc42773a471a6b2773882c 100644 (file)
@@ -67,7 +67,7 @@ check ()
        deallog << "level=" << level << std::endl;
 
        std::vector<bool> dofs (dof.n_dofs(level));
-       DoFTools::extract_level_dofs (level, dof, component_mask, dofs);
+       DoFTools::extract_level_dofs (level, dof, ComponentMask(component_mask), dofs);
 
        for (unsigned int d=0; d<dofs.size(); ++d)
          deallog << dofs[d];
diff --git a/tests/deal.II/extract_dofs_by_component_01x.cc b/tests/deal.II/extract_dofs_by_component_01x.cc
new file mode 100644 (file)
index 0000000..da9c880
--- /dev/null
@@ -0,0 +1,84 @@
+//----------------------------  extract_dofs_by_component_01x.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2000, 2001, 2003, 2004, 2007, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  extract_dofs_by_component_01x.cc  ---------------------------
+
+
+// test internal::extract_dofs_by_component for some corner cases that
+// I was unsure about when refactoring some code in there
+//
+// this particular test checks the call path to
+// internal::extract_dofs_by_component from DoFTools::extract_dofs via
+// the component_select flag
+//
+// this is a redux of the _01 test that broke on a branch at the
+// beginning
+
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/fe/fe_raviart_thomas.h>
+#include <deal.II/fe/fe_nedelec.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <fstream>
+
+
+
+
+template <int dim>
+void
+check ()
+{
+  Triangulation<dim> tr;
+  GridGenerator::hyper_cube(tr, -1,1);
+  tr.refine_global (1);
+
+                                  // use a simpler finite element
+                                  // than in the _01x test
+  FESystem<dim> element (FE_DGQ<dim>(0), 1,
+                        FE_Nedelec<dim>(0), 1);
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(element);
+
+                                  // use a mask that only has the
+                                  // first component set
+  std::vector<bool> component_mask (element.n_components(), false);
+  component_mask[0] = true;
+
+  std::vector<bool> dofs (dof.n_dofs());
+  DoFTools::extract_dofs (dof, ComponentMask(component_mask), dofs);
+
+  for (unsigned int d=0; d<dof.n_dofs(); ++d)
+    deallog << dofs[d];
+  deallog << std::endl;
+}
+
+
+int main ()
+{
+  std::ofstream logfile ("extract_dofs_by_component_01x/output");
+  deallog << std::setprecision (2);
+  deallog << std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+
+  deallog.push ("2d");
+  check<2> ();
+  deallog.pop ();
+}
diff --git a/tests/deal.II/extract_dofs_by_component_01x/cmp/generic b/tests/deal.II/extract_dofs_by_component_01x/cmp/generic
new file mode 100644 (file)
index 0000000..cb84fdd
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL:2d::0000100010001001
diff --git a/tests/deal.II/extract_dofs_by_component_01y.cc b/tests/deal.II/extract_dofs_by_component_01y.cc
new file mode 100644 (file)
index 0000000..b26e67a
--- /dev/null
@@ -0,0 +1,88 @@
+//----------------------------  extract_dofs_by_component_01y.cc  ---------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2000, 2001, 2003, 2004, 2007, 2010, 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------  extract_dofs_by_component_01y.cc  ---------------------------
+
+
+// test internal::extract_dofs_by_component for some corner cases that
+// I was unsure about when refactoring some code in there
+//
+// this particular test checks the call path to
+// internal::extract_dofs_by_component from DoFTools::extract_dofs via
+// the component_select flag
+//
+// this is a variant of the _01x test that shows that we were doing something
+// wrong all along even on mainline but that nobody apparently ever realized
+// this. the bug is that internal::extract_dofs_by_component got things wrong
+// when a non-primitive element was part of an FESystem but it was
+// accidentally correct whenever there was only one such element; this test
+// verifies the same with two non-primitive elements in one FESystem
+
+
+#include "../tests.h"
+#include <deal.II/base/logstream.h>
+#include <deal.II/grid/tria.h>
+#include <deal.II/grid/tria_iterator.h>
+#include <deal.II/grid/tria_accessor.h>
+#include <deal.II/grid/grid_generator.h>
+#include <deal.II/dofs/dof_handler.h>
+#include <deal.II/fe/fe_dgq.h>
+#include <deal.II/fe/fe_raviart_thomas.h>
+#include <deal.II/fe/fe_nedelec.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/dofs/dof_tools.h>
+
+#include <fstream>
+
+
+
+
+template <int dim>
+void
+check ()
+{
+  Triangulation<dim> tr;
+  GridGenerator::hyper_cube(tr, -1,1);
+
+  FESystem<dim> element (FE_Nedelec<dim>(0), 2);
+  DoFHandler<dim> dof(tr);
+  dof.distribute_dofs(element);
+
+                                  // use a mask that only has the one
+                                  // component set and cycle over
+                                  // which one that is
+  for (unsigned int comp=0; comp<element.n_components(); ++comp)
+    {
+      std::vector<bool> component_mask (element.n_components(), false);
+      component_mask[comp] = true;
+
+      std::vector<bool> dofs (dof.n_dofs());
+      DoFTools::extract_dofs (dof, ComponentMask(component_mask), dofs);
+
+      for (unsigned int d=0; d<dof.n_dofs(); ++d)
+       deallog << dofs[d];
+      deallog << std::endl;
+    }
+}
+
+
+int main ()
+{
+  std::ofstream logfile ("extract_dofs_by_component_01y/output");
+  deallog << std::setprecision (2);
+  deallog << std::fixed;
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+
+  deallog.push ("2d");
+  check<2> ();
+  deallog.pop ();
+}
diff --git a/tests/deal.II/extract_dofs_by_component_01y/cmp/generic b/tests/deal.II/extract_dofs_by_component_01y/cmp/generic
new file mode 100644 (file)
index 0000000..1768cba
--- /dev/null
@@ -0,0 +1,5 @@
+
+DEAL:2d::10101010
+DEAL:2d::10101010
+DEAL:2d::01010101
+DEAL:2d::01010101
index 81c76bb12d4f053bd295692269f8e4299e6999d2..3e3ff406664d85c1062270c7910bbed35869642c 100644 (file)
@@ -63,7 +63,7 @@ check ()
       component_mask[c] = (int_mask & (1<<c));
 
     std::vector<bool> dofs (dof.n_dofs());
-    DoFTools::extract_dofs (dof, component_mask, dofs, true);
+    DoFTools::extract_dofs (dof, BlockMask(component_mask), dofs);
 
     for (unsigned int d=0; d<dof.n_dofs(); ++d)
       deallog << dofs[d];
index c03394b2c55abd0d13a8e9f207a5edbb4d93aed1..e80ab81488652e6c433a4495308403cd13de1e8a 100644 (file)
@@ -67,7 +67,7 @@ check ()
       component_mask[c] = (int_mask & (1<<c));
 
     std::vector<bool> dofs (dof.n_dofs());
-    DoFTools::extract_dofs (dof, component_mask, dofs, true);
+    DoFTools::extract_dofs (dof, BlockMask(component_mask), dofs);
 
     for (unsigned int d=0; d<dof.n_dofs(); ++d)
       deallog << dofs[d];
index 1dba3dfefe3f88e777e002ff608df16f1b5bfb32..b21f70faa4bf292ef20155a6434ed17cfa556380 100644 (file)
@@ -17,7 +17,7 @@
 //
 // this particular test checks the call path to
 // internal::extract_dofs_by_component from DoFTools::extract_dofs via
-// the block_select flag
+// the BlockMask argument
 
 
 #include "../tests.h"
@@ -69,7 +69,7 @@ check ()
        deallog << "level=" << level << std::endl;
 
        std::vector<bool> dofs (dof.n_dofs(level));
-       DoFTools::extract_level_dofs (level, dof, component_mask, dofs, true);
+       DoFTools::extract_level_dofs (level, dof, BlockMask(component_mask), dofs);
 
        for (unsigned int d=0; d<dofs.size(); ++d)
          deallog << dofs[d];
index 2022c037a2aabfffa721c86db6280fc6f71e319c..d22612dd0329e80776ba7b9d99e26efab2ca5043 100644 (file)
@@ -7,7 +7,7 @@ DEAL:cg::Starting value 0.261041
 DEAL:cg::Convergence step 13 value 0
 DEAL::Memory consumption -- Triangulation: 2622
 DEAL::Memory consumption -- DoFHandler:    952
-DEAL::Memory consumption -- FE:            1680
+DEAL::Memory consumption -- FE:            1800
 DEAL::Memory consumption -- Constraints:   78
 DEAL::Memory consumption -- Sparsity:      456
 DEAL::Memory consumption -- Matrix:        632
@@ -20,7 +20,7 @@ DEAL:cg::Starting value 0.235472
 DEAL:cg::Convergence step 16 value 0
 DEAL::Memory consumption -- Triangulation: 3414
 DEAL::Memory consumption -- DoFHandler:    1140
-DEAL::Memory consumption -- FE:            1680
+DEAL::Memory consumption -- FE:            1800
 DEAL::Memory consumption -- Constraints:   78
 DEAL::Memory consumption -- Sparsity:      576
 DEAL::Memory consumption -- Matrix:        824
@@ -33,7 +33,7 @@ DEAL:cg::Starting value 0.226008
 DEAL:cg::Convergence step 21 value 0
 DEAL::Memory consumption -- Triangulation: 4166
 DEAL::Memory consumption -- DoFHandler:    1332
-DEAL::Memory consumption -- FE:            1680
+DEAL::Memory consumption -- FE:            1800
 DEAL::Memory consumption -- Constraints:   78
 DEAL::Memory consumption -- Sparsity:      736
 DEAL::Memory consumption -- Matrix:        1080
@@ -46,7 +46,7 @@ DEAL:cg::Starting value 0.211804
 DEAL:cg::Convergence step 27 value 0
 DEAL::Memory consumption -- Triangulation: 5118
 DEAL::Memory consumption -- DoFHandler:    1560
-DEAL::Memory consumption -- FE:            1680
+DEAL::Memory consumption -- FE:            1800
 DEAL::Memory consumption -- Constraints:   78
 DEAL::Memory consumption -- Sparsity:      936
 DEAL::Memory consumption -- Matrix:        1400
@@ -61,7 +61,7 @@ DEAL:cg::Starting value 0.351647
 DEAL:cg::Convergence step 22 value 0
 DEAL::Memory consumption -- Triangulation: 4739
 DEAL::Memory consumption -- DoFHandler:    1912
-DEAL::Memory consumption -- FE:            13948
+DEAL::Memory consumption -- FE:            14308
 DEAL::Memory consumption -- Constraints:   78
 DEAL::Memory consumption -- Sparsity:      5736
 DEAL::Memory consumption -- Matrix:        10616
@@ -74,7 +74,7 @@ DEAL:cg::Starting value 0.271387
 DEAL:cg::Convergence step 30 value 0
 DEAL::Memory consumption -- Triangulation: 9747
 DEAL::Memory consumption -- DoFHandler:    3704
-DEAL::Memory consumption -- FE:            13948
+DEAL::Memory consumption -- FE:            14308
 DEAL::Memory consumption -- Constraints:   3102
 DEAL::Memory consumption -- Sparsity:      13992
 DEAL::Memory consumption -- Matrix:        26168
@@ -87,7 +87,7 @@ DEAL:cg::Starting value 0.203851
 DEAL:cg::Convergence step 51 value 0
 DEAL::Memory consumption -- Triangulation: 19011
 DEAL::Memory consumption -- DoFHandler:    7160
-DEAL::Memory consumption -- FE:            13948
+DEAL::Memory consumption -- FE:            14308
 DEAL::Memory consumption -- Constraints:   10734
 DEAL::Memory consumption -- Sparsity:      31240
 DEAL::Memory consumption -- Matrix:        58744
@@ -100,7 +100,7 @@ DEAL:cg::Starting value 0.151971
 DEAL:cg::Convergence step 71 value 0
 DEAL::Memory consumption -- Triangulation: 38163
 DEAL::Memory consumption -- DoFHandler:    14648
-DEAL::Memory consumption -- FE:            13948
+DEAL::Memory consumption -- FE:            14308
 DEAL::Memory consumption -- Constraints:   19966
 DEAL::Memory consumption -- Sparsity:      64168
 DEAL::Memory consumption -- Matrix:        120824
@@ -115,7 +115,7 @@ DEAL:cg::Starting value 0.206362
 DEAL:cg::Convergence step 29 value 0
 DEAL::Memory consumption -- Triangulation: 22643
 DEAL::Memory consumption -- DoFHandler:    9736
-DEAL::Memory consumption -- FE:            314524
+DEAL::Memory consumption -- FE:            315604
 DEAL::Memory consumption -- Constraints:   78
 DEAL::Memory consumption -- Sparsity:      120280
 DEAL::Memory consumption -- Matrix:        236280
@@ -128,7 +128,7 @@ DEAL:cg::Starting value 0.116541
 DEAL:cg::Convergence step 31 value 0
 DEAL::Memory consumption -- Triangulation: 88881
 DEAL::Memory consumption -- DoFHandler:    37972
-DEAL::Memory consumption -- FE:            314524
+DEAL::Memory consumption -- FE:            315604
 DEAL::Memory consumption -- Constraints:   55262
 DEAL::Memory consumption -- Sparsity:      567152
 DEAL::Memory consumption -- Matrix:        1116424
@@ -141,7 +141,7 @@ DEAL:cg::Starting value 0.0978429
 DEAL:cg::Convergence step 55 value 0
 DEAL::Memory consumption -- Triangulation: 355923
 DEAL::Memory consumption -- DoFHandler:    151256
-DEAL::Memory consumption -- FE:            314524
+DEAL::Memory consumption -- FE:            315604
 DEAL::Memory consumption -- Constraints:   367086
 DEAL::Memory consumption -- Sparsity:      2517208
 DEAL::Memory consumption -- Matrix:        4959288
@@ -154,7 +154,7 @@ DEAL:cg::Starting value 0.0425276
 DEAL:cg::Convergence step 82 value 0
 DEAL::Memory consumption -- Triangulation: 1252759
 DEAL::Memory consumption -- DoFHandler:    541984
-DEAL::Memory consumption -- FE:            314524
+DEAL::Memory consumption -- FE:            315604
 DEAL::Memory consumption -- Constraints:   1307806
 DEAL::Memory consumption -- Sparsity:      8321768
 DEAL::Memory consumption -- Matrix:        16383928
diff --git a/tests/fe/block_mask_01.cc b/tests/fe/block_mask_01.cc
new file mode 100644 (file)
index 0000000..5d839ec
--- /dev/null
@@ -0,0 +1,50 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: test that creating a mask that's empty is always true
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  BlockMask m;
+  Assert (m[0] == true, ExcInternalError());
+  Assert (m[42] == true, ExcInternalError());
+  Assert (m[1000000000] == true, ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_01/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_01/cmp/generic b/tests/fe/block_mask_01/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_02.cc b/tests/fe/block_mask_02.cc
new file mode 100644 (file)
index 0000000..5de1640
--- /dev/null
@@ -0,0 +1,59 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: test that creating a mask from a vector<bool> works
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v(12);
+  for (unsigned int i=0; i<v.size(); ++i)
+    v[i] = (i%3 == 0);
+
+  BlockMask m(v);
+
+                                  // verify equality
+  for (unsigned int i=0; i<v.size(); ++i)
+    Assert (m[i] == v[i], ExcInternalError());
+
+                                  // this needs to throw an exception
+  m[v.size()];
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+  std::ofstream logfile ("block_mask_02/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_02/cmp/generic b/tests/fe/block_mask_02/cmp/generic
new file mode 100644 (file)
index 0000000..c10afe8
--- /dev/null
@@ -0,0 +1,3 @@
+
+DEAL::ExcIndexRange (block_index, 0, block_mask.size())
+DEAL::OK
diff --git a/tests/fe/block_mask_03.cc b/tests/fe/block_mask_03.cc
new file mode 100644 (file)
index 0000000..96e4c5e
--- /dev/null
@@ -0,0 +1,53 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: test that creating a mask with constant elements using the direct
+// constructor
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v(12, false);
+  BlockMask     m(12, false);
+
+                                  // verify equality
+  for (unsigned int i=0; i<v.size(); ++i)
+    Assert (m[i] == v[i], ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_03/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_03/cmp/generic b/tests/fe/block_mask_03/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_04.cc b/tests/fe/block_mask_04.cc
new file mode 100644 (file)
index 0000000..0169ed2
--- /dev/null
@@ -0,0 +1,48 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: test BlockMask::size()
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  Assert (BlockMask(12, false).size() == 12, ExcInternalError());
+  Assert (BlockMask().size() == 0, ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_04/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_04/cmp/generic b/tests/fe/block_mask_04/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_05.cc b/tests/fe/block_mask_05.cc
new file mode 100644 (file)
index 0000000..03776f6
--- /dev/null
@@ -0,0 +1,56 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::represents_n_blocks
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // test for an initialized mask
+  Assert (BlockMask(12,false).represents_n_blocks(12) == true,
+         ExcInternalError());
+  Assert (BlockMask(12,false).represents_n_blocks(13) == false,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (BlockMask().represents_n_blocks(12) == true,
+         ExcInternalError());
+  Assert (BlockMask().represents_n_blocks(13) == true,
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_05/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_05/cmp/generic b/tests/fe/block_mask_05/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_06.cc b/tests/fe/block_mask_06.cc
new file mode 100644 (file)
index 0000000..ae4806e
--- /dev/null
@@ -0,0 +1,64 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::n_selected_blocks
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // test for an initialized mask
+  Assert (BlockMask(12,true).n_selected_blocks() == 12,
+         ExcInternalError());
+  Assert (BlockMask(12,true).n_selected_blocks(12) == 12,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (BlockMask().n_selected_blocks(12) == 12,
+         ExcInternalError());
+  Assert (BlockMask().n_selected_blocks(13) == 13,
+         ExcInternalError());
+
+
+  deallog << "OK" << std::endl;
+
+                                  // this now must throw an exception,
+                                  // though:
+  Assert (BlockMask(12,true).n_selected_blocks(13) == 12,
+         ExcInternalError());
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+
+  std::ofstream logfile ("block_mask_06/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_06/cmp/generic b/tests/fe/block_mask_06/cmp/generic
new file mode 100644 (file)
index 0000000..ad52b7c
--- /dev/null
@@ -0,0 +1,4 @@
+
+DEAL::OK
+DEAL::ExcDimensionMismatch((n),(size()))
+DEAL::ExcDimensionMismatch((real_n),(block_mask.size()))
diff --git a/tests/fe/block_mask_07.cc b/tests/fe/block_mask_07.cc
new file mode 100644 (file)
index 0000000..b8f771b
--- /dev/null
@@ -0,0 +1,68 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::first_selected_block
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v(12,false);
+  v[3] = true;
+
+  BlockMask m(v);
+
+                                  // test for an initialized mask
+  Assert (m.first_selected_block() == 3,
+         ExcInternalError());
+  Assert (BlockMask(12,true).first_selected_block() == 0,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (BlockMask().first_selected_block(12) == 0,
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+
+                                  // the following should yield an exception:
+  Assert (BlockMask(12,true).first_selected_block(13) == 0,
+         ExcInternalError());
+                                  // as should this:
+  Assert (BlockMask(12,false).first_selected_block() == 0,
+         ExcInternalError());
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+
+  std::ofstream logfile ("block_mask_07/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_07/cmp/generic b/tests/fe/block_mask_07/cmp/generic
new file mode 100644 (file)
index 0000000..52f4cc4
--- /dev/null
@@ -0,0 +1,5 @@
+
+DEAL::OK
+DEAL::ExcDimensionMismatch((n),(size()))
+DEAL::ExcMessage ("No block is selected at all!")
+DEAL::ExcInternalError()
diff --git a/tests/fe/block_mask_08.cc b/tests/fe/block_mask_08.cc
new file mode 100644 (file)
index 0000000..1c13fca
--- /dev/null
@@ -0,0 +1,56 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::represents_the_all_selected_mask
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // test for an initialized mask
+  Assert (BlockMask(12,false).represents_the_all_selected_mask() == false,
+         ExcInternalError());
+                                  // note the semantics of the following as
+                                  // described in the documentation
+  Assert (BlockMask(12,true).represents_the_all_selected_mask() == false,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (BlockMask().represents_the_all_selected_mask() == true,
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_08/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_08/cmp/generic b/tests/fe/block_mask_08/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_09.cc b/tests/fe/block_mask_09.cc
new file mode 100644 (file)
index 0000000..90f5c79
--- /dev/null
@@ -0,0 +1,60 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::operator|
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v1(12);
+  for (unsigned int i=0; i<v1.size(); ++i)
+    v1[i] = (i%3 == 0);
+  std::vector<bool> v2(12);
+  for (unsigned int i=0; i<v2.size(); ++i)
+    v2[2] = (i%4 == 0);
+
+  BlockMask m1(v1);
+  BlockMask m2(v2);
+  BlockMask m = m1 | m2;
+
+                                  // verify equality
+  for (unsigned int i=0; i<v1.size(); ++i)
+    Assert (m[i] == (v1[i] || v2[i]), ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_09/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_09/cmp/generic b/tests/fe/block_mask_09/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_10.cc b/tests/fe/block_mask_10.cc
new file mode 100644 (file)
index 0000000..521cdb2
--- /dev/null
@@ -0,0 +1,60 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::operator&
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v1(12);
+  for (unsigned int i=0; i<v1.size(); ++i)
+    v1[i] = (i%3 == 0);
+  std::vector<bool> v2(12);
+  for (unsigned int i=0; i<v2.size(); ++i)
+    v2[2] = (i%4 == 0);
+
+  BlockMask m1(v1);
+  BlockMask m2(v2);
+  BlockMask m = m1 & m2;
+
+                                  // verify equality
+  for (unsigned int i=0; i<v1.size(); ++i)
+    Assert (m[i] == (v1[i] && v2[i]), ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_10/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_10/cmp/generic b/tests/fe/block_mask_10/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/block_mask_11.cc b/tests/fe/block_mask_11.cc
new file mode 100644 (file)
index 0000000..08e37f5
--- /dev/null
@@ -0,0 +1,70 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the BlockMask class
+//
+// here: BlockMask::operator==
+
+
+#include "../tests.h"
+#include <deal.II/fe/block_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v1(12);
+  for (unsigned int i=0; i<v1.size(); ++i)
+    v1[i] = (i%3 == 0);
+  std::vector<bool> v2(12);
+  for (unsigned int i=0; i<v2.size(); ++i)
+    v2[i] = (i%4 == 0);
+
+  std::vector<bool> v(12);
+  for (unsigned int i=0; i<v.size(); ++i)
+    v[i] = (v1[i] || v2[i]);
+
+  BlockMask m1(v1);
+  BlockMask m2(v2);
+  BlockMask m = m1 | m2;
+
+                                  // verify equality
+  Assert (m == BlockMask(v),
+         ExcInternalError());
+  Assert (!(m == m1),
+         ExcInternalError());
+  Assert (!(m == BlockMask(v1)),
+         ExcInternalError());
+  Assert (!(m == BlockMask(v2)),
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("block_mask_11/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/block_mask_11/cmp/generic b/tests/fe/block_mask_11/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_01.cc b/tests/fe/component_mask_01.cc
new file mode 100644 (file)
index 0000000..d69b5d9
--- /dev/null
@@ -0,0 +1,50 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test that creating a mask that's empty is always true
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  ComponentMask m;
+  Assert (m[0] == true, ExcInternalError());
+  Assert (m[42] == true, ExcInternalError());
+  Assert (m[1000000000] == true, ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_01/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_01/cmp/generic b/tests/fe/component_mask_01/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_02.cc b/tests/fe/component_mask_02.cc
new file mode 100644 (file)
index 0000000..2a33372
--- /dev/null
@@ -0,0 +1,59 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test that creating a mask from a vector<bool> works
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v(12);
+  for (unsigned int i=0; i<v.size(); ++i)
+    v[i] = (i%3 == 0);
+
+  ComponentMask m(v);
+
+                                  // verify equality
+  for (unsigned int i=0; i<v.size(); ++i)
+    Assert (m[i] == v[i], ExcInternalError());
+
+                                  // this needs to throw an exception
+  m[v.size()];
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+  std::ofstream logfile ("component_mask_02/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_02/cmp/generic b/tests/fe/component_mask_02/cmp/generic
new file mode 100644 (file)
index 0000000..801cb74
--- /dev/null
@@ -0,0 +1,3 @@
+
+DEAL::ExcIndexRange (component_index, 0, component_mask.size())
+DEAL::OK
diff --git a/tests/fe/component_mask_03.cc b/tests/fe/component_mask_03.cc
new file mode 100644 (file)
index 0000000..bf01d6b
--- /dev/null
@@ -0,0 +1,53 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test that creating a mask with constant elements using the direct
+// constructor
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v(12, false);
+  ComponentMask     m(12, false);
+
+                                  // verify equality
+  for (unsigned int i=0; i<v.size(); ++i)
+    Assert (m[i] == v[i], ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_03/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_03/cmp/generic b/tests/fe/component_mask_03/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_04.cc b/tests/fe/component_mask_04.cc
new file mode 100644 (file)
index 0000000..00f67c8
--- /dev/null
@@ -0,0 +1,48 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test ComponentMask::size()
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  Assert (ComponentMask(12, false).size() == 12, ExcInternalError());
+  Assert (ComponentMask().size() == 0, ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_04/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_04/cmp/generic b/tests/fe/component_mask_04/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_05.cc b/tests/fe/component_mask_05.cc
new file mode 100644 (file)
index 0000000..d9e53b1
--- /dev/null
@@ -0,0 +1,56 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::represents_n_components
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // test for an initialized mask
+  Assert (ComponentMask(12,false).represents_n_components(12) == true,
+         ExcInternalError());
+  Assert (ComponentMask(12,false).represents_n_components(13) == false,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (ComponentMask().represents_n_components(12) == true,
+         ExcInternalError());
+  Assert (ComponentMask().represents_n_components(13) == true,
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_05/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_05/cmp/generic b/tests/fe/component_mask_05/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_06.cc b/tests/fe/component_mask_06.cc
new file mode 100644 (file)
index 0000000..4328cd2
--- /dev/null
@@ -0,0 +1,64 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::n_selected_components
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // test for an initialized mask
+  Assert (ComponentMask(12,true).n_selected_components() == 12,
+         ExcInternalError());
+  Assert (ComponentMask(12,true).n_selected_components(12) == 12,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (ComponentMask().n_selected_components(12) == 12,
+         ExcInternalError());
+  Assert (ComponentMask().n_selected_components(13) == 13,
+         ExcInternalError());
+
+
+  deallog << "OK" << std::endl;
+
+                                  // this now must throw an exception,
+                                  // though:
+  Assert (ComponentMask(12,true).n_selected_components(13) == 12,
+         ExcInternalError());
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+
+  std::ofstream logfile ("component_mask_06/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_06/cmp/generic b/tests/fe/component_mask_06/cmp/generic
new file mode 100644 (file)
index 0000000..d6c5311
--- /dev/null
@@ -0,0 +1,4 @@
+
+DEAL::OK
+DEAL::ExcDimensionMismatch((n),(size()))
+DEAL::ExcDimensionMismatch((real_n),(component_mask.size()))
diff --git a/tests/fe/component_mask_07.cc b/tests/fe/component_mask_07.cc
new file mode 100644 (file)
index 0000000..bc9ae66
--- /dev/null
@@ -0,0 +1,68 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::first_selected_component
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v(12,false);
+  v[3] = true;
+
+  ComponentMask m(v);
+
+                                  // test for an initialized mask
+  Assert (m.first_selected_component() == 3,
+         ExcInternalError());
+  Assert (ComponentMask(12,true).first_selected_component() == 0,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (ComponentMask().first_selected_component(12) == 0,
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+
+                                  // the following should yield an exception:
+  Assert (ComponentMask(12,true).first_selected_component(13) == 0,
+         ExcInternalError());
+                                  // as should this:
+  Assert (ComponentMask(12,false).first_selected_component() == 0,
+         ExcInternalError());
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+
+  std::ofstream logfile ("component_mask_07/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_07/cmp/generic b/tests/fe/component_mask_07/cmp/generic
new file mode 100644 (file)
index 0000000..26c4dfb
--- /dev/null
@@ -0,0 +1,5 @@
+
+DEAL::OK
+DEAL::ExcDimensionMismatch((n),(size()))
+DEAL::ExcMessage ("No component is selected at all!")
+DEAL::ExcInternalError()
diff --git a/tests/fe/component_mask_08.cc b/tests/fe/component_mask_08.cc
new file mode 100644 (file)
index 0000000..8057dc2
--- /dev/null
@@ -0,0 +1,56 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::represents_the_all_selected_mask
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // test for an initialized mask
+  Assert (ComponentMask(12,false).represents_the_all_selected_mask() == false,
+         ExcInternalError());
+                                  // note the semantics of the following as
+                                  // described in the documentation
+  Assert (ComponentMask(12,true).represents_the_all_selected_mask() == false,
+         ExcInternalError());
+                                  // test for an empty mask
+  Assert (ComponentMask().represents_the_all_selected_mask() == true,
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_08/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_08/cmp/generic b/tests/fe/component_mask_08/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_09.cc b/tests/fe/component_mask_09.cc
new file mode 100644 (file)
index 0000000..d08abe0
--- /dev/null
@@ -0,0 +1,60 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::operator|
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v1(12);
+  for (unsigned int i=0; i<v1.size(); ++i)
+    v1[i] = (i%3 == 0);
+  std::vector<bool> v2(12);
+  for (unsigned int i=0; i<v2.size(); ++i)
+    v2[2] = (i%4 == 0);
+
+  ComponentMask m1(v1);
+  ComponentMask m2(v2);
+  ComponentMask m = m1 | m2;
+
+                                  // verify equality
+  for (unsigned int i=0; i<v1.size(); ++i)
+    Assert (m[i] == (v1[i] || v2[i]), ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_09/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_09/cmp/generic b/tests/fe/component_mask_09/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_10.cc b/tests/fe/component_mask_10.cc
new file mode 100644 (file)
index 0000000..6142516
--- /dev/null
@@ -0,0 +1,60 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::operator&
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v1(12);
+  for (unsigned int i=0; i<v1.size(); ++i)
+    v1[i] = (i%3 == 0);
+  std::vector<bool> v2(12);
+  for (unsigned int i=0; i<v2.size(); ++i)
+    v2[2] = (i%4 == 0);
+
+  ComponentMask m1(v1);
+  ComponentMask m2(v2);
+  ComponentMask m = m1 & m2;
+
+                                  // verify equality
+  for (unsigned int i=0; i<v1.size(); ++i)
+    Assert (m[i] == (v1[i] && v2[i]), ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_10/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_10/cmp/generic b/tests/fe/component_mask_10/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_11.cc b/tests/fe/component_mask_11.cc
new file mode 100644 (file)
index 0000000..6ab8a59
--- /dev/null
@@ -0,0 +1,70 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: ComponentMask::operator==
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+  std::vector<bool> v1(12);
+  for (unsigned int i=0; i<v1.size(); ++i)
+    v1[i] = (i%3 == 0);
+  std::vector<bool> v2(12);
+  for (unsigned int i=0; i<v2.size(); ++i)
+    v2[i] = (i%4 == 0);
+
+  std::vector<bool> v(12);
+  for (unsigned int i=0; i<v.size(); ++i)
+    v[i] = (v1[i] || v2[i]);
+
+  ComponentMask m1(v1);
+  ComponentMask m2(v2);
+  ComponentMask m = m1 | m2;
+
+                                  // verify equality
+  Assert (m == ComponentMask(v),
+         ExcInternalError());
+  Assert (!(m == m1),
+         ExcInternalError());
+  Assert (!(m == ComponentMask(v1)),
+         ExcInternalError());
+  Assert (!(m == ComponentMask(v2)),
+         ExcInternalError());
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_11/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_11/cmp/generic b/tests/fe/component_mask_11/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_12.cc b/tests/fe/component_mask_12.cc
new file mode 100644 (file)
index 0000000..5b6fc45
--- /dev/null
@@ -0,0 +1,80 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test conversion from component mask to block mask and back
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_q.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // the following element has as
+                                  // many components as blocks so
+                                  // that any component mask we come
+                                  // up with should also produce a
+                                  // valid block mask (in fact, it
+                                  // should be exactly the same mask)
+  FESystem<2> fe (FE_Q<2>(1), 5);
+
+                                  // try all possible component
+                                  // masks, which we encode as bit
+                                  // strings
+  for (unsigned int int_mask=0; int_mask<(1U<<fe.n_components()); ++int_mask)
+  {
+    std::vector<bool> component_mask (fe.n_components());
+    for (unsigned int c=0; c<fe.n_components(); ++c)
+      component_mask[c] = (int_mask & (1<<c));
+
+                                    // make sure that the round-trip works
+    Assert (ComponentMask(component_mask) == fe.component_mask(fe.block_mask(ComponentMask(component_mask))),
+           ExcInternalError());
+
+                                    // then compare elementwise with
+                                    // the block mask (where there is
+                                    // no direct comparison operator,
+                                    // but they should be the same
+                                    // because each component of the
+                                    // element corresponds to a
+                                    // block)
+    for (unsigned int c=0; c<fe.n_components(); ++c)
+      Assert (component_mask[c] == fe.block_mask(component_mask)[c],
+             ExcInternalError());
+  }
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_12/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_12/cmp/generic b/tests/fe/component_mask_12/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_13.cc b/tests/fe/component_mask_13.cc
new file mode 100644 (file)
index 0000000..8440d78
--- /dev/null
@@ -0,0 +1,67 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test conversion from component mask to block mask and back. start with
+// blocks where the _12 test starts with components, and use an element that
+// does have fewer blocks than components
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_raviart_thomas.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // the following element has more
+                                  // components than blocks
+  FESystem<2> fe (FE_RaviartThomas<2>(1), 3);
+
+                                  // try all possible block
+                                  // masks, which we encode as bit
+                                  // strings
+  for (unsigned int int_mask=0; int_mask<(1U<<fe.n_blocks()); ++int_mask)
+  {
+    std::vector<bool> block_mask (fe.n_blocks());
+    for (unsigned int c=0; c<fe.n_blocks(); ++c)
+      block_mask[c] = (int_mask & (1<<c));
+
+                                    // make sure that the round-trip works
+    Assert (BlockMask(block_mask) == fe.block_mask(fe.component_mask(BlockMask(block_mask))),
+           ExcInternalError());
+  }
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  std::ofstream logfile ("component_mask_13/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_13/cmp/generic b/tests/fe/component_mask_13/cmp/generic
new file mode 100644 (file)
index 0000000..0fd8fc1
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEAL::OK
diff --git a/tests/fe/component_mask_14.cc b/tests/fe/component_mask_14.cc
new file mode 100644 (file)
index 0000000..49e1259
--- /dev/null
@@ -0,0 +1,69 @@
+//----------------------------------------------------------------------
+//    $Id$
+//    Version: $Name$
+//
+//    Copyright (C) 2012 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//----------------------------------------------------------------------
+
+
+// tests for the ComponentMask class
+//
+// here: test conversion from component mask to block mask does indeed
+// not work if we try to split a block
+
+
+#include "../tests.h"
+#include <deal.II/fe/component_mask.h>
+#include <deal.II/fe/fe_system.h>
+#include <deal.II/fe/fe_raviart_thomas.h>
+
+#include <fstream>
+#include <iomanip>
+
+
+
+
+void test ()
+{
+                                  // the following element has more
+                                  // components than blocks
+  FESystem<2> fe (FE_RaviartThomas<2>(1), 2);
+
+                                  // try all possible component
+                                  // masks, which we encode as bit
+                                  // strings
+  for (unsigned int int_mask=0; int_mask<(1U<<fe.n_components()); ++int_mask)
+  {
+    std::vector<bool> component_mask (fe.n_components());
+    for (unsigned int c=0; c<fe.n_components(); ++c)
+      component_mask[c] = (int_mask & (1<<c));
+
+                                    // now try to convert to a block
+                                    // mask. this should not always
+                                    // work
+    deallog << fe.block_mask (component_mask) << std::endl;
+  }
+
+  deallog << "OK" << std::endl;
+}
+
+
+int main()
+{
+  deal_II_exceptions::disable_abort_on_exception();
+
+  std::ofstream logfile ("component_mask_14/output");
+  deallog << std::setprecision (4);
+
+  deallog.attach(logfile);
+  deallog.depth_console (0);
+  deallog.threshold_double(1.e-7);
+
+  test();
+}
diff --git a/tests/fe/component_mask_14/cmp/generic b/tests/fe/component_mask_14/cmp/generic
new file mode 100644 (file)
index 0000000..7d18a36
--- /dev/null
@@ -0,0 +1,34 @@
+
+DEAL::[false,false]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[true,false]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[false,false]
+DEAL::[true,false]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[false,true]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[true,true]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[false,true]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[true,true]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[false,false]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[true,false]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[false,false]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[true,false]
+DEAL::[false,true]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[true,true]
+DEAL::ExcMessage ("The component mask argument given to this function " "is not a mask where the individual components belonging " "to one block of the finite element are either all " "selected or not selected. You can't call this function " "with a component mask that splits blocks.")
+DEAL::[false,true]
+DEAL::[true,true]
+DEAL::OK
index 35f72cb254e832539e228295180b106cd9130a3f..b1c7058fe836860ecb7b486c28ccee35e4c26376 100644 (file)
@@ -118,7 +118,7 @@ DEAL::0.0843461 0.115017 -0.0920139 -0.00766782 0.424913 0.579427 -0.463542 -0.0
 DEAL::-0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 
 DEAL::0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 
 DEAL::-0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 
-DEAL::-0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 
+DEAL::-0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 
 DEAL::0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 
 DEAL::-0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 
 DEAL::0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 
@@ -344,7 +344,7 @@ DEAL::0.00604248 -0.0241699 -0.0140991 -0.0241699 0.0966797 0.0563965 -0.0140991
 DEAL::-0.0120850 0.0161133 0.0120850 0.0483398 -0.0644531 -0.0483398 0.0281982 -0.0375977 -0.0281982 -0.0131836 0.0175781 0.0131836 0.0527344 -0.0703125 -0.0527344 0.0307617 -0.0410156 -0.0307617 0.00329590 -0.00439453 -0.00329590 -0.0131836 0.0175781 0.0131836 -0.00769043 0.0102539 0.00769043 
 DEAL::0.0886230 0.0966797 -0.0241699 -0.118164 -0.128906 0.0322266 -0.0886230 -0.0966797 0.0241699 0.0966797 0.105469 -0.0263672 -0.128906 -0.140625 0.0351563 -0.0966797 -0.105469 0.0263672 -0.0241699 -0.0263672 0.00659180 0.0322266 0.0351563 -0.00878906 0.0241699 0.0263672 -0.00659180 
 DEAL::-0.0120850 0.0483398 0.0281982 0.0161133 -0.0644531 -0.0375977 0.0120850 -0.0483398 -0.0281982 -0.0131836 0.0527344 0.0307617 0.0175781 -0.0703125 -0.0410156 0.0131836 -0.0527344 -0.0307617 0.00329590 -0.0131836 -0.00769043 -0.00439453 0.0175781 0.0102539 -0.00329590 0.0131836 0.00769043 
-DEAL::0.0241699 -0.0322266 -0.0241699 -0.0322266 0.0429687 0.0322266 -0.0241699 0.0322266 0.0241699 0.0263672 -0.0351562 -0.0263672 -0.0351563 0.0468750 0.0351563 -0.0263672 0.0351563 0.0263672 -0.00659180 0.00878906 0.00659180 0.00878906 -0.0117187 -0.00878906 0.00659180 -0.00878906 -0.00659180 
+DEAL::0.0241699 -0.0322266 -0.0241699 -0.0322266 0.0429687 0.0322266 -0.0241699 0.0322266 0.0241699 0.0263672 -0.0351563 -0.0263672 -0.0351563 0.0468750 0.0351563 -0.0263672 0.0351563 0.0263672 -0.00659180 0.00878906 0.00659180 0.00878906 -0.0117187 -0.00878906 0.00659180 -0.00878906 -0.00659180 
 DEAL::-0.0443115 -0.0483398 0.0120850 -0.0483398 -0.0527344 0.0131836 0.0120850 0.0131836 -0.00329590 0.177246 0.193359 -0.0483398 0.193359 0.210938 -0.0527344 -0.0483398 -0.0527344 0.0131836 0.103394 0.112793 -0.0281982 0.112793 0.123047 -0.0307617 -0.0281982 -0.0307617 0.00769043 
 DEAL::0.00604248 -0.0241699 -0.0140991 0.00659180 -0.0263672 -0.0153809 -0.00164795 0.00659180 0.00384521 -0.0241699 0.0966797 0.0563965 -0.0263672 0.105469 0.0615234 0.00659180 -0.0263672 -0.0153809 -0.0140991 0.0563965 0.0328979 -0.0153809 0.0615234 0.0358887 0.00384521 -0.0153809 -0.00897217 
 DEAL::-0.0120850 0.0161133 0.0120850 -0.0131836 0.0175781 0.0131836 0.00329590 -0.00439453 -0.00329590 0.0483398 -0.0644531 -0.0483398 0.0527344 -0.0703125 -0.0527344 -0.0131836 0.0175781 0.0131836 0.0281982 -0.0375977 -0.0281982 0.0307617 -0.0410156 -0.0307617 -0.00769043 0.0102539 0.00769043 
@@ -354,9 +354,9 @@ DEAL::0.00164795 -0.00219727 -0.00164795 -0.00659180 0.00878906 0.00659180 -0.00
 DEAL::-0.0120850 -0.0131836 0.00329590 0.0161133 0.0175781 -0.00439453 0.0120850 0.0131836 -0.00329590 0.0483398 0.0527344 -0.0131836 -0.0644531 -0.0703125 0.0175781 -0.0483398 -0.0527344 0.0131836 0.0281982 0.0307617 -0.00769043 -0.0375977 -0.0410156 0.0102539 -0.0281982 -0.0307617 0.00769043 
 DEAL::0.00164795 -0.00659180 -0.00384521 -0.00219727 0.00878906 0.00512695 -0.00164795 0.00659180 0.00384521 -0.00659180 0.0263672 0.0153809 0.00878906 -0.0351562 -0.0205078 0.00659180 -0.0263672 -0.0153809 -0.00384521 0.0153809 0.00897217 0.00512695 -0.0205078 -0.0119629 0.00384521 -0.0153809 -0.00897217 
 DEAL::-0.00329590 0.00439453 0.00329590 0.00439453 -0.00585937 -0.00439453 0.00329590 -0.00439453 -0.00329590 0.0131836 -0.0175781 -0.0131836 -0.0175781 0.0234375 0.0175781 -0.0131836 0.0175781 0.0131836 0.00769043 -0.0102539 -0.00769043 -0.0102539 0.0136719 0.0102539 -0.00769043 0.0102539 0.00769043 
-DEAL::0.0886230 0.0966797 -0.0241699 0.0966797 0.105469 -0.0263672 -0.0241699 -0.0263672 0.00659180 -0.118164 -0.128906 0.0322266 -0.128906 -0.140625 0.0351562 0.0322266 0.0351563 -0.00878906 -0.0886230 -0.0966797 0.0241699 -0.0966797 -0.105469 0.0263672 0.0241699 0.0263672 -0.00659180 
+DEAL::0.0886230 0.0966797 -0.0241699 0.0966797 0.105469 -0.0263672 -0.0241699 -0.0263672 0.00659180 -0.118164 -0.128906 0.0322266 -0.128906 -0.140625 0.0351563 0.0322266 0.0351563 -0.00878906 -0.0886230 -0.0966797 0.0241699 -0.0966797 -0.105469 0.0263672 0.0241699 0.0263672 -0.00659180 
 DEAL::-0.0120850 0.0483398 0.0281982 -0.0131836 0.0527344 0.0307617 0.00329590 -0.0131836 -0.00769043 0.0161133 -0.0644531 -0.0375977 0.0175781 -0.0703125 -0.0410156 -0.00439453 0.0175781 0.0102539 0.0120850 -0.0483398 -0.0281982 0.0131836 -0.0527344 -0.0307617 -0.00329590 0.0131836 0.00769043 
-DEAL::0.0241699 -0.0322266 -0.0241699 0.0263672 -0.0351563 -0.0263672 -0.00659180 0.00878906 0.00659180 -0.0322266 0.0429687 0.0322266 -0.0351563 0.0468750 0.0351562 0.00878906 -0.0117187 -0.00878906 -0.0241699 0.0322266 0.0241699 -0.0263672 0.0351562 0.0263672 0.00659180 -0.00878906 -0.00659180 
+DEAL::0.0241699 -0.0322266 -0.0241699 0.0263672 -0.0351563 -0.0263672 -0.00659180 0.00878906 0.00659180 -0.0322266 0.0429687 0.0322266 -0.0351563 0.0468750 0.0351563 0.00878906 -0.0117187 -0.00878906 -0.0241699 0.0322266 0.0241699 -0.0263672 0.0351562 0.0263672 0.00659180 -0.00878906 -0.00659180 
 DEAL::-0.0120850 -0.0131836 0.00329590 0.0483398 0.0527344 -0.0131836 0.0281982 0.0307617 -0.00769043 0.0161133 0.0175781 -0.00439453 -0.0644531 -0.0703125 0.0175781 -0.0375977 -0.0410156 0.0102539 0.0120850 0.0131836 -0.00329590 -0.0483398 -0.0527344 0.0131836 -0.0281982 -0.0307617 0.00769043 
 DEAL::0.00164795 -0.00659180 -0.00384521 -0.00659180 0.0263672 0.0153809 -0.00384521 0.0153809 0.00897217 -0.00219727 0.00878906 0.00512695 0.00878906 -0.0351562 -0.0205078 0.00512695 -0.0205078 -0.0119629 -0.00164795 0.00659180 0.00384521 0.00659180 -0.0263672 -0.0153809 0.00384521 -0.0153809 -0.00897217 
 DEAL::-0.00329590 0.00439453 0.00329590 0.0131836 -0.0175781 -0.0131836 0.00769043 -0.0102539 -0.00769043 0.00439453 -0.00585937 -0.00439453 -0.0175781 0.0234375 0.0175781 -0.0102539 0.0136719 0.0102539 0.00329590 -0.00439453 -0.00329590 -0.0131836 0.0175781 0.0131836 -0.00769043 0.0102539 0.00769043 
@@ -376,13 +376,13 @@ DEAL::-0.0241699 0.0966797 0.0886230 0.0322266 -0.128906 -0.118164 0.0241699 -0.
 DEAL::0.0120850 0.0161133 -0.0120850 0.0131836 0.0175781 -0.0131836 -0.00329590 -0.00439453 0.00329590 -0.0483398 -0.0644531 0.0483398 -0.0527344 -0.0703125 0.0527344 0.0131836 0.0175781 -0.0131836 -0.0281982 -0.0375977 0.0281982 -0.0307617 -0.0410156 0.0307617 0.00769043 0.0102539 -0.00769043 
 DEAL::-0.0140991 -0.0241699 0.00604248 -0.0153809 -0.0263672 0.00659180 0.00384521 0.00659180 -0.00164795 0.0563965 0.0966797 -0.0241699 0.0615234 0.105469 -0.0263672 -0.0153809 -0.0263672 0.00659180 0.0328979 0.0563965 -0.0140991 0.0358887 0.0615234 -0.0153809 -0.00897217 -0.0153809 0.00384521 
 DEAL::0.0120850 -0.0483398 -0.0443115 0.0131836 -0.0527344 -0.0483398 -0.00329590 0.0131836 0.0120850 -0.0483398 0.193359 0.177246 -0.0527344 0.210938 0.193359 0.0131836 -0.0527344 -0.0483398 -0.0281982 0.112793 0.103394 -0.0307617 0.123047 0.112793 0.00769043 -0.0307617 -0.0281982 
-DEAL::-0.00164795 -0.00219727 0.00164795 0.00659180 0.00878906 -0.00659180 0.00384521 0.00512695 -0.00384521 0.00659180 0.00878906 -0.00659180 -0.0263672 -0.0351563 0.0263672 -0.0153809 -0.0205078 0.0153809 0.00384521 0.00512695 -0.00384521 -0.0153809 -0.0205078 0.0153809 -0.00897217 -0.0119629 0.00897217 
+DEAL::-0.00164795 -0.00219727 0.00164795 0.00659180 0.00878906 -0.00659180 0.00384521 0.00512695 -0.00384521 0.00659180 0.00878906 -0.00659180 -0.0263672 -0.0351562 0.0263672 -0.0153809 -0.0205078 0.0153809 0.00384521 0.00512695 -0.00384521 -0.0153809 -0.0205078 0.0153809 -0.00897217 -0.0119629 0.00897217 
 DEAL::0.00192261 0.00329590 -0.000823975 -0.00769043 -0.0131836 0.00329590 -0.00448608 -0.00769043 0.00192261 -0.00769043 -0.0131836 0.00329590 0.0307617 0.0527344 -0.0131836 0.0179443 0.0307617 -0.00769043 -0.00448608 -0.00769043 0.00192261 0.0179443 0.0307617 -0.00769043 0.0104675 0.0179443 -0.00448608 
 DEAL::-0.00164795 0.00659180 0.00604248 0.00659180 -0.0263672 -0.0241699 0.00384521 -0.0153809 -0.0140991 0.00659180 -0.0263672 -0.0241699 -0.0263672 0.105469 0.0966797 -0.0153809 0.0615234 0.0563965 0.00384521 -0.0153809 -0.0140991 -0.0153809 0.0615234 0.0563965 -0.00897217 0.0358887 0.0328979 
 DEAL::0.00329590 0.00439453 -0.00329590 -0.00439453 -0.00585937 0.00439453 -0.00329590 -0.00439453 0.00329590 -0.0131836 -0.0175781 0.0131836 0.0175781 0.0234375 -0.0175781 0.0131836 0.0175781 -0.0131836 -0.00769043 -0.0102539 0.00769043 0.0102539 0.0136719 -0.0102539 0.00769043 0.0102539 -0.00769043 
 DEAL::-0.00384521 -0.00659180 0.00164795 0.00512695 0.00878906 -0.00219727 0.00384521 0.00659180 -0.00164795 0.0153809 0.0263672 -0.00659180 -0.0205078 -0.0351562 0.00878906 -0.0153809 -0.0263672 0.00659180 0.00897217 0.0153809 -0.00384521 -0.0119629 -0.0205078 0.00512695 -0.00897217 -0.0153809 0.00384521 
 DEAL::0.00329590 -0.0131836 -0.0120850 -0.00439453 0.0175781 0.0161133 -0.00329590 0.0131836 0.0120850 -0.0131836 0.0527344 0.0483398 0.0175781 -0.0703125 -0.0644531 0.0131836 -0.0527344 -0.0483398 -0.00769043 0.0307617 0.0281982 0.0102539 -0.0410156 -0.0375977 0.00769043 -0.0307617 -0.0281982 
-DEAL::-0.0241699 -0.0322266 0.0241699 -0.0263672 -0.0351563 0.0263672 0.00659180 0.00878906 -0.00659180 0.0322266 0.0429687 -0.0322266 0.0351562 0.0468750 -0.0351563 -0.00878906 -0.0117187 0.00878906 0.0241699 0.0322266 -0.0241699 0.0263672 0.0351562 -0.0263672 -0.00659180 -0.00878906 0.00659180 
+DEAL::-0.0241699 -0.0322266 0.0241699 -0.0263672 -0.0351563 0.0263672 0.00659180 0.00878906 -0.00659180 0.0322266 0.0429687 -0.0322266 0.0351563 0.0468750 -0.0351563 -0.00878906 -0.0117187 0.00878906 0.0241699 0.0322266 -0.0241699 0.0263672 0.0351563 -0.0263672 -0.00659180 -0.00878906 0.00659180 
 DEAL::0.0281982 0.0483398 -0.0120850 0.0307617 0.0527344 -0.0131836 -0.00769043 -0.0131836 0.00329590 -0.0375977 -0.0644531 0.0161133 -0.0410156 -0.0703125 0.0175781 0.0102539 0.0175781 -0.00439453 -0.0281982 -0.0483398 0.0120850 -0.0307617 -0.0527344 0.0131836 0.00769043 0.0131836 -0.00329590 
 DEAL::-0.0241699 0.0966797 0.0886230 -0.0263672 0.105469 0.0966797 0.00659180 -0.0263672 -0.0241699 0.0322266 -0.128906 -0.118164 0.0351562 -0.140625 -0.128906 -0.00878906 0.0351563 0.0322266 0.0241699 -0.0966797 -0.0886230 0.0263672 -0.105469 -0.0966797 -0.00659180 0.0263672 0.0241699 
 DEAL::0.00329590 0.00439453 -0.00329590 -0.0131836 -0.0175781 0.0131836 -0.00769043 -0.0102539 0.00769043 -0.00439453 -0.00585937 0.00439453 0.0175781 0.0234375 -0.0175781 0.0102539 0.0136719 -0.0102539 -0.00329590 -0.00439453 0.00329590 0.0131836 0.0175781 -0.0131836 0.00769043 0.0102539 -0.00769043 
@@ -402,7 +402,7 @@ DEAL::-0.0886230 -0.0966797 0.0241699 0.354492 0.386719 -0.0966797 0.324951 0.35
 DEAL::0.0120850 -0.0483398 -0.0281982 -0.0483398 0.193359 0.112793 -0.0443115 0.177246 0.103394 0.0131836 -0.0527344 -0.0307617 -0.0527344 0.210937 0.123047 -0.0483398 0.193359 0.112793 -0.00329590 0.0131836 0.00769043 0.0131836 -0.0527344 -0.0307617 0.0120850 -0.0483398 -0.0281982 
 DEAL::-0.0241699 0.0322266 0.0241699 0.0966797 -0.128906 -0.0966797 0.0886230 -0.118164 -0.0886230 -0.0263672 0.0351563 0.0263672 0.105469 -0.140625 -0.105469 0.0966797 -0.128906 -0.0966797 0.00659180 -0.00878906 -0.00659180 -0.0263672 0.0351563 0.0263672 -0.0241699 0.0322266 0.0241699 
 DEAL::0.0120850 0.0131836 -0.00329590 0.0161133 0.0175781 -0.00439453 -0.0120850 -0.0131836 0.00329590 -0.0483398 -0.0527344 0.0131836 -0.0644531 -0.0703125 0.0175781 0.0483398 0.0527344 -0.0131836 -0.0281982 -0.0307617 0.00769043 -0.0375977 -0.0410156 0.0102539 0.0281982 0.0307617 -0.00769043 
-DEAL::-0.00164795 0.00659180 0.00384521 -0.00219727 0.00878906 0.00512695 0.00164795 -0.00659180 -0.00384521 0.00659180 -0.0263672 -0.0153809 0.00878906 -0.0351562 -0.0205078 -0.00659180 0.0263672 0.0153809 0.00384521 -0.0153809 -0.00897217 0.00512695 -0.0205078 -0.0119629 -0.00384521 0.0153809 0.00897217 
+DEAL::-0.00164795 0.00659180 0.00384521 -0.00219727 0.00878906 0.00512695 0.00164795 -0.00659180 -0.00384521 0.00659180 -0.0263672 -0.0153809 0.00878906 -0.0351563 -0.0205078 -0.00659180 0.0263672 0.0153809 0.00384521 -0.0153809 -0.00897217 0.00512695 -0.0205078 -0.0119629 -0.00384521 0.0153809 0.00897217 
 DEAL::0.00329590 -0.00439453 -0.00329590 0.00439453 -0.00585937 -0.00439453 -0.00329590 0.00439453 0.00329590 -0.0131836 0.0175781 0.0131836 -0.0175781 0.0234375 0.0175781 0.0131836 -0.0175781 -0.0131836 -0.00769043 0.0102539 0.00769043 -0.0102539 0.0136719 0.0102539 0.00769043 -0.0102539 -0.00769043 
 DEAL::-0.0140991 -0.0153809 0.00384521 -0.0241699 -0.0263672 0.00659180 0.00604248 0.00659180 -0.00164795 0.0563965 0.0615234 -0.0153809 0.0966797 0.105469 -0.0263672 -0.0241699 -0.0263672 0.00659180 0.0328979 0.0358887 -0.00897217 0.0563965 0.0615234 -0.0153809 -0.0140991 -0.0153809 0.00384521 
 DEAL::0.00192261 -0.00769043 -0.00448608 0.00329590 -0.0131836 -0.00769043 -0.000823975 0.00329590 0.00192261 -0.00769043 0.0307617 0.0179443 -0.0131836 0.0527344 0.0307617 0.00329590 -0.0131836 -0.00769043 -0.00448608 0.0179443 0.0104675 -0.00769043 0.0307617 0.0179443 0.00192261 -0.00769043 -0.00448608 
@@ -420,7 +420,7 @@ DEAL::-0.0241699 -0.0263672 0.00659180 0.0966797 0.105469 -0.0263672 0.0886230 0
 DEAL::0.00329590 -0.0131836 -0.00769043 -0.0131836 0.0527344 0.0307617 -0.0120850 0.0483398 0.0281982 -0.00439453 0.0175781 0.0102539 0.0175781 -0.0703125 -0.0410156 0.0161133 -0.0644531 -0.0375977 -0.00329590 0.0131836 0.00769043 0.0131836 -0.0527344 -0.0307617 0.0120850 -0.0483398 -0.0281982 
 DEAL::-0.00659180 0.00878906 0.00659180 0.0263672 -0.0351562 -0.0263672 0.0241699 -0.0322266 -0.0241699 0.00878906 -0.0117187 -0.00878906 -0.0351563 0.0468750 0.0351563 -0.0322266 0.0429687 0.0322266 0.00659180 -0.00878906 -0.00659180 -0.0263672 0.0351563 0.0263672 -0.0241699 0.0322266 0.0241699 
 DEAL::DGQ2<3> restriction 3
-DEAL::0.0241699 0.0322266 -0.0241699 0.0322266 0.0429688 -0.0322266 -0.0241699 -0.0322266 0.0241699 0.0263672 0.0351563 -0.0263672 0.0351563 0.0468750 -0.0351563 -0.0263672 -0.0351562 0.0263672 -0.00659180 -0.00878906 0.00659180 -0.00878906 -0.0117188 0.00878906 0.00659180 0.00878906 -0.00659180 
+DEAL::0.0241699 0.0322266 -0.0241699 0.0322266 0.0429688 -0.0322266 -0.0241699 -0.0322266 0.0241699 0.0263672 0.0351562 -0.0263672 0.0351563 0.0468750 -0.0351563 -0.0263672 -0.0351562 0.0263672 -0.00659180 -0.00878906 0.00659180 -0.00878906 -0.0117188 0.00878906 0.00659180 0.00878906 -0.00659180 
 DEAL::-0.0281982 -0.0483398 0.0120850 -0.0375977 -0.0644531 0.0161133 0.0281982 0.0483398 -0.0120850 -0.0307617 -0.0527344 0.0131836 -0.0410156 -0.0703125 0.0175781 0.0307617 0.0527344 -0.0131836 0.00769043 0.0131836 -0.00329590 0.0102539 0.0175781 -0.00439453 -0.00769043 -0.0131836 0.00329590 
 DEAL::0.0241699 -0.0966797 -0.0886230 0.0322266 -0.128906 -0.118164 -0.0241699 0.0966797 0.0886230 0.0263672 -0.105469 -0.0966797 0.0351563 -0.140625 -0.128906 -0.0263672 0.105469 0.0966797 -0.00659180 0.0263672 0.0241699 -0.00878906 0.0351563 0.0322266 0.00659180 -0.0263672 -0.0241699 
 DEAL::-0.0281982 -0.0375977 0.0281982 -0.0483398 -0.0644531 0.0483398 0.0120850 0.0161133 -0.0120850 -0.0307617 -0.0410156 0.0307617 -0.0527344 -0.0703125 0.0527344 0.0131836 0.0175781 -0.0131836 0.00769043 0.0102539 -0.00769043 0.0131836 0.0175781 -0.0131836 -0.00329590 -0.00439453 0.00329590 
@@ -440,17 +440,17 @@ DEAL::0.00384521 0.00659180 -0.00164795 -0.0153809 -0.0263672 0.00659180 -0.0140
 DEAL::-0.00329590 0.0131836 0.0120850 0.0131836 -0.0527344 -0.0483398 0.0120850 -0.0483398 -0.0443115 0.0131836 -0.0527344 -0.0483398 -0.0527344 0.210937 0.193359 -0.0483398 0.193359 0.177246 0.00769043 -0.0307617 -0.0281982 -0.0307617 0.123047 0.112793 -0.0281982 0.112793 0.103394 
 DEAL::0.00659180 0.00878906 -0.00659180 0.00878906 0.0117188 -0.00878906 -0.00659180 -0.00878906 0.00659180 -0.00878906 -0.0117187 0.00878906 -0.0117187 -0.0156250 0.0117187 0.00878906 0.0117187 -0.00878906 -0.00659180 -0.00878906 0.00659180 -0.00878906 -0.0117188 0.00878906 0.00659180 0.00878906 -0.00659180 
 DEAL::-0.00769043 -0.0131836 0.00329590 -0.0102539 -0.0175781 0.00439453 0.00769043 0.0131836 -0.00329590 0.0102539 0.0175781 -0.00439453 0.0136719 0.0234375 -0.00585937 -0.0102539 -0.0175781 0.00439453 0.00769043 0.0131836 -0.00329590 0.0102539 0.0175781 -0.00439453 -0.00769043 -0.0131836 0.00329590 
-DEAL::0.00659180 -0.0263672 -0.0241699 0.00878906 -0.0351562 -0.0322266 -0.00659180 0.0263672 0.0241699 -0.00878906 0.0351563 0.0322266 -0.0117187 0.0468750 0.0429687 0.00878906 -0.0351563 -0.0322266 -0.00659180 0.0263672 0.0241699 -0.00878906 0.0351562 0.0322266 0.00659180 -0.0263672 -0.0241699 
+DEAL::0.00659180 -0.0263672 -0.0241699 0.00878906 -0.0351562 -0.0322266 -0.00659180 0.0263672 0.0241699 -0.00878906 0.0351563 0.0322266 -0.0117187 0.0468750 0.0429687 0.00878906 -0.0351563 -0.0322266 -0.00659180 0.0263672 0.0241699 -0.00878906 0.0351563 0.0322266 0.00659180 -0.0263672 -0.0241699 
 DEAL::-0.00769043 -0.0102539 0.00769043 -0.0131836 -0.0175781 0.0131836 0.00329590 0.00439453 -0.00329590 0.0102539 0.0136719 -0.0102539 0.0175781 0.0234375 -0.0175781 -0.00439453 -0.00585937 0.00439453 0.00769043 0.0102539 -0.00769043 0.0131836 0.0175781 -0.0131836 -0.00329590 -0.00439453 0.00329590 
 DEAL::0.00897217 0.0153809 -0.00384521 0.0153809 0.0263672 -0.00659180 -0.00384521 -0.00659180 0.00164795 -0.0119629 -0.0205078 0.00512695 -0.0205078 -0.0351563 0.00878906 0.00512695 0.00878906 -0.00219727 -0.00897217 -0.0153809 0.00384521 -0.0153809 -0.0263672 0.00659180 0.00384521 0.00659180 -0.00164795 
 DEAL::-0.00769043 0.0307617 0.0281982 -0.0131836 0.0527344 0.0483398 0.00329590 -0.0131836 -0.0120850 0.0102539 -0.0410156 -0.0375977 0.0175781 -0.0703125 -0.0644531 -0.00439453 0.0175781 0.0161133 0.00769043 -0.0307617 -0.0281982 0.0131836 -0.0527344 -0.0483398 -0.00329590 0.0131836 0.0120850 
-DEAL::0.00659180 0.00878906 -0.00659180 -0.0263672 -0.0351562 0.0263672 -0.0241699 -0.0322266 0.0241699 -0.00878906 -0.0117187 0.00878906 0.0351563 0.0468750 -0.0351563 0.0322266 0.0429687 -0.0322266 -0.00659180 -0.00878906 0.00659180 0.0263672 0.0351562 -0.0263672 0.0241699 0.0322266 -0.0241699 
+DEAL::0.00659180 0.00878906 -0.00659180 -0.0263672 -0.0351562 0.0263672 -0.0241699 -0.0322266 0.0241699 -0.00878906 -0.0117187 0.00878906 0.0351563 0.0468750 -0.0351563 0.0322266 0.0429688 -0.0322266 -0.00659180 -0.00878906 0.00659180 0.0263672 0.0351562 -0.0263672 0.0241699 0.0322266 -0.0241699 
 DEAL::-0.00769043 -0.0131836 0.00329590 0.0307617 0.0527344 -0.0131836 0.0281982 0.0483398 -0.0120850 0.0102539 0.0175781 -0.00439453 -0.0410156 -0.0703125 0.0175781 -0.0375977 -0.0644531 0.0161133 0.00769043 0.0131836 -0.00329590 -0.0307617 -0.0527344 0.0131836 -0.0281982 -0.0483398 0.0120850 
 DEAL::0.00659180 -0.0263672 -0.0241699 -0.0263672 0.105469 0.0966797 -0.0241699 0.0966797 0.0886230 -0.00878906 0.0351563 0.0322266 0.0351563 -0.140625 -0.128906 0.0322266 -0.128906 -0.118164 -0.00659180 0.0263672 0.0241699 0.0263672 -0.105469 -0.0966797 0.0241699 -0.0966797 -0.0886230 
 DEAL::DGQ2<3> restriction 4
 DEAL::-0.0886230 -0.0966797 0.0241699 -0.0966797 -0.105469 0.0263672 0.0241699 0.0263672 -0.00659180 -0.118164 -0.128906 0.0322266 -0.128906 -0.140625 0.0351563 0.0322266 0.0351563 -0.00878906 0.0886230 0.0966797 -0.0241699 0.0966797 0.105469 -0.0263672 -0.0241699 -0.0263672 0.00659180 
 DEAL::0.0120850 -0.0483398 -0.0281982 0.0131836 -0.0527344 -0.0307617 -0.00329590 0.0131836 0.00769043 0.0161133 -0.0644531 -0.0375977 0.0175781 -0.0703125 -0.0410156 -0.00439453 0.0175781 0.0102539 -0.0120850 0.0483398 0.0281982 -0.0131836 0.0527344 0.0307617 0.00329590 -0.0131836 -0.00769043 
-DEAL::-0.0241699 0.0322266 0.0241699 -0.0263672 0.0351563 0.0263672 0.00659180 -0.00878906 -0.00659180 -0.0322266 0.0429688 0.0322266 -0.0351563 0.0468750 0.0351563 0.00878906 -0.0117187 -0.00878906 0.0241699 -0.0322266 -0.0241699 0.0263672 -0.0351563 -0.0263672 -0.00659180 0.00878906 0.00659180 
+DEAL::-0.0241699 0.0322266 0.0241699 -0.0263672 0.0351563 0.0263672 0.00659180 -0.00878906 -0.00659180 -0.0322266 0.0429688 0.0322266 -0.0351563 0.0468750 0.0351563 0.00878906 -0.0117188 -0.00878906 0.0241699 -0.0322266 -0.0241699 0.0263672 -0.0351563 -0.0263672 -0.00659180 0.00878906 0.00659180 
 DEAL::0.0120850 0.0131836 -0.00329590 -0.0483398 -0.0527344 0.0131836 -0.0281982 -0.0307617 0.00769043 0.0161133 0.0175781 -0.00439453 -0.0644531 -0.0703125 0.0175781 -0.0375977 -0.0410156 0.0102539 -0.0120850 -0.0131836 0.00329590 0.0483398 0.0527344 -0.0131836 0.0281982 0.0307617 -0.00769043 
 DEAL::-0.00164795 0.00659180 0.00384521 0.00659180 -0.0263672 -0.0153809 0.00384521 -0.0153809 -0.00897217 -0.00219727 0.00878906 0.00512695 0.00878906 -0.0351562 -0.0205078 0.00512695 -0.0205078 -0.0119629 0.00164795 -0.00659180 -0.00384521 -0.00659180 0.0263672 0.0153809 -0.00384521 0.0153809 0.00897217 
 DEAL::0.00329590 -0.00439453 -0.00329590 -0.0131836 0.0175781 0.0131836 -0.00769043 0.0102539 0.00769043 0.00439453 -0.00585937 -0.00439453 -0.0175781 0.0234375 0.0175781 -0.0102539 0.0136719 0.0102539 -0.00329590 0.00439453 0.00329590 0.0131836 -0.0175781 -0.0131836 0.00769043 -0.0102539 -0.00769043 
@@ -467,9 +467,9 @@ DEAL::0.0281982 0.0307617 -0.00769043 -0.0375977 -0.0410156 0.0102539 -0.0281982
 DEAL::-0.00384521 0.0153809 0.00897217 0.00512695 -0.0205078 -0.0119629 0.00384521 -0.0153809 -0.00897217 -0.00659180 0.0263672 0.0153809 0.00878906 -0.0351562 -0.0205078 0.00659180 -0.0263672 -0.0153809 0.00164795 -0.00659180 -0.00384521 -0.00219727 0.00878906 0.00512695 -0.00164795 0.00659180 0.00384521 
 DEAL::0.00769043 -0.0102539 -0.00769043 -0.0102539 0.0136719 0.0102539 -0.00769043 0.0102539 0.00769043 0.0131836 -0.0175781 -0.0131836 -0.0175781 0.0234375 0.0175781 -0.0131836 0.0175781 0.0131836 -0.00329590 0.00439453 0.00329590 0.00439453 -0.00585937 -0.00439453 0.00329590 -0.00439453 -0.00329590 
 DEAL::-0.0886230 -0.0966797 0.0241699 -0.0966797 -0.105469 0.0263672 0.0241699 0.0263672 -0.00659180 0.354492 0.386719 -0.0966797 0.386719 0.421875 -0.105469 -0.0966797 -0.105469 0.0263672 0.324951 0.354492 -0.0886230 0.354492 0.386719 -0.0966797 -0.0886230 -0.0966797 0.0241699 
-DEAL::0.0120850 -0.0483398 -0.0281982 0.0131836 -0.0527344 -0.0307617 -0.00329590 0.0131836 0.00769043 -0.0483398 0.193359 0.112793 -0.0527344 0.210937 0.123047 0.0131836 -0.0527344 -0.0307617 -0.0443115 0.177246 0.103394 -0.0483398 0.193359 0.112793 0.0120850 -0.0483398 -0.0281982 
+DEAL::0.0120850 -0.0483398 -0.0281982 0.0131836 -0.0527344 -0.0307617 -0.00329590 0.0131836 0.00769043 -0.0483398 0.193359 0.112793 -0.0527344 0.210938 0.123047 0.0131836 -0.0527344 -0.0307617 -0.0443115 0.177246 0.103394 -0.0483398 0.193359 0.112793 0.0120850 -0.0483398 -0.0281982 
 DEAL::-0.0241699 0.0322266 0.0241699 -0.0263672 0.0351562 0.0263672 0.00659180 -0.00878906 -0.00659180 0.0966797 -0.128906 -0.0966797 0.105469 -0.140625 -0.105469 -0.0263672 0.0351563 0.0263672 0.0886230 -0.118164 -0.0886230 0.0966797 -0.128906 -0.0966797 -0.0241699 0.0322266 0.0241699 
-DEAL::0.0120850 0.0131836 -0.00329590 -0.0483398 -0.0527344 0.0131836 -0.0281982 -0.0307617 0.00769043 -0.0483398 -0.0527344 0.0131836 0.193359 0.210938 -0.0527344 0.112793 0.123047 -0.0307617 -0.0443115 -0.0483398 0.0120850 0.177246 0.193359 -0.0483398 0.103394 0.112793 -0.0281982 
+DEAL::0.0120850 0.0131836 -0.00329590 -0.0483398 -0.0527344 0.0131836 -0.0281982 -0.0307617 0.00769043 -0.0483398 -0.0527344 0.0131836 0.193359 0.210937 -0.0527344 0.112793 0.123047 -0.0307617 -0.0443115 -0.0483398 0.0120850 0.177246 0.193359 -0.0483398 0.103394 0.112793 -0.0281982 
 DEAL::-0.00164795 0.00659180 0.00384521 0.00659180 -0.0263672 -0.0153809 0.00384521 -0.0153809 -0.00897217 0.00659180 -0.0263672 -0.0153809 -0.0263672 0.105469 0.0615234 -0.0153809 0.0615234 0.0358887 0.00604248 -0.0241699 -0.0140991 -0.0241699 0.0966797 0.0563965 -0.0140991 0.0563965 0.0328979 
 DEAL::0.00329590 -0.00439453 -0.00329590 -0.0131836 0.0175781 0.0131836 -0.00769043 0.0102539 0.00769043 -0.0131836 0.0175781 0.0131836 0.0527344 -0.0703125 -0.0527344 0.0307617 -0.0410156 -0.0307617 -0.0120850 0.0161133 0.0120850 0.0483398 -0.0644531 -0.0483398 0.0281982 -0.0375977 -0.0281982 
 DEAL::-0.0241699 -0.0263672 0.00659180 0.0322266 0.0351562 -0.00878906 0.0241699 0.0263672 -0.00659180 0.0966797 0.105469 -0.0263672 -0.128906 -0.140625 0.0351563 -0.0966797 -0.105469 0.0263672 0.0886230 0.0966797 -0.0241699 -0.118164 -0.128906 0.0322266 -0.0886230 -0.0966797 0.0241699 
@@ -480,11 +480,11 @@ DEAL::0.0241699 0.0322266 -0.0241699 0.0263672 0.0351563 -0.0263672 -0.00659180
 DEAL::-0.0281982 -0.0483398 0.0120850 -0.0307617 -0.0527344 0.0131836 0.00769043 0.0131836 -0.00329590 -0.0375977 -0.0644531 0.0161133 -0.0410156 -0.0703125 0.0175781 0.0102539 0.0175781 -0.00439453 0.0281982 0.0483398 -0.0120850 0.0307617 0.0527344 -0.0131836 -0.00769043 -0.0131836 0.00329590 
 DEAL::0.0241699 -0.0966797 -0.0886230 0.0263672 -0.105469 -0.0966797 -0.00659180 0.0263672 0.0241699 0.0322266 -0.128906 -0.118164 0.0351563 -0.140625 -0.128906 -0.00878906 0.0351563 0.0322266 -0.0241699 0.0966797 0.0886230 -0.0263672 0.105469 0.0966797 0.00659180 -0.0263672 -0.0241699 
 DEAL::-0.00329590 -0.00439453 0.00329590 0.0131836 0.0175781 -0.0131836 0.00769043 0.0102539 -0.00769043 -0.00439453 -0.00585937 0.00439453 0.0175781 0.0234375 -0.0175781 0.0102539 0.0136719 -0.0102539 0.00329590 0.00439453 -0.00329590 -0.0131836 -0.0175781 0.0131836 -0.00769043 -0.0102539 0.00769043 
-DEAL::0.00384521 0.00659180 -0.00164795 -0.0153809 -0.0263672 0.00659180 -0.00897217 -0.0153809 0.00384521 0.00512695 0.00878906 -0.00219727 -0.0205078 -0.0351563 0.00878906 -0.0119629 -0.0205078 0.00512695 -0.00384521 -0.00659180 0.00164795 0.0153809 0.0263672 -0.00659180 0.00897217 0.0153809 -0.00384521 
+DEAL::0.00384521 0.00659180 -0.00164795 -0.0153809 -0.0263672 0.00659180 -0.00897217 -0.0153809 0.00384521 0.00512695 0.00878906 -0.00219727 -0.0205078 -0.0351562 0.00878906 -0.0119629 -0.0205078 0.00512695 -0.00384521 -0.00659180 0.00164795 0.0153809 0.0263672 -0.00659180 0.00897217 0.0153809 -0.00384521 
 DEAL::-0.00329590 0.0131836 0.0120850 0.0131836 -0.0527344 -0.0483398 0.00769043 -0.0307617 -0.0281982 -0.00439453 0.0175781 0.0161133 0.0175781 -0.0703125 -0.0644531 0.0102539 -0.0410156 -0.0375977 0.00329590 -0.0131836 -0.0120850 -0.0131836 0.0527344 0.0483398 -0.00769043 0.0307617 0.0281982 
 DEAL::0.00659180 0.00878906 -0.00659180 -0.00878906 -0.0117187 0.00878906 -0.00659180 -0.00878906 0.00659180 0.00878906 0.0117188 -0.00878906 -0.0117187 -0.0156250 0.0117188 -0.00878906 -0.0117188 0.00878906 -0.00659180 -0.00878906 0.00659180 0.00878906 0.0117187 -0.00878906 0.00659180 0.00878906 -0.00659180 
 DEAL::-0.00769043 -0.0131836 0.00329590 0.0102539 0.0175781 -0.00439453 0.00769043 0.0131836 -0.00329590 -0.0102539 -0.0175781 0.00439453 0.0136719 0.0234375 -0.00585937 0.0102539 0.0175781 -0.00439453 0.00769043 0.0131836 -0.00329590 -0.0102539 -0.0175781 0.00439453 -0.00769043 -0.0131836 0.00329590 
-DEAL::0.00659180 -0.0263672 -0.0241699 -0.00878906 0.0351562 0.0322266 -0.00659180 0.0263672 0.0241699 0.00878906 -0.0351562 -0.0322266 -0.0117187 0.0468750 0.0429687 -0.00878906 0.0351562 0.0322266 -0.00659180 0.0263672 0.0241699 0.00878906 -0.0351563 -0.0322266 0.00659180 -0.0263672 -0.0241699 
+DEAL::0.00659180 -0.0263672 -0.0241699 -0.00878906 0.0351563 0.0322266 -0.00659180 0.0263672 0.0241699 0.00878906 -0.0351562 -0.0322266 -0.0117187 0.0468750 0.0429687 -0.00878906 0.0351562 0.0322266 -0.00659180 0.0263672 0.0241699 0.00878906 -0.0351563 -0.0322266 0.00659180 -0.0263672 -0.0241699 
 DEAL::-0.0281982 -0.0375977 0.0281982 -0.0307617 -0.0410156 0.0307617 0.00769043 0.0102539 -0.00769043 -0.0483398 -0.0644531 0.0483398 -0.0527344 -0.0703125 0.0527344 0.0131836 0.0175781 -0.0131836 0.0120850 0.0161133 -0.0120850 0.0131836 0.0175781 -0.0131836 -0.00329590 -0.00439453 0.00329590 
 DEAL::0.0328979 0.0563965 -0.0140991 0.0358887 0.0615234 -0.0153809 -0.00897217 -0.0153809 0.00384521 0.0563965 0.0966797 -0.0241699 0.0615234 0.105469 -0.0263672 -0.0153809 -0.0263672 0.00659180 -0.0140991 -0.0241699 0.00604248 -0.0153809 -0.0263672 0.00659180 0.00384521 0.00659180 -0.00164795 
 DEAL::-0.0281982 0.112793 0.103394 -0.0307617 0.123047 0.112793 0.00769043 -0.0307617 -0.0281982 -0.0483398 0.193359 0.177246 -0.0527344 0.210938 0.193359 0.0131836 -0.0527344 -0.0483398 0.0120850 -0.0483398 -0.0443115 0.0131836 -0.0527344 -0.0483398 -0.00329590 0.0131836 0.0120850 
@@ -505,14 +505,14 @@ DEAL::-0.00769043 -0.0131836 0.00329590 0.0102539 0.0175781 -0.00439453 0.007690
 DEAL::0.00659180 -0.0263672 -0.0241699 -0.00878906 0.0351562 0.0322266 -0.00659180 0.0263672 0.0241699 -0.0263672 0.105469 0.0966797 0.0351563 -0.140625 -0.128906 0.0263672 -0.105469 -0.0966797 -0.0241699 0.0966797 0.0886230 0.0322266 -0.128906 -0.118164 0.0241699 -0.0966797 -0.0886230 
 DEAL::DGQ2<3> restriction 6
 DEAL::0.0241699 0.0263672 -0.00659180 0.0322266 0.0351563 -0.00878906 -0.0241699 -0.0263672 0.00659180 0.0322266 0.0351563 -0.00878906 0.0429688 0.0468750 -0.0117188 -0.0322266 -0.0351563 0.00878906 -0.0241699 -0.0263672 0.00659180 -0.0322266 -0.0351563 0.00878906 0.0241699 0.0263672 -0.00659180 
-DEAL::-0.00329590 0.0131836 0.00769043 -0.00439453 0.0175781 0.0102539 0.00329590 -0.0131836 -0.00769043 -0.00439453 0.0175781 0.0102539 -0.00585938 0.0234375 0.0136719 0.00439453 -0.0175781 -0.0102539 0.00329590 -0.0131836 -0.00769043 0.00439453 -0.0175781 -0.0102539 -0.00329590 0.0131836 0.00769043 
-DEAL::0.00659180 -0.00878906 -0.00659180 0.00878906 -0.0117187 -0.00878906 -0.00659180 0.00878906 0.00659180 0.00878906 -0.0117187 -0.00878906 0.0117188 -0.0156250 -0.0117188 -0.00878906 0.0117187 0.00878906 -0.00659180 0.00878906 0.00659180 -0.00878906 0.0117188 0.00878906 0.00659180 -0.00878906 -0.00659180 
+DEAL::-0.00329590 0.0131836 0.00769043 -0.00439453 0.0175781 0.0102539 0.00329590 -0.0131836 -0.00769043 -0.00439453 0.0175781 0.0102539 -0.00585937 0.0234375 0.0136719 0.00439453 -0.0175781 -0.0102539 0.00329590 -0.0131836 -0.00769043 0.00439453 -0.0175781 -0.0102539 -0.00329590 0.0131836 0.00769043 
+DEAL::0.00659180 -0.00878906 -0.00659180 0.00878906 -0.0117188 -0.00878906 -0.00659180 0.00878906 0.00659180 0.00878906 -0.0117188 -0.00878906 0.0117188 -0.0156250 -0.0117188 -0.00878906 0.0117187 0.00878906 -0.00659180 0.00878906 0.00659180 -0.00878906 0.0117187 0.00878906 0.00659180 -0.00878906 -0.00659180 
 DEAL::-0.0281982 -0.0307617 0.00769043 -0.0483398 -0.0527344 0.0131836 0.0120850 0.0131836 -0.00329590 -0.0375977 -0.0410156 0.0102539 -0.0644531 -0.0703125 0.0175781 0.0161133 0.0175781 -0.00439453 0.0281982 0.0307617 -0.00769043 0.0483398 0.0527344 -0.0131836 -0.0120850 -0.0131836 0.00329590 
 DEAL::0.00384521 -0.0153809 -0.00897217 0.00659180 -0.0263672 -0.0153809 -0.00164795 0.00659180 0.00384521 0.00512695 -0.0205078 -0.0119629 0.00878906 -0.0351562 -0.0205078 -0.00219727 0.00878906 0.00512695 -0.00384521 0.0153809 0.00897217 -0.00659180 0.0263672 0.0153809 0.00164795 -0.00659180 -0.00384521 
 DEAL::-0.00769043 0.0102539 0.00769043 -0.0131836 0.0175781 0.0131836 0.00329590 -0.00439453 -0.00329590 -0.0102539 0.0136719 0.0102539 -0.0175781 0.0234375 0.0175781 0.00439453 -0.00585937 -0.00439453 0.00769043 -0.0102539 -0.00769043 0.0131836 -0.0175781 -0.0131836 -0.00329590 0.00439453 0.00329590 
 DEAL::0.0241699 0.0263672 -0.00659180 -0.0966797 -0.105469 0.0263672 -0.0886230 -0.0966797 0.0241699 0.0322266 0.0351563 -0.00878906 -0.128906 -0.140625 0.0351562 -0.118164 -0.128906 0.0322266 -0.0241699 -0.0263672 0.00659180 0.0966797 0.105469 -0.0263672 0.0886230 0.0966797 -0.0241699 
 DEAL::-0.00329590 0.0131836 0.00769043 0.0131836 -0.0527344 -0.0307617 0.0120850 -0.0483398 -0.0281982 -0.00439453 0.0175781 0.0102539 0.0175781 -0.0703125 -0.0410156 0.0161133 -0.0644531 -0.0375977 0.00329590 -0.0131836 -0.00769043 -0.0131836 0.0527344 0.0307617 -0.0120850 0.0483398 0.0281982 
-DEAL::0.00659180 -0.00878906 -0.00659180 -0.0263672 0.0351563 0.0263672 -0.0241699 0.0322266 0.0241699 0.00878906 -0.0117188 -0.00878906 -0.0351562 0.0468750 0.0351563 -0.0322266 0.0429687 0.0322266 -0.00659180 0.00878906 0.00659180 0.0263672 -0.0351562 -0.0263672 0.0241699 -0.0322266 -0.0241699 
+DEAL::0.00659180 -0.00878906 -0.00659180 -0.0263672 0.0351563 0.0263672 -0.0241699 0.0322266 0.0241699 0.00878906 -0.0117188 -0.00878906 -0.0351562 0.0468750 0.0351562 -0.0322266 0.0429687 0.0322266 -0.00659180 0.00878906 0.00659180 0.0263672 -0.0351562 -0.0263672 0.0241699 -0.0322266 -0.0241699 
 DEAL::-0.0281982 -0.0307617 0.00769043 -0.0375977 -0.0410156 0.0102539 0.0281982 0.0307617 -0.00769043 -0.0483398 -0.0527344 0.0131836 -0.0644531 -0.0703125 0.0175781 0.0483398 0.0527344 -0.0131836 0.0120850 0.0131836 -0.00329590 0.0161133 0.0175781 -0.00439453 -0.0120850 -0.0131836 0.00329590 
 DEAL::0.00384521 -0.0153809 -0.00897217 0.00512695 -0.0205078 -0.0119629 -0.00384521 0.0153809 0.00897217 0.00659180 -0.0263672 -0.0153809 0.00878906 -0.0351562 -0.0205078 -0.00659180 0.0263672 0.0153809 -0.00164795 0.00659180 0.00384521 -0.00219727 0.00878906 0.00512695 0.00164795 -0.00659180 -0.00384521 
 DEAL::-0.00769043 0.0102539 0.00769043 -0.0102539 0.0136719 0.0102539 0.00769043 -0.0102539 -0.00769043 -0.0131836 0.0175781 0.0131836 -0.0175781 0.0234375 0.0175781 0.0131836 -0.0175781 -0.0131836 0.00329590 -0.00439453 -0.00329590 0.00439453 -0.00585937 -0.00439453 -0.00329590 0.00439453 0.00329590 
@@ -522,9 +522,9 @@ DEAL::0.00897217 -0.0119629 -0.00897217 0.0153809 -0.0205078 -0.0153809 -0.00384
 DEAL::-0.0281982 -0.0307617 0.00769043 0.112793 0.123047 -0.0307617 0.103394 0.112793 -0.0281982 -0.0483398 -0.0527344 0.0131836 0.193359 0.210938 -0.0527344 0.177246 0.193359 -0.0483398 0.0120850 0.0131836 -0.00329590 -0.0483398 -0.0527344 0.0131836 -0.0443115 -0.0483398 0.0120850 
 DEAL::0.00384521 -0.0153809 -0.00897217 -0.0153809 0.0615234 0.0358887 -0.0140991 0.0563965 0.0328979 0.00659180 -0.0263672 -0.0153809 -0.0263672 0.105469 0.0615234 -0.0241699 0.0966797 0.0563965 -0.00164795 0.00659180 0.00384521 0.00659180 -0.0263672 -0.0153809 0.00604248 -0.0241699 -0.0140991 
 DEAL::-0.00769043 0.0102539 0.00769043 0.0307617 -0.0410156 -0.0307617 0.0281982 -0.0375977 -0.0281982 -0.0131836 0.0175781 0.0131836 0.0527344 -0.0703125 -0.0527344 0.0483398 -0.0644531 -0.0483398 0.00329590 -0.00439453 -0.00329590 -0.0131836 0.0175781 0.0131836 -0.0120850 0.0161133 0.0120850 
-DEAL::0.0241699 0.0263672 -0.00659180 0.0322266 0.0351563 -0.00878906 -0.0241699 -0.0263672 0.00659180 -0.0966797 -0.105469 0.0263672 -0.128906 -0.140625 0.0351562 0.0966797 0.105469 -0.0263672 -0.0886230 -0.0966797 0.0241699 -0.118164 -0.128906 0.0322266 0.0886230 0.0966797 -0.0241699 
+DEAL::0.0241699 0.0263672 -0.00659180 0.0322266 0.0351563 -0.00878906 -0.0241699 -0.0263672 0.00659180 -0.0966797 -0.105469 0.0263672 -0.128906 -0.140625 0.0351563 0.0966797 0.105469 -0.0263672 -0.0886230 -0.0966797 0.0241699 -0.118164 -0.128906 0.0322266 0.0886230 0.0966797 -0.0241699 
 DEAL::-0.00329590 0.0131836 0.00769043 -0.00439453 0.0175781 0.0102539 0.00329590 -0.0131836 -0.00769043 0.0131836 -0.0527344 -0.0307617 0.0175781 -0.0703125 -0.0410156 -0.0131836 0.0527344 0.0307617 0.0120850 -0.0483398 -0.0281982 0.0161133 -0.0644531 -0.0375977 -0.0120850 0.0483398 0.0281982 
-DEAL::0.00659180 -0.00878906 -0.00659180 0.00878906 -0.0117187 -0.00878906 -0.00659180 0.00878906 0.00659180 -0.0263672 0.0351563 0.0263672 -0.0351562 0.0468750 0.0351562 0.0263672 -0.0351562 -0.0263672 -0.0241699 0.0322266 0.0241699 -0.0322266 0.0429687 0.0322266 0.0241699 -0.0322266 -0.0241699 
+DEAL::0.00659180 -0.00878906 -0.00659180 0.00878906 -0.0117187 -0.00878906 -0.00659180 0.00878906 0.00659180 -0.0263672 0.0351562 0.0263672 -0.0351562 0.0468750 0.0351562 0.0263672 -0.0351562 -0.0263672 -0.0241699 0.0322266 0.0241699 -0.0322266 0.0429687 0.0322266 0.0241699 -0.0322266 -0.0241699 
 DEAL::-0.0281982 -0.0307617 0.00769043 -0.0483398 -0.0527344 0.0131836 0.0120850 0.0131836 -0.00329590 0.112793 0.123047 -0.0307617 0.193359 0.210937 -0.0527344 -0.0483398 -0.0527344 0.0131836 0.103394 0.112793 -0.0281982 0.177246 0.193359 -0.0483398 -0.0443115 -0.0483398 0.0120850 
 DEAL::0.00384521 -0.0153809 -0.00897217 0.00659180 -0.0263672 -0.0153809 -0.00164795 0.00659180 0.00384521 -0.0153809 0.0615234 0.0358887 -0.0263672 0.105469 0.0615234 0.00659180 -0.0263672 -0.0153809 -0.0140991 0.0563965 0.0328979 -0.0241699 0.0966797 0.0563965 0.00604248 -0.0241699 -0.0140991 
 DEAL::-0.00769043 0.0102539 0.00769043 -0.0131836 0.0175781 0.0131836 0.00329590 -0.00439453 -0.00329590 0.0307617 -0.0410156 -0.0307617 0.0527344 -0.0703125 -0.0527344 -0.0131836 0.0175781 0.0131836 0.0281982 -0.0375977 -0.0281982 0.0483398 -0.0644531 -0.0483398 -0.0120850 0.0161133 0.0120850 
@@ -550,7 +550,7 @@ DEAL::-0.00897217 0.0358887 0.0328979 -0.0153809 0.0615234 0.0563965 0.00384521
 DEAL::0.00769043 0.0102539 -0.00769043 -0.0307617 -0.0410156 0.0307617 -0.0281982 -0.0375977 0.0281982 0.0131836 0.0175781 -0.0131836 -0.0527344 -0.0703125 0.0527344 -0.0483398 -0.0644531 0.0483398 -0.00329590 -0.00439453 0.00329590 0.0131836 0.0175781 -0.0131836 0.0120850 0.0161133 -0.0120850 
 DEAL::-0.00897217 -0.0153809 0.00384521 0.0358887 0.0615234 -0.0153809 0.0328979 0.0563965 -0.0140991 -0.0153809 -0.0263672 0.00659180 0.0615234 0.105469 -0.0263672 0.0563965 0.0966797 -0.0241699 0.00384521 0.00659180 -0.00164795 -0.0153809 -0.0263672 0.00659180 -0.0140991 -0.0241699 0.00604248 
 DEAL::0.00769043 -0.0307617 -0.0281982 -0.0307617 0.123047 0.112793 -0.0281982 0.112793 0.103394 0.0131836 -0.0527344 -0.0483398 -0.0527344 0.210937 0.193359 -0.0483398 0.193359 0.177246 -0.00329590 0.0131836 0.0120850 0.0131836 -0.0527344 -0.0483398 0.0120850 -0.0483398 -0.0443115 
-DEAL::-0.00659180 -0.00878906 0.00659180 -0.00878906 -0.0117188 0.00878906 0.00659180 0.00878906 -0.00659180 0.0263672 0.0351563 -0.0263672 0.0351562 0.0468750 -0.0351562 -0.0263672 -0.0351562 0.0263672 0.0241699 0.0322266 -0.0241699 0.0322266 0.0429688 -0.0322266 -0.0241699 -0.0322266 0.0241699 
+DEAL::-0.00659180 -0.00878906 0.00659180 -0.00878906 -0.0117188 0.00878906 0.00659180 0.00878906 -0.00659180 0.0263672 0.0351563 -0.0263672 0.0351563 0.0468750 -0.0351562 -0.0263672 -0.0351562 0.0263672 0.0241699 0.0322266 -0.0241699 0.0322266 0.0429688 -0.0322266 -0.0241699 -0.0322266 0.0241699 
 DEAL::0.00769043 0.0131836 -0.00329590 0.0102539 0.0175781 -0.00439453 -0.00769043 -0.0131836 0.00329590 -0.0307617 -0.0527344 0.0131836 -0.0410156 -0.0703125 0.0175781 0.0307617 0.0527344 -0.0131836 -0.0281982 -0.0483398 0.0120850 -0.0375977 -0.0644531 0.0161133 0.0281982 0.0483398 -0.0120850 
 DEAL::-0.00659180 0.0263672 0.0241699 -0.00878906 0.0351562 0.0322266 0.00659180 -0.0263672 -0.0241699 0.0263672 -0.105469 -0.0966797 0.0351562 -0.140625 -0.128906 -0.0263672 0.105469 0.0966797 0.0241699 -0.0966797 -0.0886230 0.0322266 -0.128906 -0.118164 -0.0241699 0.0966797 0.0886230 
 DEAL::0.00769043 0.0102539 -0.00769043 0.0131836 0.0175781 -0.0131836 -0.00329590 -0.00439453 0.00329590 -0.0307617 -0.0410156 0.0307617 -0.0527344 -0.0703125 0.0527344 0.0131836 0.0175781 -0.0131836 -0.0281982 -0.0375977 0.0281982 -0.0483398 -0.0644531 0.0483398 0.0120850 0.0161133 -0.0120850 
index ae21511d7eb1adf572f5abe23465e168db21ea35..06b7e318b765094ae27745f6c791ed9ee4c0e343 100644 (file)
@@ -184,22 +184,22 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        ~        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 
 DEAL::RaviartThomas1<3> restriction 1
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        0.250000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        -0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        -0.216506 ~        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        0.187500 -0.108253 -0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -211,7 +211,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.187500 -0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -221,18 +221,18 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        0        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        ~        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        ~        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
 DEAL::RaviartThomas1<3> restriction 2
-DEAL::0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::-0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::-0.187500 -0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -258,13 +258,13 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        ~        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        ~        0        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
 DEAL::0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.0937500 ~        ~        0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 
@@ -273,7 +273,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        0.250000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        0.216506 0.125000 ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        -0.216506 ~        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        -0.187500 -0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -285,7 +285,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.187500 0.108253 -0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.187500 0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -295,16 +295,16 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        0        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        ~        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        ~        0        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
 DEAL::0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        0        0        0        0        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
 DEAL::RaviartThomas1<3> restriction 4
 DEAL::0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::-0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -314,7 +314,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.187500 -0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -332,16 +332,16 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.187500 -0.108253 -0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
-DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::0        0        0        0        ~        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        
 DEAL::0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        0.0937500 ~        ~        -0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 
 DEAL::RaviartThomas1<3> restriction 5
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -351,7 +351,7 @@ DEAL::~        ~        ~        ~        0.250000 0        0        ~        ~
 DEAL::~        ~        ~        ~        -0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        -0.187500 0.108253 -0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.187500 0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -363,24 +363,24 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.187500 -0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
-DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        0        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
+DEAL::0        0        0        0        ~        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        
 DEAL::0        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        ~        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        ~        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.0937500 ~        ~        -0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
 DEAL::RaviartThomas1<3> restriction 6
-DEAL::0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0.187500 0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -392,7 +392,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.187500 -0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -406,14 +406,14 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.187500 0.108253 -0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
-DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        ~        0        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
-DEAL::0        0        ~        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        ~        
+DEAL::0        0        0        0        ~        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::0        0        ~        0        ~        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0937500 ~        ~        0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        -0.0937500 ~        ~        0.0541266 ~        ~        -0.0541266 ~        ~        0.0312500 
 DEAL::RaviartThomas1<3> restriction 7
@@ -421,7 +421,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        0.216506 0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        0.187500 0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -429,7 +429,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.187500 0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -437,19 +437,19 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.250000 0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0.125000 0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.216506 0        0.125000 0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.187500 0.108253 0.108253 0.0625000 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.125000 ~        ~        ~        ~        ~        0        ~        ~        0        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        0        ~        ~        0.125000 ~        ~        0        ~        ~        0        ~        ~        0        
 DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
-DEAL::0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        ~        0        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
-DEAL::0        0        ~        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        ~        0        0        0        0        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        0        ~        ~        0.108253 ~        ~        0.0625000 ~        ~        0        ~        ~        0        
+DEAL::0        0        0        0        ~        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        0        0        0        0        0        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.108253 ~        ~        0        ~        ~        0.0625000 ~        ~        0        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        0        0        ~        0        0        ~        ~        0.108253 ~        ~        ~        ~        ~        0.0625000 ~        ~        0        
+DEAL::0        0        ~        0        ~        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        0        0        ~        0        0        0        ~        0        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0        ~        0        0        0        0        ~        ~        ~        0.0937500 ~        ~        0.0541266 ~        ~        0.0541266 ~        ~        0.0312500 
index 76231d7e6b861d9f279888948a07fa34905317f7..6f6e11378c4a13ec8aa7359bf7ae2d4ac84883fe 100644 (file)
@@ -203,7 +203,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 
index 8881f1c715a6f101681ccf89b8e6546f8287a57b..53ec31785d1a93c2c419d81a4e37c76be8b3bdf0 100644 (file)
@@ -321,7 +321,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -337,7 +337,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -353,7 +353,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -369,7 +369,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        
index edb8ab2831f0c638e760868d3ad80125261f64ea..c80a5fb4b7815eb2ba1c11edfe819739d17e9634 100644 (file)
@@ -75,7 +75,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 
index 1ba61bace51b2e9605f379b7bcda13d6f5e2cf22..309c9f074ca8eee2df23075b6b96accefab9a00e 100644 (file)
@@ -355,7 +355,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -371,7 +371,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -387,7 +387,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        
index b33e83ac7d94119c2066bd1da54a2c62e491fbba..63f35979571938a976a5aa392486f1e262ce4d00 100644 (file)
@@ -119,7 +119,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        
index 788a6004e8b7176d862bee3902afc7ff300056df..c9fc14fb59d7f3a6dca8d0b78ca69e6ac2d8cf6c 100644 (file)
@@ -469,7 +469,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -485,7 +485,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
@@ -501,7 +501,7 @@ DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00681584 0.0298193 0.0758263 0.0150517 -0.0343364 0.150222 0.381993 0.0758263 -0.0135031 0.0590760 0.150222 0.0298193 0.00308642 -0.0135031 -0.0343364 -0.00681584 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00425990 -0.0144837 0.00851980 0.0105078 0.0214603 -0.0729649 0.0429205 0.0529353 0.00843943 -0.0286941 0.0168789 0.0208173 -0.00192901 0.00655864 -0.00385802 -0.00475823 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0153356 0.0230035 0.0230035 -0.00766782 -0.0772569 0.115885 0.115885 -0.0386285 -0.0303819 0.0455729 0.0455729 -0.0151910 0.00694444 -0.0104167 -0.0104167 0.00347222 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
-DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585938 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
+DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.0429687 -0.0585937 0.0468750 0.00390625 -0.515625 -0.703125 0.562500 0.0468750 0.644531 0.878906 -0.703125 -0.0585937 0.472656 0.644531 -0.515625 -0.0429687 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00347222 -0.0151910 -0.0386285 -0.00766782 0.0416667 -0.182292 -0.463542 -0.0920139 -0.0520833 0.227865 0.579427 0.115017 -0.0381944 0.167101 0.424913 0.0843461 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        -0.00217014 0.00737847 -0.00434028 -0.00535301 -0.0260417 0.0885417 -0.0520833 -0.0642361 0.0325521 -0.110677 0.0651042 0.0802951 0.0238715 -0.0811632 0.0477431 0.0588831 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
 DEAL::~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        0.00781250 -0.0117187 -0.0117188 0.00390625 0.0937500 -0.140625 -0.140625 0.0468750 -0.117188 0.175781 0.175781 -0.0585938 -0.0859375 0.128906 0.128906 -0.0429688 ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        
index db422b69f8a8e870d4f78ffc98bc8d02912a4f3a..c44ca70c7295139b51890dcaf630b5da073f3db1 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$ 
 //
-//    Copyright (C) 2006, 2007 by the deal.II authors
+//    Copyright (C) 2006, 2007, 2012 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -21,6 +21,7 @@ char logname[] = "injection_q/output";
 template <int dim>
 void test ()
 {
+  deallog << std::setprecision (4);
   for (unsigned int i=1; i<4; ++i)
     for (unsigned int j=i; j<4; ++j)
       do_check (FE_Q<dim>(i), FE_Q<dim>(j));
index da7ee0364edbf42c65bceb3254633abdf6d1fc22..58daea97be90c4e5165c695d3bb600c58d56dea8 100644 (file)
@@ -2,7 +2,7 @@
 //    rt_5.cc,v 1.1 2003/06/09 15:59:07 wolf Exp
 //    Version: 
 //
-//    Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010 by the deal.II authors
+//    Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2012 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -21,7 +21,7 @@
 #include <fstream>
 #include <string>
 
-#define PRECISION 5
+#define PRECISION 6
 
 
 
index d80256a18d24f1ee75390c146849cd1b1e3346de..fa2b2f8f15eeaa11ed5f0185eac605da9f25ac09 100644 (file)
 
 DEAL::FE_RaviartThomas<2> (0)
-DEAL::0.50000 0 0 0 
+DEAL::0.500000 0 0 0 
 DEAL::0 0 0 0 
-DEAL::0 0 0.50000 0 
+DEAL::0 0 0.500000 0 
 DEAL::0 0 0 0 
 DEAL::
 DEAL::0 0 0 0 
-DEAL::0 0.50000 0 0 
-DEAL::0 0 0.50000 0 
+DEAL::0 0.500000 0 0 
+DEAL::0 0 0.500000 0 
 DEAL::0 0 0 0 
 DEAL::
-DEAL::0.50000 0 0 0 
+DEAL::0.500000 0 0 0 
 DEAL::0 0 0 0 
 DEAL::0 0 0 0 
-DEAL::0 0 0 0.50000 
+DEAL::0 0 0 0.500000 
 DEAL::
 DEAL::0 0 0 0 
-DEAL::0 0.50000 0 0 
+DEAL::0 0.500000 0 0 
 DEAL::0 0 0 0 
-DEAL::0 0 0 0.50000 
+DEAL::0 0 0 0.500000 
 DEAL::
 DEAL::FE_RaviartThomas<3> (0)
-DEAL::0.25000 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0.25000 0 0 0 
+DEAL::0 0 0.250000 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0 0.25000 0 
+DEAL::0 0 0 0 0.250000 0 
 DEAL::0 0 0 0 0 0 
 DEAL::
 DEAL::0 0 0 0 0 0 
-DEAL::0 0.25000 0 0 0 0 
-DEAL::0 0 0.25000 0 0 0 
+DEAL::0 0.250000 0 0 0 0 
+DEAL::0 0 0.250000 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0 0.25000 0 
+DEAL::0 0 0 0 0.250000 0 
 DEAL::0 0 0 0 0 0 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0.25000 0 0 
-DEAL::0 0 0 0 0.25000 0 
+DEAL::0 0 0 0.250000 0 0 
+DEAL::0 0 0 0 0.250000 0 
 DEAL::0 0 0 0 0 0 
 DEAL::
 DEAL::0 0 0 0 0 0 
-DEAL::0 0.25000 0 0 0 0 
+DEAL::0 0.250000 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0.25000 0 0 
-DEAL::0 0 0 0 0.25000 0 
+DEAL::0 0 0 0.250000 0 0 
+DEAL::0 0 0 0 0.250000 0 
 DEAL::0 0 0 0 0 0 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0.25000 0 0 0 
+DEAL::0 0 0.250000 0 0 0 
 DEAL::0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0.25000 
+DEAL::0 0 0 0 0 0.250000 
 DEAL::
 DEAL::0 0 0 0 0 0 
-DEAL::0 0.25000 0 0 0 0 
-DEAL::0 0 0.25000 0 0 0 
+DEAL::0 0.250000 0 0 0 0 
+DEAL::0 0 0.250000 0 0 0 
 DEAL::0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0.25000 
+DEAL::0 0 0 0 0 0.250000 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0.25000 0 0 
+DEAL::0 0 0 0.250000 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0.25000 
+DEAL::0 0 0 0 0 0.250000 
 DEAL::
 DEAL::0 0 0 0 0 0 
-DEAL::0 0.25000 0 0 0 0 
+DEAL::0 0.250000 0 0 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0.25000 0 0 
+DEAL::0 0 0 0.250000 0 0 
 DEAL::0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0.25000 
+DEAL::0 0 0 0 0 0.250000 
 DEAL::
 DEAL::FE_RaviartThomas<2> (1)
-DEAL::0.50000 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.500000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.50000 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.43301 0.25000 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.500000 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.433013 0.250000 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0.50000 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 -0.43301 0.25000 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.50000 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.43301 0.25000 0 0 0 0 0 0 
+DEAL::0 0 0.500000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 -0.433013 0.250000 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.500000 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.433013 0.250000 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 
 DEAL::
-DEAL::0.50000 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.500000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0.50000 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 -0.43301 0.25000 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 
+DEAL::0 0 0 0 0 0 0.500000 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 -0.433013 0.250000 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0.50000 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0.43301 0.25000 0 0 0 0 0 0 0 0 
+DEAL::0 0 0.500000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0.433013 0.250000 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0.50000 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0.43301 0.25000 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 
+DEAL::0 0 0 0 0 0 0.500000 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0.433013 0.250000 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 
 DEAL::
 DEAL::FE_RaviartThomas<3> (1)
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.18750 -0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.187500 -0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.18750 -0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.187500 -0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.18750 -0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.18750 0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.187500 -0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.187500 0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.18750 -0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.187500 -0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -217,80 +217,80 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.18750 -0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.187500 -0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.18750 0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.187500 0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 -0.18750 -0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 -0.187500 -0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -299,35 +299,35 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.18750 0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0.18750 0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.187500 0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0.187500 0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -336,27 +336,27 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.18750 0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.187500 0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -365,179 +365,179 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.18750 0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.187500 0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 
 DEAL::
 DEAL::FE_RaviartThomas<2> (2)
-DEAL::0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 -0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 -0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 -0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 -0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 -0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 -0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0 0.12500 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0 -0.10825 0 -0.10825 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0 0 0 0.12500 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0 -0.10825 0 0 0 -0.10825 0 0.06250 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0 -0.12103 0 -0.05413 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0 -0.05413 0 0 0 -0.12103 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0 0.125000 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0 -0.108253 0 -0.108253 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0 0 0 0.125000 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0 -0.108253 0 0 0 -0.108253 0 0.062500 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0 -0.121031 0 -0.054127 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0 -0.054127 0 0 0 -0.121031 0 0.031250 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 -0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 -0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0 0.12500 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0 -0.10825 0 0.10825 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0 0 0 0.12500 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0 -0.10825 0 0 0 0.10825 0 0.06250 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0 -0.12103 0 0.05413 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0 -0.05413 0 0 0 0.12103 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0 0.125000 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0 -0.108253 0 0.108253 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0 0 0 0.125000 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0 -0.108253 0 0 0 0.108253 0 0.062500 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0 -0.121031 0 0.054127 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0 -0.054127 0 0 0 0.121031 0 0.031250 
 DEAL::
-DEAL::0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 -0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0.12500 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0 0.12500 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0 0.10825 0 -0.10825 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0 0 0 0.12500 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0 0.10825 0 0 0 -0.10825 0 0.06250 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0 0.12103 0 -0.05413 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0 0.05413 0 0 0 -0.12103 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 -0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0.125000 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0 0.125000 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0 0.108253 0 -0.108253 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0 0 0 0.125000 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0 0.108253 0 0 0 -0.108253 0 0.062500 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0 0.121031 0 -0.054127 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0 0.054127 0 0 0 -0.121031 0 0.031250 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.50000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.43301 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0.48412 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0.12500 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0 0.12500 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0.06250 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0 0.10825 0 0.10825 0 0.06250 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0 0 0 0.12500 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0 0.06250 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0 0.10825 0 0 0 0.10825 0 0.06250 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0 0.12103 0 0.05413 0 0.03125 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0 0.05413 0 0 0 0.12103 0 0.03125 
+DEAL::0 0 0 0 0 0 0 0 0 0.500000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.433013 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0.484123 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0.125000 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0 0.125000 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0.062500 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0 0.108253 0 0.108253 0 0.062500 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0 0 0 0.125000 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0 0.062500 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0 0.108253 0 0 0 0.108253 0 0.062500 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0 0.121031 0 0.054127 0 0.031250 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0 0.054127 0 0 0 0.121031 0 0.031250 
 DEAL::
 DEAL::FE_RaviartThomas<3> (2)
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.18750 -0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0.20963 -0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.20963 -0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.23437 -0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.187500 -0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0.209631 -0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.209631 -0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.234375 -0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -547,15 +547,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 -0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 -0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -565,15 +565,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 -0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 -0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -583,60 +583,60 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 -0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 -0.03026 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 0.04687 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 0.04687 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 0.05241 0 0 -0.03026 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.02344 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 0.04687 0 0 0 0 0 0.04688 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04688 0 0 -0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.02344 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 0.05241 0 0 -0.03026 0 0 0 0 0 0 0 0 0.02344 0 0 -0.01353 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 0 0 0 0.05241 0 0 -0.03026 0 0 0 0 0 0.02344 0 0 -0.01353 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 0 0 0 0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 -0.03026 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 0.05859 0 0 0.02620 0 0 -0.01513 0 0 0 0 0 0 0 0 0.02620 0 0 -0.01513 0 0 -0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 0.02620 0 0 0 0 0 0.05859 0 0 -0.01513 0 0 0 0 0 0.02620 0 0 -0.00677 0 0 0 0 0 -0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 0.02620 0 0 0 0 0 0.02620 0 0 -0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05859 0 0 -0.01513 0 0 0 0 0 -0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 -0.030258 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 0.046875 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 0.046875 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 0.023437 0 0 -0.013532 0 0 0 0 0 0 0 0 0.052408 0 0 -0.030258 0 0 -0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.023437 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 0.046875 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.023437 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 0.052408 0 0 -0.030258 0 0 0 0 0 0 0 0 0.023437 0 0 -0.013532 0 0 -0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 0 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0 0 0 0.007812 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 0 0 0 0.052408 0 0 -0.030258 0 0 0 0 0 0.023437 0 0 -0.013532 0 0 0 0 0 -0.013532 0 0 0.007812 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 0 0 0 0.023437 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 -0.030258 0 0 0 0 0 -0.013532 0 0 0.007812 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 0.058594 0 0 0.026204 0 0 -0.015129 0 0 0 0 0 0 0 0 0.026204 0 0 -0.015129 0 0 -0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 0.026204 0 0 0 0 0 0.058594 0 0 -0.015129 0 0 0 0 0 0.026204 0 0 -0.006766 0 0 0 0 0 -0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 0.026204 0 0 0 0 0 0.026204 0 0 -0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.058594 0 0 -0.015129 0 0 0 0 0 -0.015129 0 0 0.003906 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -647,24 +647,24 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.18750 -0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0.20963 -0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 -0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23437 0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.187500 -0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0.209631 -0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 -0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -674,15 +674,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23438 -0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 -0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -692,70 +692,70 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 -0.03026 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 0.04687 0 0 -0.04688 0 0 -0.02706 0 0 0 0 0 0 0 0 -0.04688 0 0 -0.02706 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 0.04688 0 0 0 0 0 -0.04687 0 0 -0.02706 0 0 0 0 0 -0.04687 0 0 -0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 -0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 -0.05241 0 0 -0.03026 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.02344 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 0.04688 0 0 0 0 0 -0.04688 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04688 0 0 -0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.02344 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 -0.05241 0 0 -0.03026 0 0 0 0 0 0 0 0 -0.02344 0 0 -0.01353 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 0 0 0 -0.05241 0 0 -0.03026 0 0 0 0 0 -0.02344 0 0 -0.01353 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 0 0 0 -0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 -0.03026 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 0.05859 0 0 -0.02620 0 0 -0.01513 0 0 0 0 0 0 0 0 -0.02620 0 0 -0.01513 0 0 0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 0.02620 0 0 0 0 0 -0.05859 0 0 -0.01513 0 0 0 0 0 -0.02620 0 0 -0.00677 0 0 0 0 0 0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 0.02620 0 0 0 0 0 -0.02620 0 0 -0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05859 0 0 -0.01513 0 0 0 0 0 0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 -0.030258 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 0.046875 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 0.046875 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 -0.023437 0 0 -0.013532 0 0 0 0 0 0 0 0 -0.052408 0 0 -0.030258 0 0 0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.023437 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 0.046875 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.023438 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 -0.052408 0 0 -0.030258 0 0 0 0 0 0 0 0 -0.023437 0 0 -0.013532 0 0 0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 0 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0 0 0 0.007812 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 0 0 0 -0.052408 0 0 -0.030258 0 0 0 0 0 -0.023438 0 0 -0.013532 0 0 0 0 0 0.013532 0 0 0.007812 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 0 0 0 -0.023438 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 -0.030258 0 0 0 0 0 0.013532 0 0 0.007812 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 0.058594 0 0 -0.026204 0 0 -0.015129 0 0 0 0 0 0 0 0 -0.026204 0 0 -0.015129 0 0 0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 0.026204 0 0 0 0 0 -0.058594 0 0 -0.015129 0 0 0 0 0 -0.026204 0 0 -0.006766 0 0 0 0 0 0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 0.026204 0 0 0 0 0 -0.026204 0 0 -0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.058594 0 0 -0.015129 0 0 0 0 0 0.015129 0 0 0.003906 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.18750 -0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 -0.20963 -0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 -0.20963 -0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.23438 -0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.187500 -0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 -0.209631 -0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 -0.209631 -0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.234375 -0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -774,24 +774,24 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 -0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23437 0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 -0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -801,60 +801,60 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 -0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 0 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0.03026 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 -0.04687 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 -0.04688 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 -0.05241 0 0 0.03026 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.02344 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 -0.04687 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 0 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.02344 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 0.05241 0 0 -0.03026 0 0 0 0 0 0 0 0 -0.02344 0 0 0.01353 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0.01563 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 0 0 0 0.05241 0 0 -0.03026 0 0 0 0 0 -0.02344 0 0 0.01353 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 0 0 0 0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 0.03026 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 -0.05859 0 0 0.02620 0 0 -0.01513 0 0 0 0 0 0 0 0 -0.02620 0 0 0.01513 0 0 -0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 -0.02620 0 0 0 0 0 0.05859 0 0 -0.01513 0 0 0 0 0 -0.02620 0 0 0.00677 0 0 0 0 0 -0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 -0.02620 0 0 0 0 0 0.02620 0 0 -0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05859 0 0 0.01513 0 0 0 0 0 -0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0.030258 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 -0.046875 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 -0.046875 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 0.023438 0 0 -0.013532 0 0 0 0 0 0 0 0 -0.052408 0 0 0.030258 0 0 -0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.023437 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 -0.046875 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.023438 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 0.052408 0 0 -0.030258 0 0 0 0 0 0 0 0 -0.023438 0 0 0.013532 0 0 -0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0 0 0 0.007813 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 0 0 0 0.052408 0 0 -0.030258 0 0 0 0 0 -0.023437 0 0 0.013532 0 0 0 0 0 -0.013532 0 0 0.007812 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 0 0 0 0.023438 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 0.030258 0 0 0 0 0 -0.013532 0 0 0.007813 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 -0.058594 0 0 0.026204 0 0 -0.015129 0 0 0 0 0 0 0 0 -0.026204 0 0 0.015129 0 0 -0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 -0.026204 0 0 0 0 0 0.058594 0 0 -0.015129 0 0 0 0 0 -0.026204 0 0 0.006766 0 0 0 0 0 -0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 -0.026204 0 0 0 0 0 0.026204 0 0 -0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.058594 0 0 0.015129 0 0 0 0 0 -0.015129 0 0 0.003906 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -865,15 +865,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 -0.20963 -0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23438 -0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 -0.209631 -0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 -0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -883,24 +883,24 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23437 0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -910,70 +910,70 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0.03026 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 -0.04687 0 0 -0.04688 0 0 -0.02706 0 0 0 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 -0.04688 0 0 0 0 0 -0.04687 0 0 -0.02706 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 -0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 0.05241 0 0 0.03026 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.02344 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 -0.04688 0 0 0 0 0 -0.04688 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.02344 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 -0.05241 0 0 -0.03026 0 0 0 0 0 0 0 0 0.02344 0 0 0.01353 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0.01563 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0 0 0 -0.03026 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 0 0 0 -0.05241 0 0 -0.03026 0 0 0 0 0 0.02344 0 0 0.01353 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 0 0 0 -0.02344 0 0 -0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 0.03026 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 -0.05859 0 0 -0.02620 0 0 -0.01513 0 0 0 0 0 0 0 0 0.02620 0 0 0.01513 0 0 0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 -0.02620 0 0 0 0 0 -0.05859 0 0 -0.01513 0 0 0 0 0 0.02620 0 0 0.00677 0 0 0 0 0 0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 -0.02620 0 0 0 0 0 -0.02620 0 0 -0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05859 0 0 0.01513 0 0 0 0 0 0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117187 0 0 0.030258 0 0 0 0 0 0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 -0.046875 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 -0.046875 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 -0.023438 0 0 -0.013532 0 0 0 0 0 0 0 0 0.052408 0 0 0.030258 0 0 0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.023438 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 -0.046875 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.023438 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 -0.052408 0 0 -0.030258 0 0 0 0 0 0 0 0 0.023438 0 0 0.013532 0 0 0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0 0 0 -0.030258 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0 0 0 0.007813 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 0 0 0 -0.052408 0 0 -0.030258 0 0 0 0 0 0.023438 0 0 0.013532 0 0 0 0 0 0.013532 0 0 0.007813 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 0 0 0 -0.023438 0 0 -0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 0.030258 0 0 0 0 0 0.013532 0 0 0.007813 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 -0.058594 0 0 -0.026204 0 0 -0.015129 0 0 0 0 0 0 0 0 0.026204 0 0 0.015129 0 0 0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 -0.026204 0 0 0 0 0 -0.058594 0 0 -0.015129 0 0 0 0 0 0.026204 0 0 0.006766 0 0 0 0 0 0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 -0.026204 0 0 0 0 0 -0.026204 0 0 -0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.058594 0 0 0.015129 0 0 0 0 0 0.015129 0 0 0.003906 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::-0.18750 0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 -0.20963 0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 -0.20963 0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 -0.23437 0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::-0.187500 0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 -0.209631 0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 -0.209631 0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 -0.234375 0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -983,15 +983,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23438 -0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 -0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1010,69 +1010,69 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 -0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 -0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 -0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 -0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.02706 0 0 0 0 0 -0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 -0.06052 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 -0.03026 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 -0.04687 0 0 -0.04687 0 0 0.02706 0 0 0 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 -0.04687 0 0 0 0 0 -0.04687 0 0 0.02706 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 -0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 0.05241 0 0 -0.03026 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.02344 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 -0.04688 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04687 0 0 -0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.02344 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 -0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 -0.05241 0 0 0.03026 0 0 0 0 0 0 0 0 0.02344 0 0 -0.01353 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 0 0 0 -0.05241 0 0 0.03026 0 0 0 0 0 0.02344 0 0 -0.01353 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 -0.05241 0 0 0 0 0 -0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 -0.03026 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 -0.05859 0 0 -0.02620 0 0 0.01513 0 0 0 0 0 0 0 0 0.02620 0 0 -0.01513 0 0 -0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 -0.02620 0 0 0 0 0 -0.05859 0 0 0.01513 0 0 0 0 0 0.02620 0 0 -0.00677 0 0 0 0 0 -0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 -0.02620 0 0 0 0 0 -0.02620 0 0 0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05859 0 0 -0.01513 0 0 0 0 0 -0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 -0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 -0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 -0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 -0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 -0.060515 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 -0.030258 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 -0.046875 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 -0.046875 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 -0.023437 0 0 0.013532 0 0 0 0 0 0 0 0 0.052408 0 0 -0.030258 0 0 -0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.023437 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 -0.046875 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.046875 0 0 -0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.023438 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 -0.013532 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 -0.052408 0 0 0.030258 0 0 0 0 0 0 0 0 0.023437 0 0 -0.013532 0 0 -0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0 0 0 0.007813 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 0 0 0 -0.052408 0 0 0.030258 0 0 0 0 0 0.023437 0 0 -0.013532 0 0 0 0 0 -0.013532 0 0 0.007813 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 -0.052408 0 0 0 0 0 -0.023437 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 -0.030258 0 0 0 0 0 -0.013532 0 0 0.007813 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 -0.058594 0 0 -0.026204 0 0 0.015129 0 0 0 0 0 0 0 0 0.026204 0 0 -0.015129 0 0 -0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 -0.026204 0 0 0 0 0 -0.058594 0 0 0.015129 0 0 0 0 0 0.026204 0 0 -0.006766 0 0 0 0 0 -0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 -0.026204 0 0 0 0 0 -0.026204 0 0 0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.058594 0 0 -0.015129 0 0 0 0 0 -0.015129 0 0 0.003906 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1083,24 +1083,24 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 -0.18750 0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 -0.20963 0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23437 0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 -0.187500 0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 -0.209631 0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1119,79 +1119,79 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23438 -0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 -0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.02706 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 -0.06052 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 -0.03026 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 -0.04687 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0 0 0 -0.04688 0 0 -0.02706 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 -0.04688 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0 0 0 -0.04688 0 0 -0.02706 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 -0.05241 0 0 -0.03026 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.02344 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 -0.04687 0 0 0 0 0 0.04687 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04687 0 0 -0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.02344 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 -0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 0.05241 0 0 0.03026 0 0 0 0 0 0 0 0 -0.02344 0 0 -0.01353 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 -0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 0 0 0 0.05241 0 0 0.03026 0 0 0 0 0 -0.02344 0 0 -0.01353 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 -0.05241 0 0 0 0 0 0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 -0.03026 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 -0.05859 0 0 0.02620 0 0 0.01513 0 0 0 0 0 0 0 0 -0.02620 0 0 -0.01513 0 0 0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 -0.02620 0 0 0 0 0 0.05859 0 0 0.01513 0 0 0 0 0 -0.02620 0 0 -0.00677 0 0 0 0 0 0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 -0.02620 0 0 0 0 0 0.02620 0 0 0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05859 0 0 -0.01513 0 0 0 0 0 0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 -0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 -0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 -0.060515 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 -0.030258 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 -0.046875 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 -0.046875 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 0.023438 0 0 0.013532 0 0 0 0 0 0 0 0 -0.052408 0 0 -0.030258 0 0 0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.023438 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 -0.046875 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.046875 0 0 -0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.023438 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 -0.013532 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 0.052408 0 0 0.030258 0 0 0 0 0 0 0 0 -0.023438 0 0 -0.013532 0 0 0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 -0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0 0 0 0.007813 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 0 0 0 0.052408 0 0 0.030258 0 0 0 0 0 -0.023437 0 0 -0.013532 0 0 0 0 0 0.013532 0 0 0.007813 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 -0.052408 0 0 0 0 0 0.023437 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 -0.030258 0 0 0 0 0 0.013532 0 0 0.007813 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 -0.058594 0 0 0.026204 0 0 0.015129 0 0 0 0 0 0 0 0 -0.026204 0 0 -0.015129 0 0 0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 -0.026204 0 0 0 0 0 0.058594 0 0 0.015129 0 0 0 0 0 -0.026204 0 0 -0.006766 0 0 0 0 0 0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 -0.026204 0 0 0 0 0 0.026204 0 0 0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.058594 0 0 -0.015129 0 0 0 0 0 0.015129 0 0 0.003906 
 DEAL::
-DEAL::0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0.18750 0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0.20963 0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0.20963 0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0.23437 0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0.187500 0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0.209631 0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0.209631 0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0.234375 0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1210,15 +1210,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 -0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 -0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23438 -0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 -0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 -0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 -0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1228,69 +1228,69 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.18750 0.10825 0 -0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.05413 0 -0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.20963 0.12103 0 -0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.23437 0.06052 0 -0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 -0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 0 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0.03026 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 0.04687 0 0 -0.04687 0 0 0.02706 0 0 0 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 0.04688 0 0 0 0 0 -0.04687 0 0 0.02706 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 -0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 -0.05241 0 0 0.03026 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.02344 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.08119 0 0 0.04687 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.04688 0 0 0.02706 0 0 0 0 0 -0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.11719 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.02344 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 0.01353 0 0 0 0 0 -0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 -0.05241 0 0 0.03026 0 0 0 0 0 0 0 0 -0.02344 0 0 0.01353 0 0 -0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0.01563 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 0 0 0 -0.05241 0 0 0.03026 0 0 0 0 0 -0.02344 0 0 0.01353 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.09077 0 0 0.05241 0 0 0 0 0 -0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05241 0 0 0.03026 0 0 0 0 0 -0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 0.05859 0 0 -0.02620 0 0 0.01513 0 0 0 0 0 0 0 0 -0.02620 0 0 0.01513 0 0 -0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 0.02620 0 0 0 0 0 -0.05859 0 0 0.01513 0 0 0 0 0 -0.02620 0 0 0.00677 0 0 0 0 0 -0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.10149 0 0 0.02620 0 0 0 0 0 -0.02620 0 0 0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.05859 0 0 0.01513 0 0 0 0 0 -0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.187500 0.108253 0 -0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.054127 0 -0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.209631 0.121031 0 -0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.234375 0.060515 0 -0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0.030258 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 0.046875 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 0.046875 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 -0.023438 0 0 0.013532 0 0 0 0 0 0 0 0 -0.052408 0 0 0.030258 0 0 -0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.023437 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 -0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.081190 0 0 0.046875 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.046875 0 0 0.027063 0 0 0 0 0 -0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.117188 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.023438 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 0.013532 0 0 0 0 0 -0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 -0.052408 0 0 0.030258 0 0 0 0 0 0 0 0 -0.023438 0 0 0.013532 0 0 -0.013532 0 0 0.007813 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 0 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0 0 0 0.007812 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 0 0 0 -0.052408 0 0 0.030258 0 0 0 0 0 -0.023438 0 0 0.013532 0 0 0 0 0 -0.013532 0 0 0.007813 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.090773 0 0 0.052408 0 0 0 0 0 -0.023438 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.052408 0 0 0.030258 0 0 0 0 0 -0.013532 0 0 0.007813 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 0.058594 0 0 -0.026204 0 0 0.015129 0 0 0 0 0 0 0 0 -0.026204 0 0 0.015129 0 0 -0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 0.026204 0 0 0 0 0 -0.058594 0 0 0.015129 0 0 0 0 0 -0.026204 0 0 0.006766 0 0 0 0 0 -0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.101487 0 0 0.026204 0 0 0 0 0 -0.026204 0 0 0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.058594 0 0 0.015129 0 0 0 0 0 -0.015129 0 0 0.003906 
 DEAL::
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1301,15 +1301,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0.18750 0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0.20963 0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0.187500 0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0.209631 0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1319,15 +1319,15 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
@@ -1337,67 +1337,67 @@ DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.21651 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.18750 0.10825 0 0.10825 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.05413 0 0.12103 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.24206 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.20963 0.12103 0 0.05413 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.23437 0.06052 0 0.06052 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0.03026 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 0.04687 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10825 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 0.04688 0 0 0 0 0 0.04687 0 0 0.02706 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 0.05241 0 0 0.03026 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.02344 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09375 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05413 0 0 0 0 0 0 0 0 0.03125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08119 0 0 0.04688 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04688 0 0 0.02706 0 0 0 0 0 0.02706 0 0 0.01562 0 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0.01563 0 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.02344 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 0.01353 0 0 0 0 0 0.03026 0 0 0.00781 0 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 0.05241 0 0 0.03026 0 0 0 0 0 0 0 0 0.02344 0 0 0.01353 0 0 0.01353 0 0 0.00781 0 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0.01562 0 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10482 0 0 0 0 0 0 0 0 0.02706 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06052 0 0 0 0 0 0 0 0 0.01563 0 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.11719 0 0 0 0 0 0.03026 0 0 0 0 0 0 0 0 0 0 0 0.03026 0 0 0 0 0 0.00781 0 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 0 0 0 0.05241 0 0 0.03026 0 0 0 0 0 0.02344 0 0 0.01353 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09077 0 0 0.05241 0 0 0 0 0 0.02344 0 0 0.01353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05241 0 0 0.03026 0 0 0 0 0 0.01353 0 0 0.00781 0 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 0.05859 0 0 0.02620 0 0 0.01513 0 0 0 0 0 0 0 0 0.02620 0 0 0.01513 0 0 0.00677 0 0 0.00391 0 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 0.02620 0 0 0 0 0 0.05859 0 0 0.01513 0 0 0 0 0 0.02620 0 0 0.00677 0 0 0 0 0 0.01513 0 0 0.00391 0 
-DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.10149 0 0 0.02620 0 0 0 0 0 0.02620 0 0 0.00677 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05859 0 0 0.01513 0 0 0 0 0 0.01513 0 0 0.00391 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.250000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.216506 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.187500 0.108253 0 0.108253 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.054127 0 0.121031 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.242061 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.209631 0.121031 0 0.054127 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.234375 0.060515 0 0.060515 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.125000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117187 0 0 0.030258 0 0 0 0 0 0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 0.046875 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.108253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.062500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 0.046875 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 0.023438 0 0 0.013532 0 0 0 0 0 0 0 0 0.052408 0 0 0.030258 0 0 0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.023438 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.121031 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.093750 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.054127 0 0 0 0 0 0 0 0 0.031250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.081190 0 0 0.046875 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.046875 0 0 0.027063 0 0 0 0 0 0.027063 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0.007813 0 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.023438 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 0.013532 0 0 0 0 0 0.030258 0 0 0.007812 0 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 0.052408 0 0 0.030258 0 0 0 0 0 0 0 0 0.023438 0 0 0.013532 0 0 0.013532 0 0 0.007812 0 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.104816 0 0 0 0 0 0 0 0 0.027063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.060515 0 0 0 0 0 0 0 0 0.015625 0 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.117188 0 0 0 0 0 0.030258 0 0 0 0 0 0 0 0 0 0 0 0.030258 0 0 0 0 0 0.007812 0 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 0 0 0 0.052408 0 0 0.030258 0 0 0 0 0 0.023438 0 0 0.013532 0 0 0 0 0 0.013532 0 0 0.007812 0 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.090773 0 0 0.052408 0 0 0 0 0 0.023438 0 0 0.013532 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.052408 0 0 0.030258 0 0 0 0 0 0.013532 0 0 0.007812 0 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 0.058594 0 0 0.026204 0 0 0.015129 0 0 0 0 0 0 0 0 0.026204 0 0 0.015129 0 0 0.006766 0 0 0.003906 0 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 0.026204 0 0 0 0 0 0.058594 0 0 0.015129 0 0 0 0 0 0.026204 0 0 0.006766 0 0 0 0 0 0.015129 0 0 0.003906 0 
+DEAL::0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.101487 0 0 0.026204 0 0 0 0 0 0.026204 0 0 0.006766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.058594 0 0 0.015129 0 0 0 0 0 0.015129 0 0 0.003906 
 DEAL::

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.