<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage lines-valid="117" lines-covered="117" line-rate="1" branches-valid="101" branches-covered="101" branch-rate="1" timestamp="1775499495933" complexity="0" version="0.1">
  <sources>
    <source>/home/taaazzz/projects/missioflow-site</source>
  </sources>
  <packages>
    <package name="src" line-rate="1" branch-rate="1">
      <classes>
        <class name="middleware.ts" filename="src/middleware.ts" line-rate="1" branch-rate="1">
          <methods>
            <method name="(anonymous_0)" hits="2" signature="()V">
              <lines>
                <line number="7" hits="2"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="7" hits="1" branch="false"/>
            <line number="8" hits="2" branch="false"/>
            <line number="10" hits="2" branch="false"/>
            <line number="11" hits="2" branch="false"/>
            <line number="12" hits="2" branch="false"/>
            <line number="13" hits="2" branch="false"/>
            <line number="14" hits="2" branch="false"/>
            <line number="15" hits="2" branch="false"/>
            <line number="16" hits="2" branch="false"/>
            <line number="17" hits="2" branch="false"/>
            <line number="19" hits="2" branch="false"/>
          </lines>
        </class>
      </classes>
    </package>
    <package name="src.i18n" line-rate="1" branch-rate="1">
      <classes>
        <class name="en.ts" filename="src/i18n/en.ts" line-rate="1" branch-rate="1">
          <methods>
          </methods>
          <lines>
            <line number="3" hits="1" branch="false"/>
          </lines>
        </class>
        <class name="fr.ts" filename="src/i18n/fr.ts" line-rate="1" branch-rate="1">
          <methods>
          </methods>
          <lines>
            <line number="191" hits="1" branch="false"/>
          </lines>
        </class>
        <class name="index.ts" filename="src/i18n/index.ts" line-rate="1" branch-rate="1">
          <methods>
            <method name="(anonymous_0)" hits="8" signature="()V">
              <lines>
                <line number="27" hits="8"/>
              </lines>
            </method>
            <method name="t" hits="3" signature="()V">
              <lines>
                <line number="30" hits="3"/>
              </lines>
            </method>
            <method name="getLocaleFromUrl" hits="3" signature="()V">
              <lines>
                <line number="34" hits="3"/>
              </lines>
            </method>
            <method name="localePath" hits="3" signature="()V">
              <lines>
                <line number="42" hits="3"/>
              </lines>
            </method>
            <method name="getAlternatePath" hits="11" signature="()V">
              <lines>
                <line number="52" hits="11"/>
              </lines>
            </method>
            <method name="getAlternateLocales" hits="2" signature="()V">
              <lines>
                <line number="77" hits="2"/>
              </lines>
            </method>
            <method name="(anonymous_6)" hits="4" signature="()V">
              <lines>
                <line number="78" hits="4"/>
              </lines>
            </method>
            <method name="getLocaleLabel" hits="2" signature="()V">
              <lines>
                <line number="86" hits="2"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="6" hits="1" branch="false"/>
            <line number="7" hits="1" branch="false"/>
            <line number="9" hits="1" branch="false"/>
            <line number="15" hits="1" branch="false"/>
            <line number="26" hits="1" branch="false"/>
            <line number="27" hits="8" branch="false"/>
            <line number="31" hits="3" branch="true" condition-coverage="100% (2/2)"/>
            <line number="35" hits="3" branch="false"/>
            <line number="36" hits="3" branch="true" condition-coverage="100% (4/4)"/>
            <line number="37" hits="1" branch="false"/>
            <line number="39" hits="2" branch="false"/>
            <line number="43" hits="3" branch="true" condition-coverage="100% (2/2)"/>
            <line number="44" hits="3" branch="true" condition-coverage="100% (2/2)"/>
            <line number="45" hits="1" branch="false"/>
            <line number="54" hits="11" branch="false"/>
            <line number="55" hits="11" branch="true" condition-coverage="100% (2/2)"/>
            <line number="56" hits="3" branch="false"/>
            <line number="58" hits="11" branch="true" condition-coverage="100% (2/2)"/>
            <line number="61" hits="11" branch="false"/>
            <line number="62" hits="11" branch="true" condition-coverage="100% (4/4)"/>
            <line number="63" hits="4" branch="false"/>
            <line number="64" hits="7" branch="true" condition-coverage="100% (4/4)"/>
            <line number="65" hits="1" branch="false"/>
            <line number="68" hits="11" branch="true" condition-coverage="100% (2/2)"/>
            <line number="70" hits="5" branch="true" condition-coverage="100% (2/2)"/>
            <line number="73" hits="6" branch="true" condition-coverage="100% (2/2)"/>
            <line number="74" hits="11" branch="false"/>
            <line number="78" hits="4" branch="false"/>
            <line number="87" hits="2" branch="false"/>
            <line number="91" hits="2" branch="false"/>
          </lines>
        </class>
      </classes>
    </package>
    <package name="src.pages" line-rate="1" branch-rate="1">
      <classes>
        <class name="robots.txt.ts" filename="src/pages/robots.txt.ts" line-rate="1" branch-rate="1">
          <methods>
            <method name="(anonymous_0)" hits="1" signature="()V">
              <lines>
                <line number="4" hits="1"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="1" hits="1" branch="false"/>
            <line number="4" hits="1" branch="false"/>
            <line number="5" hits="1" branch="false"/>
            <line number="15" hits="1" branch="false"/>
          </lines>
        </class>
      </classes>
    </package>
    <package name="src.pages.api" line-rate="1" branch-rate="1">
      <classes>
        <class name="contact.ts" filename="src/pages/api/contact.ts" line-rate="1" branch-rate="1">
          <methods>
            <method name="_resetTransporter" hits="16" signature="()V">
              <lines>
                <line number="6" hits="16"/>
              </lines>
            </method>
            <method name="getTransporter" hits="15" signature="()V">
              <lines>
                <line number="8" hits="15"/>
              </lines>
            </method>
            <method name="(anonymous_2)" hits="25" signature="()V">
              <lines>
                <line number="32" hits="25"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="5" hits="1" branch="false"/>
            <line number="6" hits="16" branch="false"/>
            <line number="9" hits="15" branch="true" condition-coverage="100% (2/2)"/>
            <line number="11" hits="10" branch="true" condition-coverage="100% (2/2)"/>
            <line number="12" hits="15" branch="true" condition-coverage="100% (2/2)"/>
            <line number="13" hits="15" branch="false"/>
            <line number="14" hits="15" branch="false"/>
            <line number="16" hits="15" branch="true" condition-coverage="100% (4/4)"/>
            <line number="17" hits="1" branch="false"/>
            <line number="18" hits="1" branch="false"/>
            <line number="21" hits="9" branch="false"/>
            <line number="28" hits="9" branch="false"/>
            <line number="29" hits="9" branch="false"/>
            <line number="32" hits="1" branch="false"/>
            <line number="33" hits="25" branch="false"/>
            <line number="39" hits="25" branch="true" condition-coverage="100% (2/2)"/>
            <line number="40" hits="25" branch="true" condition-coverage="100% (2/2)"/>
            <line number="41" hits="4" branch="false"/>
            <line number="49" hits="21" branch="false"/>
            <line number="50" hits="21" branch="false"/>
            <line number="52" hits="1" branch="false"/>
            <line number="59" hits="20" branch="true" condition-coverage="100% (2/2)"/>
            <line number="60" hits="1" branch="false"/>
            <line number="64" hits="19" branch="false"/>
            <line number="65" hits="19" branch="false"/>
            <line number="66" hits="19" branch="false"/>
            <line number="67" hits="19" branch="false"/>
            <line number="68" hits="19" branch="false"/>
            <line number="69" hits="19" branch="false"/>
            <line number="71" hits="19" branch="true" condition-coverage="100% (4/4)"/>
            <line number="72" hits="1" branch="false"/>
            <line number="74" hits="18" branch="true" condition-coverage="100% (4/4)"/>
            <line number="75" hits="1" branch="false"/>
            <line number="77" hits="17" branch="true" condition-coverage="100% (4/4)"/>
            <line number="78" hits="1" branch="false"/>
            <line number="80" hits="16" branch="true" condition-coverage="100% (4/4)"/>
            <line number="81" hits="1" branch="false"/>
            <line number="85" hits="15" branch="false"/>
            <line number="86" hits="15" branch="true" condition-coverage="100% (2/2)"/>
            <line number="87" hits="1" branch="false"/>
            <line number="88" hits="1" branch="false"/>
            <line number="94" hits="14" branch="true" condition-coverage="100% (2/2)"/>
            <line number="95" hits="25" branch="true" condition-coverage="100% (2/2)"/>
            <line number="97" hits="25" branch="false"/>
            <line number="98" hits="25" branch="false"/>
            <line number="157" hits="13" branch="false"/>
            <line number="158" hits="13" branch="false"/>
            <line number="160" hits="1" branch="false"/>
            <line number="161" hits="1" branch="false"/>
          </lines>
        </class>
        <class name="contact.utils.ts" filename="src/pages/api/contact.utils.ts" line-rate="1" branch-rate="1">
          <methods>
            <method name="isRateLimited" hits="43" signature="()V">
              <lines>
                <line number="6" hits="43"/>
              </lines>
            </method>
            <method name="sanitize" hits="123" signature="()V">
              <lines>
                <line number="17" hits="123"/>
              </lines>
            </method>
            <method name="isValidEmail" hits="29" signature="()V">
              <lines>
                <line number="23" hits="29"/>
              </lines>
            </method>
          </methods>
          <lines>
            <line number="2" hits="2" branch="false"/>
            <line number="3" hits="2" branch="false"/>
            <line number="4" hits="2" branch="false"/>
            <line number="7" hits="43" branch="false"/>
            <line number="8" hits="43" branch="false"/>
            <line number="9" hits="43" branch="true" condition-coverage="100% (4/4)"/>
            <line number="10" hits="23" branch="false"/>
            <line number="11" hits="23" branch="false"/>
            <line number="13" hits="20" branch="false"/>
            <line number="14" hits="20" branch="false"/>
            <line number="18" hits="123" branch="true" condition-coverage="100% (4/4)"/>
            <line number="19" hits="85" branch="true" condition-coverage="100% (5/5)"/>
            <line number="20" hits="83" branch="false"/>
            <line number="24" hits="29" branch="true" condition-coverage="100% (2/2)"/>
            <line number="25" hits="28" branch="false"/>
            <line number="26" hits="28" branch="true" condition-coverage="100% (4/4)"/>
            <line number="27" hits="24" branch="false"/>
            <line number="28" hits="24" branch="false"/>
            <line number="29" hits="24" branch="false"/>
            <line number="30" hits="24" branch="true" condition-coverage="100% (4/4)"/>
            <line number="31" hits="20" branch="true" condition-coverage="100% (2/2)"/>
          </lines>
        </class>
      </classes>
    </package>
  </packages>
</coverage>
