+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++  CN             ++    ++           ++    ++                 ++          +     +++     +++++++++++++++++
+++++++++++                 +     ++           +     ++                 +            +           ++++++++++++++++++
+++++++++++                 +     ++           +     ++                 +            ++         +++++++++++++++++++
+++++++++++    ++     +     +     ++    ++     +     ++     +     +     +      +     +++       ++++++++++++++++++++
+++++++++++    ++     +     +     ++    ++     +     ++     +     +     +            +++       ++++++++++++++++++++
+++++++++++    ++     +     +     ++    ++     +     ++     +     +     +            ++         +++++++++++++++++++
+++++++++++    ++     +     +     ++    ++     +     ++     +     +     +     ++     +           ++++++++++++++++++
+++++++++++    ++    ++     ++    ++    ++     ++    ++    ++    +++    ++    ++    +     +++     +++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
