Back

QuadBendingSprings

sofa::component::solidmechanics::spring::QuadBendingSprings
SpringForceField
Doc (from source)

Springs added to a quad mesh to prevent bending. Bending springs added between vertices of quads sharing a common edge. The springs connect the vertices not belonging to the common edge. It compresses when the surface bends along the common edge.

Abstract (AI generated)

The `QuadBendingSprings` component prevents bending in quad meshes by adding springs between vertices sharing a common edge but not part of it, using Hooke's Law to compute internal forces.

Metadata
module
Sofa.Component.SolidMechanics.Spring
namespace
sofa::component::solidmechanics::spring
include
sofa/component/solidmechanics/spring/QuadBendingSprings.h
inherits
  • SpringForceField
templates
  • sofa::defaulttype::Vec3Types
description

The `QuadBendingSprings` component in the SOFA framework is designed to prevent excessive bending in quad meshes by introducing additional springs between vertices that share a common edge but are not part of it. The primary goal is to maintain structural rigidity and minimize deformation along these edges.

Governing Equations and Operators:

  • The `QuadBendingSprings` component contributes additional internal forces, denoted as \( f_{\text{int}}^{\text{bend}} \), to the overall force field of the simulation. These forces arise from springs that connect vertices not belonging to a shared edge.

The internal bending force for each spring can be expressed in terms of Hooke's Law:

egin{equation} f_{\text{int}}^{\text{bend}} = -k_s (l - l_0) - k_d \dot{l}, ag{1} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{} ext{}
Data Fields
NameTypeDefaultHelp
d_localRange type::Vec<2, int> optional range of local DOF indices. Any computation involving only indices outside of this range are discarded (useful for parallelization using mesh partitioning)
Links
NameTypeHelp
l_topology link to the topology container
Methods
void init ()
void draw (const core::visual::VisualParams * )
void setObject1 (MechanicalState * object1)
void setObject2 (MechanicalState * object2)
void addSpring (unsigned int , unsigned int , int & )
void registerEdge (IndexPair , IndexPair , int & , int & )
{
  "name": "QuadBendingSprings",
  "namespace": "sofa::component::solidmechanics::spring",
  "module": "Sofa.Component.SolidMechanics.Spring",
  "include": "sofa/component/solidmechanics/spring/QuadBendingSprings.h",
  "doc": "Springs added to a quad mesh to prevent bending.\n\nBending springs added between vertices of quads sharing a common edge.\nThe springs connect the vertices not belonging to the common edge. It compresses when the surface bends along the common edge.",
  "inherits": [
    "SpringForceField"
  ],
  "templates": [
    "sofa::defaulttype::Vec3Types"
  ],
  "data_fields": [
    {
      "name": "d_localRange",
      "type": "type::Vec<2, int>",
      "xmlname": "localRange",
      "help": "optional range of local DOF indices. Any computation involving only indices outside of this range are discarded (useful for parallelization using mesh partitioning)"
    }
  ],
  "links": [
    {
      "name": "l_topology",
      "target": "BaseMeshTopology",
      "kind": "single",
      "xmlname": "topology",
      "help": "link to the topology container"
    }
  ],
  "methods": [
    {
      "name": "init",
      "return_type": "void",
      "params": [],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "draw",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "const core::visual::VisualParams *"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setObject1",
      "return_type": "void",
      "params": [
        {
          "name": "object1",
          "type": "MechanicalState *"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "setObject2",
      "return_type": "void",
      "params": [
        {
          "name": "object2",
          "type": "MechanicalState *"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "public"
    },
    {
      "name": "addSpring",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "unsigned int"
        },
        {
          "name": "",
          "type": "unsigned int"
        },
        {
          "name": "",
          "type": "int &"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    },
    {
      "name": "registerEdge",
      "return_type": "void",
      "params": [
        {
          "name": "",
          "type": "IndexPair"
        },
        {
          "name": "",
          "type": "IndexPair"
        },
        {
          "name": "",
          "type": "int &"
        },
        {
          "name": "",
          "type": "int &"
        }
      ],
      "is_virtual": false,
      "is_pure_virtual": false,
      "is_static": false,
      "access": "protected"
    }
  ],
  "description": "<p>The `QuadBendingSprings` component in the SOFA framework is designed to prevent bending in quad meshes by adding springs between vertices that share a common edge. These springs connect vertices not belonging to the common edge, compressing when the surface bends along the shared edge.</p>\n\n<p><strong>Role and Purpose:</strong></p>\n\n<ul>\n<li>`QuadBendingSprings` is intended to maintain structural rigidity in quad meshes by preventing excessive bending through spring-based constraints. It inherits from `SpringForceField`, which suggests it integrates with the broader force field system of SOFA.</li>\n</ul>\n\n<p><strong>Interactions:</strong></p>\n\n<ul>\n<li>`QuadBendingSprings` links to a `BaseMeshTopology` object via its <code>l_topology</code> link, which it uses to access the quad mesh data necessary for setting up and managing the bending springs.</li>\n<li>The component interacts with other components through methods like <code>setObject1</code>, <code>setObject2</code>, and <code>addSpring</code>.</li>\n</ul>\n\n<p><strong>Practical Usage:</strong></p>\n\n<ul>\n<li>`QuadBendingSprings` can be configured with an optional range of local DOF indices via the `d_localRange` data field, which helps in parallelization using mesh partitioning.</li>\n<li>The <code>init</code> method initializes and sets up all necessary springs based on quad topologies provided by the linked topology container.</li>\n<li>Springs are registered during the initialization phase to ensure that vertices not part of a common edge are connected, thereby controlling bending behavior.</li>\n</ul>",
  "maths": "<p>The `QuadBendingSprings` component in the SOFA framework is designed to prevent excessive bending in quad meshes by introducing additional springs between vertices that share a common edge but are not part of it. The primary goal is to maintain structural rigidity and minimize deformation along these edges.</p>\n\n<p><strong>Governing Equations and Operators:</strong></p>\n\n<ul>\n<li>The `QuadBendingSprings` component contributes additional internal forces, denoted as \\( f_{\\text{int}}^{\\text{bend}} \\), to the overall force field of the simulation. These forces arise from springs that connect vertices not belonging to a shared edge.</li>\n</ul>\n\n<p>The internal bending force for each spring can be expressed in terms of Hooke's Law:</p>\n\n\begin{equation}\n    f_{\\text{int}}^{\\text{bend}} = -k_s (l - l_0) - k_d \\dot{l},\n\tag{1}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n\text{}\n",
  "abstract": "The `QuadBendingSprings` component prevents bending in quad meshes by adding springs between vertices sharing a common edge but not part of it, using Hooke's Law to compute internal forces.",
  "sheet": "# QuadBendingSprings\n\n## Overview\nThe `QuadBendingSprings` component is designed to prevent excessive bending in quad meshes. It adds springs between vertices that share a common edge but are not part of the edge itself. This component inherits from the `SpringForceField` class and interacts with other components through its methods and links, particularly requiring a link to a `BaseMeshTopology` object for accessing mesh data.\n\n## Mathematical Model\nThe internal bending force for each spring can be expressed in terms of Hooke's Law:\n\n\\[ f_{\\text{int}}^{\\text{bend}} = -k_s (l - l_0) - k_d \\dot{l} \\]\n\nwhere $f_{\\text{int}}^{\\text{bend}}$ is the internal bending force, $k_s$ is the spring constant, $l$ is the current length of the spring, $l_0$ is the rest length, and $k_d$ is the damping coefficient.\n\n## Parameters and Data\n- **`d_localRange`**: `type::Vec<2, int>`\n  - Optional range of local DOF indices. Any computation involving only indices outside of this range are discarded (useful for parallelization using mesh partitioning).\n\n## Dependencies and Connections\nThe component requires a link to the topology container (`BaseMeshTopology`) via its `l_topology` field, which it uses to access quad mesh data necessary for setting up and managing the bending springs.\n\n## Practical Notes\n- The `d_localRange` parameter can be configured to help with parallelization using mesh partitioning.\n- Springs are registered during initialization based on the provided quad topologies."
}