<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1786112021">
  <project timestamp="1786112021">
    <file name="/workspace/src/extensions/Thanks/includes/Api/ApiCoreThank.php">
      <class name="MediaWiki\Extension\Thanks\Api\ApiCoreThank" namespace="global">
        <metrics complexity="28" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="118" coveredstatements="101" elements="130" coveredelements="106"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="46" type="stmt" count="7"/>
      <line num="47" type="stmt" count="7"/>
      <line num="48" type="stmt" count="7"/>
      <line num="49" type="stmt" count="7"/>
      <line num="50" type="stmt" count="7"/>
      <line num="51" type="stmt" count="7"/>
      <line num="52" type="stmt" count="7"/>
      <line num="59" type="method" name="execute" visibility="public" complexity="8" crap="8.06" count="6"/>
      <line num="61" type="stmt" count="6"/>
      <line num="62" type="stmt" count="6"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="77" type="stmt" count="0"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="0"/>
      <line num="113" type="stmt" count="3"/>
      <line num="114" type="stmt" count="3"/>
      <line num="115" type="stmt" count="3"/>
      <line num="116" type="stmt" count="3"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="3"/>
      <line num="120" type="stmt" count="3"/>
      <line num="121" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="123" type="stmt" count="3"/>
      <line num="134" type="method" name="userAlreadySentThanks" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="138" type="method" name="getRevisionFromId" visibility="private" complexity="4" crap="4.59" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="2"/>
      <line num="155" type="method" name="getLogEntryFromId" visibility="protected" complexity="4" crap="4.02" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="0"/>
      <line num="169" type="stmt" count="1"/>
      <line num="177" type="method" name="getSourceFromParams" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="1"/>
      <line num="181" type="stmt" count="2"/>
      <line num="189" type="method" name="getUserFromRevision" visibility="private" complexity="2" crap="2.06" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="0"/>
      <line num="194" type="stmt" count="2"/>
      <line num="201" type="method" name="getUserFromLog" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="219" type="method" name="sendThanks" visibility="protected" complexity="2" crap="2.01" count="3"/>
      <line num="222" type="stmt" count="3"/>
      <line num="224" type="stmt" count="3"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="231" type="stmt" count="3"/>
      <line num="232" type="stmt" count="3"/>
      <line num="233" type="stmt" count="3"/>
      <line num="234" type="stmt" count="3"/>
      <line num="235" type="stmt" count="3"/>
      <line num="236" type="stmt" count="3"/>
      <line num="237" type="stmt" count="3"/>
      <line num="238" type="stmt" count="3"/>
      <line num="239" type="stmt" count="3"/>
      <line num="242" type="stmt" count="3"/>
      <line num="244" type="stmt" count="3"/>
      <line num="245" type="stmt" count="3"/>
      <line num="249" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="250" type="stmt" count="7"/>
      <line num="251" type="stmt" count="7"/>
      <line num="252" type="stmt" count="7"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="7"/>
      <line num="255" type="stmt" count="7"/>
      <line num="256" type="stmt" count="7"/>
      <line num="257" type="stmt" count="7"/>
      <line num="258" type="stmt" count="7"/>
      <line num="259" type="stmt" count="7"/>
      <line num="260" type="stmt" count="7"/>
      <line num="261" type="stmt" count="7"/>
      <line num="262" type="stmt" count="7"/>
      <line num="263" type="stmt" count="7"/>
      <line num="264" type="stmt" count="7"/>
      <line num="265" type="stmt" count="7"/>
      <line num="266" type="stmt" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="273" type="method" name="getHelpUrls" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="283" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <metrics loc="290" ncloc="221" classes="1" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="118" coveredstatements="101" elements="130" coveredelements="106"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/Api/ApiFlowThank.php">
      <class name="MediaWiki\Extension\Thanks\Api\ApiFlowThank" namespace="global">
        <metrics complexity="16" methods="10" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="71" elements="94" coveredelements="76"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="47" type="method" name="execute" visibility="public" complexity="3" crap="3.01" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="3"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="105" type="method" name="userAlreadySentThanksForId" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="113" type="method" name="getFlowData" visibility="private" complexity="3" crap="3.21" count="3"/>
      <line num="114" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="1"/>
      <line num="126" type="stmt" count="2"/>
      <line num="133" type="method" name="getRecipientFromPost" visibility="private" complexity="2" crap="2.06" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="2"/>
      <line num="145" type="method" name="getPageTitleFromRootPost" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="154" type="method" name="getTopicTitleFromRootPost" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="170" type="method" name="sendThanks" visibility="private" complexity="2" crap="2.01" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="189" type="stmt" count="1"/>
      <line num="190" type="stmt" count="1"/>
      <line num="191" type="stmt" count="1"/>
      <line num="192" type="stmt" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <line num="194" type="stmt" count="1"/>
      <line num="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="208" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="209" type="stmt" count="5"/>
      <line num="210" type="stmt" count="5"/>
      <line num="211" type="stmt" count="5"/>
      <line num="212" type="stmt" count="5"/>
      <line num="213" type="stmt" count="5"/>
      <line num="214" type="stmt" count="5"/>
      <line num="215" type="stmt" count="5"/>
      <line num="216" type="stmt" count="5"/>
      <line num="217" type="stmt" count="5"/>
      <line num="218" type="stmt" count="5"/>
      <line num="225" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <metrics loc="232" ncloc="179" classes="1" methods="10" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="71" elements="94" coveredelements="76"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/Api/ApiThank.php">
      <class name="MediaWiki\Extension\Thanks\Api\ApiThank" namespace="global">
        <metrics complexity="20" methods="10" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="11" elements="35" coveredelements="13"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="dieOnBadUser" visibility="protected" complexity="3" crap="3" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="49" type="method" name="dieOnUserBlockedFromPage" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="65" type="method" name="dieOnUserBlockedFromThanks" visibility="protected" complexity="4" crap="4" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="71" type="stmt" count="1"/>
      <line num="75" type="method" name="dieOnBadRecipient" visibility="protected" complexity="5" crap="8.12" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="method" name="markResultSuccess" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="method" name="haveAlreadyThanked" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="method" name="logThanks" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="101" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="106" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <metrics loc="111" ncloc="82" classes="1" methods="10" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="11" elements="35" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/EchoCoreThanksPresentationModel.php">
      <class name="MediaWiki\Extension\Thanks\EchoCoreThanksPresentationModel" namespace="global">
        <metrics complexity="31" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="0" elements="92" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="canRender" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="35" type="method" name="getIconType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="40" type="method" name="getHeaderMessage" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="65" type="method" name="getCompactHeaderMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="74" type="method" name="getBodyMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="87" type="method" name="getRevisionEditSummary" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="106" type="method" name="getRevOrLogComment" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="139" type="method" name="getPrimaryLink" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="159" type="method" name="getSecondaryLinks" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="171" type="method" name="getLogEntry" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="190" type="method" name="getThankType" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <metrics loc="194" ncloc="157" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="0" elements="92" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/EchoFlowThanksPresentationModel.php">
      <class name="MediaWiki\Extension\Thanks\EchoFlowThanksPresentationModel" namespace="global">
        <metrics complexity="11" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="0" elements="39" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="canRender" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="12" type="stmt" count="0"/>
      <line num="16" type="method" name="getIconType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="21" type="method" name="getHeaderMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="40" type="method" name="getCompactHeaderMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="getBodyMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="59" type="method" name="getPrimaryLink" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="76" type="method" name="getSecondaryLinks" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <metrics loc="84" ncloc="70" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="0" elements="39" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/EchoHooks.php">
      <class name="MediaWiki\Extension\Thanks\EchoHooks" namespace="global">
        <metrics complexity="8" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="onBeforeCreateEchoEvent" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="39" type="method" name="onEchoGetBundleRules" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <metrics loc="66" ncloc="46" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/Hooks.php">
      <class name="MediaWiki\Extension\Thanks\Hooks" namespace="global">
        <metrics complexity="72" methods="20" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="137" coveredstatements="54" elements="157" coveredelements="59"/>
      </class>
      <line num="66" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="85" type="method" name="onHistoryTools" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="103" type="method" name="onDiffTools" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="130" type="method" name="insertThankLink" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="176" type="method" name="isUserBlockedFromPage" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="186" type="method" name="isUserBlockedFromThanks" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="200" type="method" name="canReceiveThanks" visibility="public" complexity="6" crap="6.40" count="3"/>
      <line num="206" type="stmt" count="3"/>
      <line num="207" type="stmt" count="3"/>
      <line num="208" type="stmt" count="0"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="1"/>
      <line num="215" type="stmt" count="2"/>
      <line num="216" type="stmt" count="2"/>
      <line num="218" type="stmt" count="0"/>
      <line num="221" type="stmt" count="2"/>
      <line num="231" type="method" name="getSessionKey" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="234" type="stmt" count="5"/>
      <line num="235" type="stmt" count="2"/>
      <line num="237" type="stmt" count="5"/>
      <line num="250" type="method" name="generateThankElement" visibility="protected" complexity="6" crap="6.68" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="0"/>
      <line num="263" type="stmt" count="1"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="284" type="stmt" count="1"/>
      <line num="285" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="288" type="stmt" count="1"/>
      <line num="289" type="stmt" count="1"/>
      <line num="290" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="297" type="method" name="addThanksModule" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="310" type="method" name="onPageHistoryBeforeList" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="317" type="method" name="onPageHistoryPager__doBatchLookups" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="331" type="method" name="onChangesListInitRows" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="349" type="method" name="onDifferenceEngineViewHeader" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="361" type="method" name="onLocalUserCreated" visibility="public" complexity="3" crap="4.12" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="0"/>
      <line num="375" type="method" name="onGetLogTypesOnUser" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="380" type="method" name="onGetAllBlockActions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="392" type="method" name="onBeforePageDisplay" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="417" type="method" name="onApiMain__moduleManager" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="447" type="method" name="onLogEventsListLineEnding" visibility="public" complexity="11" crap="11.17" count="1"/>
      <line num="450" type="stmt" count="1"/>
      <line num="454" type="stmt" count="1"/>
      <line num="455" type="stmt" count="1"/>
      <line num="456" type="stmt" count="1"/>
      <line num="457" type="stmt" count="1"/>
      <line num="459" type="stmt" count="1"/>
      <line num="463" type="stmt" count="1"/>
      <line num="464" type="stmt" count="1"/>
      <line num="465" type="stmt" count="1"/>
      <line num="466" type="stmt" count="0"/>
      <line num="473" type="stmt" count="1"/>
      <line num="474" type="stmt" count="1"/>
      <line num="475" type="stmt" count="1"/>
      <line num="477" type="stmt" count="0"/>
      <line num="482" type="stmt" count="1"/>
      <line num="483" type="stmt" count="1"/>
      <line num="484" type="stmt" count="1"/>
      <line num="487" type="stmt" count="1"/>
      <metrics loc="490" ncloc="336" classes="1" methods="20" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="137" coveredstatements="54" elements="157" coveredelements="59"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/SpecialThanks.php">
      <class name="MediaWiki\Extension\Thanks\SpecialThanks" namespace="global">
        <metrics complexity="33" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="0" elements="108" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="42" type="method" name="setParameter" visibility="protected" complexity="11" crap="132" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="84" type="method" name="getFormFields" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="104" type="method" name="preHtml" visibility="protected" complexity="7" crap="56" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="126" type="method" name="alterForm" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="137" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="145" type="method" name="onSubmit" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="205" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="210" type="method" name="isListed" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <metrics loc="214" ncloc="179" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="0" elements="108" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/Storage/Exceptions/InvalidLogType.php">
      <class name="MediaWiki\Extension\Thanks\Storage\Exceptions\InvalidLogType" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="8" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <line num="14" type="method" name="getLogType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <metrics loc="18" ncloc="18" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/Storage/Exceptions/LogDeleted.php">
      <class name="MediaWiki\Extension\Thanks\Storage\Exceptions\LogDeleted" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="9" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/Storage/LogStore.php">
      <class name="MediaWiki\Extension\Thanks\Storage\LogStore" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="15" elements="46" coveredelements="16"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="33" type="stmt" count="3"/>
      <line num="42" type="method" name="thank" visibility="public" complexity="4" crap="4.03" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="74" type="method" name="haveThanked" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="97" type="method" name="getLogEntryFromId" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <metrics loc="118" ncloc="91" classes="1" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="15" elements="46" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/ThanksLogFormatter.php">
      <class name="MediaWiki\Extension\Thanks\ThanksLogFormatter" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="13" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="27" type="method" name="getMessageParameters" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="42" type="method" name="getPreloadTitles" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <metrics loc="47" ncloc="36" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="13" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/ThanksQueryHelper.php">
      <class name="MediaWiki\Extension\Thanks\ThanksQueryHelper" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="35" elements="40" coveredelements="37"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="22" type="stmt" count="3"/>
      <line num="34" type="method" name="getThanksReceivedCount" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="70" type="method" name="getThanksGivenCount" visibility="public" complexity="3" crap="3.01" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="91" type="stmt" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <metrics loc="99" ncloc="73" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="35" elements="40" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/Thanks/includes/ThanksServices.php">
      <class name="MediaWiki\Extension\Thanks\ThanksServices" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="wrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="method" name="getQueryHelper" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <metrics loc="29" ncloc="23" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <metrics files="14" loc="2001" ncloc="1520" classes="13" methods="96" coveredmethods="20" conditionals="0" coveredconditionals="0" statements="688" coveredstatements="287" elements="784" coveredelements="307"/>
  </project>
</coverage>
