<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1791532855">
  <project timestamp="1791532855">
    <file name="/workspace/src/extensions/CheckUser/maintenance/createFakeSuggestedInvestigationCases.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\CreateFakeSuggestedInvestigationCases" namespace="global">
        <metrics complexity="14" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="186" ncloc="146" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/deleteReadOldRowsInCuChanges.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\DeleteReadOldRowsInCuChanges" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="65" elements="68" coveredelements="68"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="37" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="44" type="method" name="doDBUpdates" visibility="protected" complexity="6" crap="6" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <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="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" 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="90" type="stmt" count="2"/>
      <line num="91" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <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="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <metrics loc="135" ncloc="108" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="65" elements="68" coveredelements="68"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/fixTrailingSpacesInLogs.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\FixTrailingSpacesInLogs" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="33" elements="36" coveredelements="36"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="31" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="38" type="method" name="doDBUpdates" visibility="protected" complexity="2" crap="2" 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="43" 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="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" 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="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <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="75" type="stmt" count="1"/>
      <metrics loc="83" ncloc="70" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="33" elements="36" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/generateStatsAboutClientHintsData.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\GenerateStatsAboutClientHintsData" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="77" elements="80" coveredelements="80"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="28" type="stmt" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="36" type="method" name="execute" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="50" type="method" name="generateCounts" visibility="protected" complexity="4" crap="4" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" 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="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <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="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" 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="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" 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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <metrics loc="144" ncloc="112" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="77" elements="80" coveredelements="80"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/migrateTemporaryAccountIPViewerGroup.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\MigrateTemporaryAccountIPViewerGroup" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="26" coveredelements="26"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="28" type="stmt" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="34" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="39" type="method" name="doDBUpdates" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="40" 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="1"/>
      <line num="52" 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="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <metrics loc="69" ncloc="57" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="26" coveredelements="26"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/moveLogEntriesFromCuChanges.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\MoveLogEntriesFromCuChanges" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="97" coveredstatements="97" elements="101" coveredelements="101"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="29" type="stmt" count="7"/>
      <line num="30" type="stmt" count="7"/>
      <line num="31" type="stmt" count="7"/>
      <line num="33" type="stmt" count="7"/>
      <line num="39" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="46" type="method" name="doDBUpdates" visibility="protected" complexity="3" crap="3" count="6"/>
      <line num="47" type="stmt" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="68" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="81" type="method" name="moveLogEntriesFromCuChanges" visibility="private" complexity="5" crap="5" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <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="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <metrics loc="179" ncloc="144" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="97" coveredstatements="97" elements="101" coveredelements="101"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateCentralCheckUserIndexTables.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateCentralCheckUserIndexTables" namespace="global">
        <metrics complexity="15" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="99" elements="103" coveredelements="103"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="28" type="stmt" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="35" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="40" type="method" name="doDBUpdates" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="55" type="method" name="populateCentralIndexTablesFromTable" visibility="private" complexity="11" crap="11" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="81" 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="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" 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="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" 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="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="191" type="stmt" count="1"/>
      <line num="193" type="stmt" count="1"/>
      <metrics loc="201" ncloc="167" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="99" elements="103" coveredelements="103"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateCheckUserTable.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateCheckUserTable" namespace="global">
        <metrics complexity="20" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="132" coveredstatements="124" elements="135" coveredelements="126"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="41" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="48" type="method" name="doDBUpdates" visibility="protected" complexity="18" crap="18.08" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" 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="72" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <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="0"/>
      <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="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="1"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="1"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="150" type="stmt" count="2"/>
      <line num="151" type="stmt" count="2"/>
      <line num="152" type="stmt" count="2"/>
      <line num="153" type="stmt" count="2"/>
      <line num="154" type="stmt" count="2"/>
      <line num="155" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="183" type="stmt" count="3"/>
      <line num="184" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="190" type="stmt" count="3"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="195" type="stmt" count="2"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="200" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="204" type="stmt" count="3"/>
      <line num="205" type="stmt" count="3"/>
      <line num="206" type="stmt" count="3"/>
      <line num="209" type="stmt" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="213" type="stmt" count="3"/>
      <line num="215" type="stmt" count="3"/>
      <metrics loc="223" ncloc="194" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="132" coveredstatements="124" elements="135" coveredelements="126"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateCheckUserTablesWithSimulatedData.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateCheckUserTablesWithSimulatedData" namespace="global">
        <metrics complexity="104" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="987" ncloc="753" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateCucComment.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateCucComment" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="73" coveredstatements="0" elements="76" coveredelements="0"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" 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="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="59" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="66" type="method" name="doDBUpdates" visibility="protected" complexity="8" crap="72" count="0"/>
      <line num="67" type="stmt" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" 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="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="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="99" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" 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="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" 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="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="145" 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"/>
      <metrics loc="160" ncloc="127" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="73" coveredstatements="0" elements="76" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateCulComment.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateCulComment" namespace="global">
        <metrics complexity="11" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="82" elements="89" coveredelements="83"/>
      </class>
      <line num="48" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="49" type="stmt" count="13"/>
      <line num="50" type="stmt" count="13"/>
      <line num="51" type="stmt" count="13"/>
      <line num="52" type="stmt" count="13"/>
      <line num="53" type="stmt" count="13"/>
      <line num="54" type="stmt" count="13"/>
      <line num="55" type="stmt" count="13"/>
      <line num="56" type="stmt" count="13"/>
      <line num="57" type="stmt" count="13"/>
      <line num="63" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="70" type="method" name="doDBUpdates" visibility="protected" complexity="9" crap="9" count="13"/>
      <line num="71" type="stmt" count="13"/>
      <line num="72" type="stmt" count="13"/>
      <line num="75" type="stmt" count="13"/>
      <line num="76" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" 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="98" type="stmt" count="13"/>
      <line num="99" type="stmt" count="13"/>
      <line num="100" type="stmt" count="13"/>
      <line num="101" type="stmt" count="13"/>
      <line num="103" type="stmt" count="13"/>
      <line num="104" type="stmt" count="13"/>
      <line num="105" type="stmt" count="13"/>
      <line num="106" type="stmt" count="13"/>
      <line num="107" type="stmt" count="13"/>
      <line num="108" type="stmt" count="13"/>
      <line num="109" type="stmt" count="13"/>
      <line num="111" type="stmt" count="13"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="116" type="stmt" count="12"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="121" type="stmt" count="11"/>
      <line num="123" type="stmt" count="11"/>
      <line num="124" type="stmt" count="11"/>
      <line num="125" type="stmt" count="11"/>
      <line num="127" type="stmt" count="11"/>
      <line num="128" type="stmt" count="11"/>
      <line num="131" type="stmt" count="11"/>
      <line num="132" type="stmt" count="11"/>
      <line num="133" type="stmt" count="11"/>
      <line num="134" type="stmt" count="11"/>
      <line num="135" type="stmt" count="11"/>
      <line num="136" type="stmt" count="11"/>
      <line num="137" type="stmt" count="11"/>
      <line num="138" type="stmt" count="11"/>
      <line num="139" type="stmt" count="11"/>
      <line num="140" type="stmt" count="11"/>
      <line num="142" type="stmt" count="11"/>
      <line num="143" type="stmt" count="11"/>
      <line num="144" type="stmt" count="11"/>
      <line num="145" type="stmt" count="11"/>
      <line num="146" type="stmt" count="11"/>
      <line num="147" type="stmt" count="11"/>
      <line num="149" type="stmt" count="11"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="154" type="stmt" count="11"/>
      <line num="155" type="stmt" count="11"/>
      <line num="156" type="stmt" count="11"/>
      <line num="157" type="stmt" count="11"/>
      <line num="158" type="stmt" count="11"/>
      <line num="159" type="stmt" count="11"/>
      <line num="160" type="stmt" count="11"/>
      <line num="161" type="stmt" count="11"/>
      <line num="162" type="stmt" count="11"/>
      <line num="165" type="stmt" count="11"/>
      <line num="167" type="stmt" count="11"/>
      <line num="168" type="stmt" count="0"/>
      <line num="171" type="stmt" count="11"/>
      <line num="173" type="stmt" count="11"/>
      <line num="174" type="stmt" count="11"/>
      <line num="175" type="stmt" count="11"/>
      <line num="177" type="stmt" count="11"/>
      <line num="178" type="stmt" count="11"/>
      <metrics loc="186" ncloc="143" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="82" elements="89" coveredelements="83"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateSiCaseProperties.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateSiCaseProperties" namespace="global">
        <metrics complexity="7" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="63" coveredelements="63"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="28" type="stmt" count="6"/>
      <line num="29" type="stmt" count="6"/>
      <line num="30" type="stmt" count="6"/>
      <line num="31" type="stmt" count="6"/>
      <line num="32" type="stmt" count="6"/>
      <line num="33" type="stmt" count="6"/>
      <line num="34" type="stmt" count="6"/>
      <line num="35" type="stmt" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="37" type="stmt" count="6"/>
      <line num="38" type="stmt" count="6"/>
      <line num="39" type="stmt" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="6"/>
      <line num="42" type="stmt" count="6"/>
      <line num="46" type="method" name="execute" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="47" type="stmt" count="6"/>
      <line num="48" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="57" type="stmt" count="4"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="104" type="stmt" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <metrics loc="113" ncloc="102" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="63" coveredelements="63"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateSicUpdatedTimestamp.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateSicUpdatedTimestamp" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="50" coveredelements="50"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="37" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="42" type="method" name="doDBUpdates" visibility="protected" complexity="6" crap="6" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" 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="93" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <metrics loc="108" ncloc="91" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="50" coveredelements="50"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateSicUrlIdentifier.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateSicUrlIdentifier" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="55" elements="59" coveredelements="59"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="25" type="stmt" count="5"/>
      <line num="26" type="stmt" count="5"/>
      <line num="27" type="stmt" count="5"/>
      <line num="28" type="stmt" count="5"/>
      <line num="29" type="stmt" count="5"/>
      <line num="30" type="stmt" count="5"/>
      <line num="31" type="stmt" count="5"/>
      <line num="32" type="stmt" count="5"/>
      <line num="33" type="stmt" count="5"/>
      <line num="37" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="42" type="method" name="doDBUpdates" visibility="protected" complexity="4" crap="4" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="50" type="stmt" count="5"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="79" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="95" type="method" name="generateUniqueUrlIdentifier" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <metrics loc="123" ncloc="103" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="55" elements="59" coveredelements="59"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/populateUserAgentTable.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PopulateUserAgentTable" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="68" elements="72" coveredelements="72"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="22" type="stmt" count="4"/>
      <line num="23" type="stmt" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="38" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="43" type="method" name="execute" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="1"/>
      <line num="51" type="stmt" count="3"/>
      <line num="55" type="method" name="doDBUpdates" visibility="public" complexity="8" crap="8" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="70" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <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="88" type="stmt" count="2"/>
      <line num="90" 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="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <metrics loc="144" ncloc="126" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="68" elements="72" coveredelements="72"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/purgeOldData.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\PurgeOldData" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="99" elements="103" coveredelements="103"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="35" type="method" name="execute" visibility="public" complexity="6" crap="6" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="71" type="stmt" count="1"/>
      <line num="74" type="stmt" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="3"/>
      <line num="88" type="stmt" count="4"/>
      <line num="99" type="method" name="prune" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <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="119" type="stmt" count="3"/>
      <line num="120" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="125" type="method" name="pruneUserAgentTable" visibility="private" complexity="4" crap="4" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="189" type="stmt" count="3"/>
      <metrics loc="197" ncloc="166" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="99" elements="103" coveredelements="103"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/queueAutoCloseSICases.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\QueueAutoCloseSICases" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="50" coveredelements="50"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="41" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="46" type="method" name="doDBUpdates" visibility="protected" complexity="4" crap="4" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="53" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="58" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="81" type="method" name="getNextOpenCaseBatch" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="100" type="method" name="queueJobsForCases" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="1"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <metrics loc="120" ncloc="108" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="50" coveredelements="50"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/maintenance/revokeTemporaryAccountViewerGroup.php">
      <class name="MediaWiki\Extension\CheckUser\Maintenance\RevokeTemporaryAccountViewerGroup" namespace="global">
        <metrics complexity="15" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="103" coveredstatements="86" elements="108" coveredelements="88"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="66" type="method" name="initServices" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="81" type="method" name="verboseLog" visibility="private" complexity="2" crap="2.50" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="0"/>
      <line num="90" type="method" name="revokeTempAccountViewerGroupMembership" visibility="private" complexity="3" crap="3.23" 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"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <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="114" type="stmt" count="2"/>
      <line num="120" type="method" name="execute" visibility="public" complexity="8" crap="8.31" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="125" type="stmt" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <line num="128" type="stmt" count="1"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <line num="172" type="stmt" count="3"/>
      <line num="175" type="stmt" count="3"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="180" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="2"/>
      <line num="184" type="stmt" count="2"/>
      <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="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="192" type="stmt" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="195" type="stmt" count="2"/>
      <line num="196" type="stmt" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="2"/>
      <line num="203" type="stmt" count="3"/>
      <line num="204" type="stmt" 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="209" type="stmt" count="0"/>
      <metrics loc="218" ncloc="179" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="103" coveredstatements="86" elements="108" coveredelements="88"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/ApiQueryCheckUser.php">
      <class name="MediaWiki\Extension\CheckUser\Api\ApiQueryCheckUser" namespace="global">
        <metrics complexity="16" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="71" elements="81" coveredelements="81"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="38"/>
      <line num="26" type="stmt" count="38"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="6" crap="6" count="26"/>
      <line num="30" type="stmt" count="26"/>
      <line num="32" type="stmt" count="24"/>
      <line num="33" type="stmt" count="1"/>
      <line num="36" type="stmt" count="23"/>
      <line num="37" type="stmt" count="18"/>
      <line num="39" type="stmt" count="18"/>
      <line num="40" type="stmt" count="18"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="45" type="stmt" count="16"/>
      <line num="46" type="stmt" count="10"/>
      <line num="47" type="stmt" count="8"/>
      <line num="48" type="stmt" count="8"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="56" type="stmt" count="1"/>
      <line num="61" type="method" name="mustBePosted" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="66" type="method" name="isWriteMode" visibility="public" complexity="1" crap="1" count="30"/>
      <line num="67" type="stmt" count="30"/>
      <line num="71" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="29"/>
      <line num="72" type="stmt" count="29"/>
      <line num="73" type="stmt" count="29"/>
      <line num="74" type="stmt" count="29"/>
      <line num="75" type="stmt" count="29"/>
      <line num="76" type="stmt" count="29"/>
      <line num="77" type="stmt" count="29"/>
      <line num="78" type="stmt" count="29"/>
      <line num="79" type="stmt" count="29"/>
      <line num="80" type="stmt" count="29"/>
      <line num="81" type="stmt" count="29"/>
      <line num="82" type="stmt" count="29"/>
      <line num="83" type="stmt" count="29"/>
      <line num="84" type="stmt" count="29"/>
      <line num="85" type="stmt" count="29"/>
      <line num="86" type="stmt" count="29"/>
      <line num="87" type="stmt" count="29"/>
      <line num="88" type="stmt" count="29"/>
      <line num="89" type="stmt" count="29"/>
      <line num="90" type="stmt" count="29"/>
      <line num="91" type="stmt" count="29"/>
      <line num="92" type="stmt" count="29"/>
      <line num="93" type="stmt" count="29"/>
      <line num="94" type="stmt" count="29"/>
      <line num="95" type="stmt" count="29"/>
      <line num="96" type="stmt" count="29"/>
      <line num="97" type="stmt" count="29"/>
      <line num="98" type="stmt" count="29"/>
      <line num="99" type="stmt" count="29"/>
      <line num="100" type="stmt" count="29"/>
      <line num="101" type="stmt" count="29"/>
      <line num="102" type="stmt" count="29"/>
      <line num="103" type="stmt" count="29"/>
      <line num="104" type="stmt" count="29"/>
      <line num="105" type="stmt" count="29"/>
      <line num="106" type="stmt" count="29"/>
      <line num="107" type="stmt" count="29"/>
      <line num="108" type="stmt" count="29"/>
      <line num="112" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="122" type="method" name="getHelpUrls" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="127" type="method" name="needsToken" visibility="public" complexity="1" crap="1" count="30"/>
      <line num="128" type="stmt" count="30"/>
      <line num="132" type="method" name="getSummaryMessage" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="140" type="method" name="isDeprecated" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <metrics loc="151" ncloc="135" classes="1" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="71" elements="81" coveredelements="81"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/ApiQueryCheckUserLog.php">
      <class name="MediaWiki\Extension\CheckUser\Api\ApiQueryCheckUserLog" namespace="global">
        <metrics complexity="24" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="97" elements="124" coveredelements="100"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="28" type="stmt" count="15"/>
      <line num="31" type="method" name="execute" visibility="public" complexity="20" crap="23.45" count="14"/>
      <line num="32" type="stmt" count="14"/>
      <line num="33" type="stmt" count="14"/>
      <line num="34" type="stmt" count="14"/>
      <line num="36" type="stmt" count="12"/>
      <line num="37" type="stmt" count="12"/>
      <line num="38" type="stmt" count="12"/>
      <line num="40" type="stmt" count="12"/>
      <line num="41" type="stmt" count="12"/>
      <line num="42" type="stmt" count="12"/>
      <line num="43" type="stmt" count="12"/>
      <line num="44" type="stmt" count="12"/>
      <line num="45" type="stmt" count="12"/>
      <line num="46" type="stmt" count="12"/>
      <line num="48" type="stmt" count="12"/>
      <line num="49" type="stmt" count="12"/>
      <line num="50" type="stmt" count="12"/>
      <line num="51" type="stmt" count="12"/>
      <line num="53" type="stmt" count="12"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="60" type="stmt" count="12"/>
      <line num="63" type="stmt" count="12"/>
      <line num="64" type="stmt" count="12"/>
      <line num="66" type="stmt" count="12"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="12"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="82" type="stmt" count="2"/>
      <line num="86" type="stmt" count="12"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="94" type="stmt" count="12"/>
      <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="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="103" type="stmt" count="12"/>
      <line num="104" type="stmt" count="12"/>
      <line num="106" type="stmt" count="12"/>
      <line num="107" type="stmt" count="12"/>
      <line num="108" type="stmt" count="7"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="7"/>
      <line num="113" type="stmt" count="7"/>
      <line num="114" type="stmt" count="7"/>
      <line num="115" type="stmt" count="7"/>
      <line num="116" type="stmt" count="7"/>
      <line num="117" type="stmt" count="7"/>
      <line num="118" type="stmt" count="7"/>
      <line num="120" type="stmt" count="7"/>
      <line num="122" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="7"/>
      <line num="126" type="stmt" count="0"/>
      <line num="129" type="stmt" count="7"/>
      <line num="131" type="stmt" count="7"/>
      <line num="132" type="stmt" count="7"/>
      <line num="133" type="stmt" count="7"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="144" type="stmt" count="12"/>
      <line num="148" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="149" type="stmt" count="14"/>
      <line num="150" type="stmt" count="14"/>
      <line num="151" type="stmt" count="14"/>
      <line num="152" type="stmt" count="14"/>
      <line num="153" type="stmt" count="14"/>
      <line num="154" type="stmt" count="14"/>
      <line num="155" type="stmt" count="14"/>
      <line num="156" type="stmt" count="14"/>
      <line num="157" type="stmt" count="14"/>
      <line num="158" type="stmt" count="14"/>
      <line num="159" type="stmt" count="14"/>
      <line num="160" type="stmt" count="14"/>
      <line num="161" type="stmt" count="14"/>
      <line num="162" type="stmt" count="14"/>
      <line num="163" type="stmt" count="14"/>
      <line num="164" type="stmt" count="14"/>
      <line num="165" type="stmt" count="14"/>
      <line num="166" type="stmt" count="14"/>
      <line num="167" type="stmt" count="14"/>
      <line num="168" type="stmt" count="14"/>
      <line num="169" type="stmt" count="14"/>
      <line num="170" type="stmt" count="14"/>
      <line num="171" type="stmt" count="14"/>
      <line num="172" type="stmt" count="14"/>
      <line num="173" type="stmt" count="14"/>
      <line num="174" type="stmt" count="14"/>
      <line num="175" type="stmt" count="14"/>
      <line num="176" type="stmt" count="14"/>
      <line num="177" type="stmt" count="14"/>
      <line num="178" type="stmt" count="14"/>
      <line num="179" type="stmt" count="14"/>
      <line num="180" type="stmt" count="14"/>
      <line num="181" type="stmt" count="14"/>
      <line num="185" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="197" type="method" name="getHelpUrls" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <metrics loc="201" ncloc="190" classes="1" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="97" elements="124" coveredelements="100"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/ApiQueryFormattedBlockInfo.php">
      <class name="MediaWiki\Extension\CheckUser\Api\ApiQueryFormattedBlockInfo" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="13" coveredelements="13"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="23" type="method" name="execute" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="1"/>
      <line num="29" type="stmt" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="33" type="stmt" count="3"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="39" type="stmt" count="2"/>
      <metrics loc="52" ncloc="44" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="13" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/CheckUser/ApiQueryCheckUserAbstractResponse.php">
      <class name="MediaWiki\Extension\CheckUser\Api\CheckUser\ApiQueryCheckUserAbstractResponse" namespace="global">
        <metrics complexity="16" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="51" elements="54" coveredelements="54"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="10" crap="10" count="33"/>
      <line num="54" type="stmt" count="33"/>
      <line num="55" type="stmt" count="33"/>
      <line num="58" type="stmt" count="33"/>
      <line num="59" type="stmt" count="33"/>
      <line num="60" type="stmt" count="2"/>
      <line num="65" type="stmt" count="31"/>
      <line num="68" type="stmt" count="31"/>
      <line num="69" type="stmt" count="31"/>
      <line num="70" type="stmt" count="5"/>
      <line num="74" type="stmt" count="26"/>
      <line num="75" type="stmt" count="26"/>
      <line num="76" type="stmt" count="9"/>
      <line num="77" type="stmt" count="17"/>
      <line num="78" type="stmt" count="3"/>
      <line num="83" type="stmt" count="14"/>
      <line num="84" type="stmt" count="14"/>
      <line num="85" type="stmt" count="1"/>
      <line num="89" type="stmt" count="26"/>
      <line num="91" type="stmt" count="12"/>
      <line num="94" type="stmt" count="14"/>
      <line num="97" type="stmt" count="26"/>
      <line num="98" type="stmt" count="26"/>
      <line num="99" type="stmt" count="26"/>
      <line num="100" type="stmt" count="26"/>
      <line num="125" type="method" name="performQuery" visibility="protected" complexity="2" crap="2" count="17"/>
      <line num="127" type="stmt" count="17"/>
      <line num="128" type="stmt" count="17"/>
      <line num="129" type="stmt" count="17"/>
      <line num="130" type="stmt" count="17"/>
      <line num="131" type="stmt" count="17"/>
      <line num="132" type="stmt" count="17"/>
      <line num="133" type="stmt" count="17"/>
      <line num="134" type="stmt" count="17"/>
      <line num="135" type="stmt" count="17"/>
      <line num="136" type="stmt" count="17"/>
      <line num="139" type="stmt" count="13"/>
      <line num="140" type="stmt" count="7"/>
      <line num="141" type="stmt" count="13"/>
      <line num="143" type="stmt" count="13"/>
      <line num="146" type="stmt" count="13"/>
      <line num="157" type="method" name="getQueryBuilderForTable" visibility="protected" complexity="4" crap="4" count="18"/>
      <line num="159" type="stmt" count="18"/>
      <line num="160" type="stmt" count="17"/>
      <line num="161" type="stmt" count="14"/>
      <line num="162" type="stmt" count="13"/>
      <line num="163" type="stmt" count="14"/>
      <line num="164" type="stmt" count="13"/>
      <line num="166" type="stmt" count="1"/>
      <line num="170" type="stmt" count="17"/>
      <line num="171" type="stmt" count="17"/>
      <line num="172" type="stmt" count="17"/>
      <line num="173" type="stmt" count="17"/>
      <line num="174" type="stmt" count="17"/>
      <metrics loc="224" ncloc="131" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="51" elements="54" coveredelements="54"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/CheckUser/ApiQueryCheckUserActionsResponse.php">
      <class name="MediaWiki\Extension\CheckUser\Api\CheckUser\ApiQueryCheckUserActionsResponse" namespace="global">
        <metrics complexity="49" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="158" coveredstatements="158" elements="166" coveredelements="166"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="49" type="stmt" count="21"/>
      <line num="50" type="stmt" count="21"/>
      <line num="51" type="stmt" count="21"/>
      <line num="52" type="stmt" count="21"/>
      <line num="53" type="stmt" count="21"/>
      <line num="54" type="stmt" count="21"/>
      <line num="55" type="stmt" count="21"/>
      <line num="56" type="stmt" count="21"/>
      <line num="57" type="stmt" count="21"/>
      <line num="61" type="method" name="getRequestType" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="62" type="stmt" count="10"/>
      <line num="66" type="method" name="getResponseData" visibility="public" complexity="27" crap="27" count="10"/>
      <line num="67" type="stmt" count="10"/>
      <line num="69" type="stmt" count="8"/>
      <line num="70" type="stmt" count="8"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="1"/>
      <line num="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="90" type="stmt" count="5"/>
      <line num="91" type="stmt" count="5"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="99" type="stmt" count="5"/>
      <line num="100" type="stmt" count="5"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="4"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="112" type="stmt" count="5"/>
      <line num="113" type="stmt" count="2"/>
      <line num="118" type="stmt" count="5"/>
      <line num="119" type="stmt" count="5"/>
      <line num="120" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="126" type="stmt" count="1"/>
      <line num="130" type="stmt" count="5"/>
      <line num="131" type="stmt" count="5"/>
      <line num="132" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="5"/>
      <line num="139" type="stmt" count="2"/>
      <line num="141" type="stmt" count="5"/>
      <line num="144" type="stmt" count="8"/>
      <line num="145" type="stmt" count="4"/>
      <line num="146" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="150" type="stmt" count="4"/>
      <line num="151" type="stmt" count="4"/>
      <line num="153" type="stmt" count="4"/>
      <line num="154" type="stmt" count="4"/>
      <line num="155" type="stmt" count="4"/>
      <line num="157" type="stmt" count="8"/>
      <line num="158" type="stmt" count="8"/>
      <line num="159" type="stmt" count="8"/>
      <line num="160" type="stmt" count="8"/>
      <line num="161" type="stmt" count="8"/>
      <line num="162" type="stmt" count="8"/>
      <line num="163" type="stmt" count="8"/>
      <line num="164" type="stmt" count="8"/>
      <line num="165" type="stmt" count="8"/>
      <line num="180" type="method" name="getSummary" visibility="private" complexity="9" crap="9" count="9"/>
      <line num="182" type="stmt" count="9"/>
      <line num="184" type="stmt" count="7"/>
      <line num="185" type="stmt" count="7"/>
      <line num="186" type="stmt" count="7"/>
      <line num="188" type="stmt" count="4"/>
      <line num="192" type="stmt" count="9"/>
      <line num="193" type="stmt" count="9"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="8"/>
      <line num="196" type="stmt" count="7"/>
      <line num="198" type="stmt" count="9"/>
      <line num="199" type="stmt" count="8"/>
      <line num="201" type="stmt" count="1"/>
      <line num="204" type="stmt" count="9"/>
      <line num="207" type="stmt" count="3"/>
      <line num="208" type="stmt" count="6"/>
      <line num="210" type="stmt" count="5"/>
      <line num="212" type="stmt" count="1"/>
      <line num="217" type="method" name="validateTargetAndGenerateTargetConditions" visibility="protected" complexity="5" crap="5" count="10"/>
      <line num="218" type="stmt" count="10"/>
      <line num="219" type="stmt" count="5"/>
      <line num="220" type="stmt" count="5"/>
      <line num="221" type="stmt" count="1"/>
      <line num="224" type="stmt" count="5"/>
      <line num="225" type="stmt" count="5"/>
      <line num="226" type="stmt" count="1"/>
      <line num="228" type="stmt" count="4"/>
      <line num="230" type="stmt" count="8"/>
      <line num="234" type="method" name="getPartialQueryBuilderForCuChanges" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="235" type="stmt" count="10"/>
      <line num="236" type="stmt" count="10"/>
      <line num="237" type="stmt" count="10"/>
      <line num="238" type="stmt" count="10"/>
      <line num="239" type="stmt" count="10"/>
      <line num="240" type="stmt" count="10"/>
      <line num="241" type="stmt" count="10"/>
      <line num="242" type="stmt" count="10"/>
      <line num="243" type="stmt" count="10"/>
      <line num="244" type="stmt" count="10"/>
      <line num="245" type="stmt" count="10"/>
      <line num="246" type="stmt" count="10"/>
      <line num="247" type="stmt" count="10"/>
      <line num="248" type="stmt" count="10"/>
      <line num="252" type="method" name="getPartialQueryBuilderForCuLogEvent" visibility="protected" complexity="2" crap="2" count="9"/>
      <line num="253" type="stmt" count="9"/>
      <line num="255" type="stmt" count="1"/>
      <line num="258" type="stmt" count="8"/>
      <line num="260" type="stmt" count="9"/>
      <line num="261" type="stmt" count="9"/>
      <line num="262" type="stmt" count="9"/>
      <line num="263" type="stmt" count="9"/>
      <line num="264" type="stmt" count="9"/>
      <line num="265" type="stmt" count="9"/>
      <line num="266" type="stmt" count="9"/>
      <line num="267" type="stmt" count="9"/>
      <line num="268" type="stmt" count="9"/>
      <line num="269" type="stmt" count="9"/>
      <line num="270" type="stmt" count="9"/>
      <line num="271" type="stmt" count="9"/>
      <line num="272" type="stmt" count="9"/>
      <line num="273" type="stmt" count="9"/>
      <line num="274" type="stmt" count="9"/>
      <line num="275" type="stmt" count="9"/>
      <line num="279" type="method" name="getPartialQueryBuilderForCuPrivateEvent" visibility="protected" complexity="3" crap="3" count="9"/>
      <line num="280" type="stmt" count="9"/>
      <line num="282" type="stmt" count="1"/>
      <line num="285" type="stmt" count="8"/>
      <line num="287" type="stmt" count="9"/>
      <line num="288" type="stmt" count="9"/>
      <line num="289" type="stmt" count="9"/>
      <line num="290" type="stmt" count="9"/>
      <line num="291" type="stmt" count="9"/>
      <line num="292" type="stmt" count="9"/>
      <line num="293" type="stmt" count="9"/>
      <line num="294" type="stmt" count="9"/>
      <line num="295" type="stmt" count="9"/>
      <line num="297" type="stmt" count="9"/>
      <line num="298" type="stmt" count="9"/>
      <line num="299" type="stmt" count="9"/>
      <line num="300" type="stmt" count="9"/>
      <line num="301" type="stmt" count="9"/>
      <line num="302" type="stmt" count="9"/>
      <line num="303" type="stmt" count="9"/>
      <line num="306" type="stmt" count="5"/>
      <line num="310" type="stmt" count="4"/>
      <line num="312" type="stmt" count="9"/>
      <metrics loc="315" ncloc="270" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="158" coveredstatements="158" elements="166" coveredelements="166"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/CheckUser/ApiQueryCheckUserIpUsersResponse.php">
      <class name="MediaWiki\Extension\CheckUser\Api\CheckUser\ApiQueryCheckUserIpUsersResponse" namespace="global">
        <metrics complexity="20" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="91" elements="98" coveredelements="98"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="33" type="stmt" count="5"/>
      <line num="34" type="stmt" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="39" type="stmt" count="5"/>
      <line num="40" type="stmt" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="45" type="method" name="getRequestType" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="50" type="method" name="getResponseData" visibility="public" complexity="13" crap="13" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="1"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="1"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="90" type="stmt" count="1"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="95" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="2"/>
      <line num="104" type="stmt" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="111" type="stmt" count="4"/>
      <line num="115" type="method" name="validateTargetAndGenerateTargetConditions" visibility="protected" complexity="2" crap="2" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="118" type="stmt" count="1"/>
      <line num="120" type="stmt" count="4"/>
      <line num="124" type="method" name="getPartialQueryBuilderForCuChanges" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="125" type="stmt" count="5"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <line num="129" type="stmt" count="5"/>
      <line num="130" type="stmt" count="5"/>
      <line num="131" type="stmt" count="5"/>
      <line num="132" type="stmt" count="5"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="136" type="stmt" count="5"/>
      <line num="140" type="method" name="getPartialQueryBuilderForCuLogEvent" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="144" type="stmt" count="4"/>
      <line num="145" type="stmt" count="4"/>
      <line num="146" type="stmt" count="4"/>
      <line num="147" type="stmt" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <line num="151" type="stmt" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="156" type="method" name="getPartialQueryBuilderForCuPrivateEvent" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="157" type="stmt" count="4"/>
      <line num="158" type="stmt" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="163" type="stmt" count="4"/>
      <line num="164" type="stmt" count="4"/>
      <line num="165" type="stmt" count="4"/>
      <line num="166" type="stmt" count="4"/>
      <line num="167" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <metrics loc="171" ncloc="161" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="91" elements="98" coveredelements="98"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/CheckUser/ApiQueryCheckUserUserIpsResponse.php">
      <class name="MediaWiki\Extension\CheckUser\Api\CheckUser\ApiQueryCheckUserUserIpsResponse" namespace="global">
        <metrics complexity="12" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="56" elements="63" coveredelements="63"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" 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="47" type="method" name="getRequestType" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="52" type="method" name="getResponseData" visibility="public" complexity="4" crap="4" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" 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="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="86" type="method" name="validateTargetAndGenerateTargetConditions" visibility="protected" complexity="3" crap="3" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="97" type="method" name="getPartialQueryBuilderForCuChanges" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="108" type="method" name="getPartialQueryBuilderForCuLogEvent" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="118" type="method" name="getPartialQueryBuilderForCuPrivateEvent" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <metrics loc="127" ncloc="118" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="56" elements="63" coveredelements="63"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/GlobalContributions/ApiQueryGlobalContributions.php">
      <class name="MediaWiki\Extension\CheckUser\Api\GlobalContributions\ApiQueryGlobalContributions" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="43" elements="53" coveredelements="46"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="26" type="stmt" count="8"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="6" crap="6" count="8"/>
      <line num="30" type="stmt" count="8"/>
      <line num="31" type="stmt" count="8"/>
      <line num="32" type="stmt" count="8"/>
      <line num="34" type="stmt" count="8"/>
      <line num="35" type="stmt" count="1"/>
      <line num="41" type="stmt" count="7"/>
      <line num="42" type="stmt" count="2"/>
      <line num="45" type="stmt" count="5"/>
      <line num="47" type="stmt" count="5"/>
      <line num="48" type="stmt" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="54" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="2"/>
      <line num="70" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="2"/>
      <line num="78" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" count="8"/>
      <line num="79" type="stmt" count="8"/>
      <line num="80" type="stmt" count="8"/>
      <line num="81" type="stmt" count="8"/>
      <line num="82" type="stmt" count="8"/>
      <line num="83" type="stmt" count="8"/>
      <line num="84" type="stmt" count="8"/>
      <line num="85" type="stmt" count="8"/>
      <line num="86" type="stmt" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <line num="88" type="stmt" count="8"/>
      <line num="89" type="stmt" count="8"/>
      <line num="90" type="stmt" count="8"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="8"/>
      <line num="94" type="stmt" count="8"/>
      <line num="98" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <metrics loc="107" ncloc="99" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="43" elements="53" coveredelements="46"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/AbstractTemporaryAccountHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\AbstractTemporaryAccountHandler" namespace="global">
        <metrics complexity="11" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="46" elements="53" coveredelements="53"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="57"/>
      <line num="40" type="stmt" count="57"/>
      <line num="45" type="method" name="checkPermissions" visibility="protected" complexity="4" crap="4" count="44"/>
      <line num="46" type="stmt" count="44"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="stmt" count="43"/>
      <line num="54" type="stmt" count="43"/>
      <line num="55" type="stmt" count="43"/>
      <line num="56" type="stmt" count="43"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="74" type="method" name="run" visibility="public" complexity="2" crap="2" count="44"/>
      <line num="75" type="stmt" count="44"/>
      <line num="77" type="stmt" count="40"/>
      <line num="78" type="stmt" count="40"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="85" type="stmt" count="39"/>
      <line num="87" type="stmt" count="32"/>
      <line num="89" type="stmt" count="32"/>
      <line num="90" type="stmt" count="32"/>
      <line num="91" type="stmt" count="32"/>
      <line num="92" type="stmt" count="32"/>
      <line num="100" type="method" name="makeLog" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="101" type="stmt" count="11"/>
      <line num="102" type="stmt" count="11"/>
      <line num="103" type="stmt" count="11"/>
      <line num="104" type="stmt" count="11"/>
      <line num="105" type="stmt" count="11"/>
      <line num="106" type="stmt" count="11"/>
      <line num="107" type="stmt" count="11"/>
      <line num="128" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="52"/>
      <line num="129" type="stmt" count="52"/>
      <line num="130" type="stmt" count="52"/>
      <line num="131" type="stmt" count="52"/>
      <line num="132" type="stmt" count="52"/>
      <line num="136" type="method" name="getRequestBodyDescription" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="141" type="method" name="validate" visibility="public" complexity="1" crap="1" count="44"/>
      <line num="142" type="stmt" count="44"/>
      <line num="143" type="stmt" count="44"/>
      <metrics loc="146" ncloc="121" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="46" elements="53" coveredelements="53"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/AbstractTemporaryAccountIPHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\AbstractTemporaryAccountIPHandler" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="40" elements="44" coveredelements="44"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="41" type="stmt" count="7"/>
      <line num="42" type="stmt" count="7"/>
      <line num="43" type="stmt" count="7"/>
      <line num="44" type="stmt" count="7"/>
      <line num="45" type="stmt" 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="57" type="method" name="getResults" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="58" type="stmt" count="7"/>
      <line num="61" type="stmt" count="1"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="78" type="method" name="getLogType" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="85" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="86" type="stmt" count="7"/>
      <line num="87" type="stmt" count="7"/>
      <line num="88" type="stmt" count="7"/>
      <line num="89" type="stmt" count="7"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="92" type="stmt" count="7"/>
      <line num="93" type="stmt" count="7"/>
      <line num="94" type="stmt" count="7"/>
      <line num="95" type="stmt" count="7"/>
      <line num="96" type="stmt" count="7"/>
      <line num="97" type="stmt" count="7"/>
      <line num="98" type="stmt" count="7"/>
      <line num="99" type="stmt" count="7"/>
      <line num="100" type="stmt" count="7"/>
      <line num="101" type="stmt" count="7"/>
      <line num="102" type="stmt" count="7"/>
      <line num="103" type="stmt" count="7"/>
      <line num="104" type="stmt" count="7"/>
      <metrics loc="107" ncloc="93" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="40" elements="44" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/AbstractTemporaryAccountNameHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\AbstractTemporaryAccountNameHandler" namespace="global">
        <metrics complexity="12" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="43" elements="53" coveredelements="53"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="42" type="stmt" count="17"/>
      <line num="43" type="stmt" count="17"/>
      <line num="44" type="stmt" count="17"/>
      <line num="45" type="stmt" count="17"/>
      <line num="46" type="stmt" count="17"/>
      <line num="47" type="stmt" count="17"/>
      <line num="48" type="stmt" count="17"/>
      <line num="49" type="stmt" count="17"/>
      <line num="50" type="stmt" count="17"/>
      <line num="51" type="stmt" count="17"/>
      <line num="52" type="stmt" count="17"/>
      <line num="58" type="method" name="getResults" visibility="public" complexity="2" crap="2" count="12"/>
      <line num="59" type="stmt" count="12"/>
      <line num="60" type="stmt" count="12"/>
      <line num="62" type="stmt" count="7"/>
      <line num="63" type="stmt" count="7"/>
      <line num="64" type="stmt" count="7"/>
      <line num="65" type="stmt" count="7"/>
      <line num="66" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="75" type="method" name="getLogType" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="82" type="method" name="makeLog" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="83" type="stmt" count="7"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="87" 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="94" type="stmt" count="6"/>
      <line num="100" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="101" type="stmt" count="17"/>
      <line num="102" type="stmt" count="17"/>
      <line num="103" type="stmt" count="17"/>
      <line num="104" type="stmt" count="17"/>
      <line num="105" type="stmt" count="17"/>
      <line num="106" type="stmt" count="17"/>
      <line num="107" type="stmt" count="17"/>
      <line num="108" type="stmt" count="17"/>
      <line num="109" type="stmt" count="17"/>
      <line num="115" type="method" name="getUserNameUtils" visibility="protected" complexity="1" crap="1" count="12"/>
      <line num="116" type="stmt" count="12"/>
      <line num="122" type="method" name="getConnectionProvider" visibility="protected" complexity="1" crap="1" count="12"/>
      <line num="123" type="stmt" count="12"/>
      <line num="129" type="method" name="getActorStore" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="130" type="stmt" count="10"/>
      <line num="136" type="method" name="getBlockManager" visibility="protected" complexity="1" crap="1" count="9"/>
      <line num="137" type="stmt" count="9"/>
      <line num="143" type="method" name="getPermissionManager" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <metrics loc="147" ncloc="117" classes="1" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="43" elements="53" coveredelements="53"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/BatchTemporaryAccountHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\BatchTemporaryAccountHandler" namespace="global">
        <metrics complexity="41" methods="20" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="246" coveredstatements="245" elements="266" coveredelements="264"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="24"/>
      <line num="53" type="stmt" count="24"/>
      <line num="54" type="stmt" count="24"/>
      <line num="55" type="stmt" count="24"/>
      <line num="56" type="stmt" count="24"/>
      <line num="57" type="stmt" count="24"/>
      <line num="58" type="stmt" count="24"/>
      <line num="59" type="stmt" count="24"/>
      <line num="60" type="stmt" count="24"/>
      <line num="61" type="stmt" count="24"/>
      <line num="62" type="stmt" count="24"/>
      <line num="63" type="stmt" count="24"/>
      <line num="69" type="method" name="run" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="70" type="stmt" count="20"/>
      <line num="76" type="method" name="makeLog" visibility="public" complexity="4" crap="4" count="20"/>
      <line num="77" type="stmt" count="20"/>
      <line num="79" type="stmt" count="20"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="stmt" count="19"/>
      <line num="93" type="stmt" count="19"/>
      <line num="94" type="stmt" count="19"/>
      <line num="95" type="stmt" count="19"/>
      <line num="96" type="stmt" count="19"/>
      <line num="97" type="stmt" count="19"/>
      <line num="98" type="stmt" count="19"/>
      <line num="99" type="stmt" count="19"/>
      <line num="106" type="method" name="getResults" visibility="public" complexity="6" crap="6" count="20"/>
      <line num="107" type="stmt" count="20"/>
      <line num="109" type="stmt" count="20"/>
      <line num="110" type="stmt" count="20"/>
      <line num="112" type="stmt" count="20"/>
      <line num="113" type="stmt" count="18"/>
      <line num="116" type="stmt" count="20"/>
      <line num="118" type="stmt" count="20"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="124" type="stmt" count="20"/>
      <line num="125" type="stmt" count="20"/>
      <line num="126" type="stmt" count="20"/>
      <line num="127" type="stmt" count="20"/>
      <line num="128" type="stmt" count="20"/>
      <line num="129" type="stmt" count="20"/>
      <line num="130" type="stmt" count="20"/>
      <line num="131" type="stmt" count="18"/>
      <line num="133" type="stmt" count="20"/>
      <line num="136" type="stmt" count="20"/>
      <line num="137" type="stmt" count="17"/>
      <line num="138" type="stmt" count="17"/>
      <line num="139" type="stmt" count="17"/>
      <line num="142" type="stmt" count="20"/>
      <line num="184" type="method" name="getData" visibility="protected" complexity="6" crap="6" count="20"/>
      <line num="185" type="stmt" count="20"/>
      <line num="187" type="stmt" count="20"/>
      <line num="188" type="stmt" count="20"/>
      <line num="189" type="stmt" count="20"/>
      <line num="190" type="stmt" count="20"/>
      <line num="191" type="stmt" count="9"/>
      <line num="193" type="stmt" count="20"/>
      <line num="195" type="stmt" count="20"/>
      <line num="196" type="stmt" count="8"/>
      <line num="197" type="stmt" count="8"/>
      <line num="198" type="stmt" count="8"/>
      <line num="199" type="stmt" count="8"/>
      <line num="200" type="stmt" count="8"/>
      <line num="201" type="stmt" count="8"/>
      <line num="202" type="stmt" count="8"/>
      <line num="203" type="stmt" count="8"/>
      <line num="206" type="stmt" count="20"/>
      <line num="207" type="stmt" count="13"/>
      <line num="208" type="stmt" count="13"/>
      <line num="209" type="stmt" count="13"/>
      <line num="210" type="stmt" count="13"/>
      <line num="211" type="stmt" count="13"/>
      <line num="212" type="stmt" count="13"/>
      <line num="213" type="stmt" count="13"/>
      <line num="214" type="stmt" count="13"/>
      <line num="217" type="stmt" count="20"/>
      <line num="218" type="stmt" count="18"/>
      <line num="220" type="stmt" count="18"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="233" type="stmt" count="20"/>
      <line num="244" type="method" name="getAbuseFilterLogIPs" visibility="private" complexity="2" crap="2.01" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="0"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="270" type="method" name="filterAbuseFilterLogIds" visibility="private" complexity="4" crap="4" count="18"/>
      <line num="271" type="stmt" count="18"/>
      <line num="272" type="stmt" count="18"/>
      <line num="273" type="stmt" count="18"/>
      <line num="276" type="stmt" count="18"/>
      <line num="277" type="stmt" count="2"/>
      <line num="278" type="stmt" count="2"/>
      <line num="279" type="stmt" count="2"/>
      <line num="280" type="stmt" count="2"/>
      <line num="282" type="stmt" count="2"/>
      <line num="283" type="stmt" count="2"/>
      <line num="287" type="stmt" count="18"/>
      <line num="303" type="method" name="formatIPMap" visibility="private" complexity="5" crap="5" count="18"/>
      <line num="308" type="stmt" count="18"/>
      <line num="309" type="stmt" count="3"/>
      <line num="312" type="stmt" count="18"/>
      <line num="313" type="stmt" count="18"/>
      <line num="316" type="stmt" count="18"/>
      <line num="317" type="stmt" count="5"/>
      <line num="321" type="stmt" count="18"/>
      <line num="337" type="method" name="listMissingIDs" visibility="private" complexity="1" crap="1" count="18"/>
      <line num="338" type="stmt" count="18"/>
      <line num="339" type="stmt" count="18"/>
      <line num="340" type="stmt" count="18"/>
      <line num="341" type="stmt" count="18"/>
      <line num="347" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="348" type="stmt" count="22"/>
      <line num="349" type="stmt" count="22"/>
      <line num="350" type="stmt" count="22"/>
      <line num="351" type="stmt" count="22"/>
      <line num="352" type="stmt" count="22"/>
      <line num="353" type="stmt" count="22"/>
      <line num="354" type="stmt" count="22"/>
      <line num="355" type="stmt" count="22"/>
      <line num="356" type="stmt" count="22"/>
      <line num="357" type="stmt" count="22"/>
      <line num="358" type="stmt" count="22"/>
      <line num="359" type="stmt" count="22"/>
      <line num="360" type="stmt" count="22"/>
      <line num="361" type="stmt" count="22"/>
      <line num="362" type="stmt" count="22"/>
      <line num="363" type="stmt" count="22"/>
      <line num="364" type="stmt" count="22"/>
      <line num="365" type="stmt" count="22"/>
      <line num="366" type="stmt" count="22"/>
      <line num="367" type="stmt" count="22"/>
      <line num="368" type="stmt" count="22"/>
      <line num="369" type="stmt" count="22"/>
      <line num="370" type="stmt" count="22"/>
      <line num="371" type="stmt" count="22"/>
      <line num="372" type="stmt" count="22"/>
      <line num="373" type="stmt" count="22"/>
      <line num="374" type="stmt" count="22"/>
      <line num="375" type="stmt" count="22"/>
      <line num="376" type="stmt" count="22"/>
      <line num="377" type="stmt" count="22"/>
      <line num="378" type="stmt" count="22"/>
      <line num="379" type="stmt" count="22"/>
      <line num="380" type="stmt" count="22"/>
      <line num="381" type="stmt" count="22"/>
      <line num="382" type="stmt" count="22"/>
      <line num="383" type="stmt" count="22"/>
      <line num="384" type="stmt" count="22"/>
      <line num="385" type="stmt" count="22"/>
      <line num="389" type="stmt" count="22"/>
      <line num="390" type="stmt" count="22"/>
      <line num="391" type="stmt" count="22"/>
      <line num="392" type="stmt" count="22"/>
      <line num="393" type="stmt" count="22"/>
      <line num="394" type="stmt" count="22"/>
      <line num="395" type="stmt" count="22"/>
      <line num="396" type="stmt" count="22"/>
      <line num="397" type="stmt" count="22"/>
      <line num="398" type="stmt" count="22"/>
      <line num="399" type="stmt" count="22"/>
      <line num="400" type="stmt" count="22"/>
      <line num="404" type="method" name="getRequestBodyDescription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="409" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="411" type="stmt" count="1"/>
      <line num="412" type="stmt" count="1"/>
      <line num="413" type="stmt" count="1"/>
      <line num="414" type="stmt" count="1"/>
      <line num="415" type="stmt" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <line num="417" type="stmt" count="1"/>
      <line num="418" type="stmt" count="1"/>
      <line num="419" type="stmt" count="1"/>
      <line num="420" type="stmt" count="1"/>
      <line num="421" type="stmt" count="1"/>
      <line num="422" type="stmt" count="1"/>
      <line num="423" type="stmt" count="1"/>
      <line num="424" type="stmt" count="1"/>
      <line num="425" type="stmt" count="1"/>
      <line num="426" type="stmt" count="1"/>
      <line num="427" type="stmt" count="1"/>
      <line num="428" type="stmt" count="1"/>
      <line num="429" type="stmt" count="1"/>
      <line num="430" type="stmt" count="1"/>
      <line num="431" type="stmt" count="1"/>
      <line num="432" type="stmt" count="1"/>
      <line num="433" type="stmt" count="1"/>
      <line num="434" type="stmt" count="1"/>
      <line num="435" type="stmt" count="1"/>
      <line num="436" type="stmt" count="1"/>
      <line num="437" type="stmt" count="1"/>
      <line num="438" type="stmt" count="1"/>
      <line num="439" type="stmt" count="1"/>
      <line num="440" type="stmt" count="1"/>
      <line num="441" type="stmt" count="1"/>
      <line num="442" type="stmt" count="1"/>
      <line num="443" type="stmt" count="1"/>
      <line num="444" type="stmt" count="1"/>
      <line num="445" type="stmt" count="1"/>
      <line num="446" type="stmt" count="1"/>
      <line num="447" type="stmt" count="1"/>
      <line num="448" type="stmt" count="1"/>
      <line num="449" type="stmt" count="1"/>
      <line num="450" type="stmt" count="1"/>
      <line num="451" type="stmt" count="1"/>
      <line num="452" type="stmt" count="1"/>
      <line num="453" 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="458" type="stmt" count="1"/>
      <line num="459" type="stmt" count="1"/>
      <line num="460" type="stmt" count="1"/>
      <line num="461" type="stmt" count="1"/>
      <line num="462" 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="1"/>
      <line num="467" type="stmt" count="1"/>
      <line num="468" type="stmt" count="1"/>
      <line num="469" type="stmt" count="1"/>
      <line num="470" type="stmt" count="1"/>
      <line num="471" type="stmt" count="1"/>
      <line num="472" type="stmt" count="1"/>
      <line num="473" type="stmt" count="1"/>
      <line num="474" type="stmt" count="1"/>
      <line num="475" type="stmt" count="1"/>
      <line num="481" type="method" name="getLogType" visibility="protected" complexity="1" crap="1" count="19"/>
      <line num="482" type="stmt" count="19"/>
      <line num="488" type="method" name="getActorStore" visibility="protected" complexity="1" crap="1" count="20"/>
      <line num="489" type="stmt" count="20"/>
      <line num="492" type="method" name="getAutoRevealLookup" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="493" type="stmt" count="11"/>
      <line num="499" type="method" name="getBlockManager" visibility="protected" complexity="1" crap="1" count="20"/>
      <line num="500" type="stmt" count="20"/>
      <line num="506" type="method" name="getConnectionProvider" visibility="protected" complexity="1" crap="1" count="20"/>
      <line num="507" type="stmt" count="20"/>
      <line num="513" type="method" name="getPermissionManager" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="514" type="stmt" count="3"/>
      <line num="520" type="method" name="getRevisionStore" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="521" type="stmt" count="3"/>
      <line num="527" type="method" name="getUserNameUtils" visibility="protected" complexity="1" crap="1" count="20"/>
      <line num="528" type="stmt" count="20"/>
      <metrics loc="531" ncloc="404" classes="1" methods="20" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="246" coveredstatements="245" elements="266" coveredelements="264"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/ConnectedTemporaryAccountsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\ConnectedTemporaryAccountsHandler" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="56" elements="60" coveredelements="60"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="39" type="stmt" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="6"/>
      <line num="42" type="stmt" count="6"/>
      <line num="43" type="stmt" count="6"/>
      <line num="44" type="stmt" count="6"/>
      <line num="45" type="stmt" count="6"/>
      <line num="46" type="stmt" count="6"/>
      <line num="47" type="stmt" count="6"/>
      <line num="48" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="6"/>
      <line num="59" type="method" name="makeLog" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="65" type="method" name="getData" visibility="protected" complexity="2" crap="2" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="87" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" 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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <metrics loc="118" ncloc="108" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="56" elements="60" coveredelements="60"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/SuggestedInvestigations/UpdateCaseHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\SuggestedInvestigations\UpdateCaseHandler" namespace="global">
        <metrics complexity="9" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="98" coveredstatements="98" elements="105" coveredelements="105"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="19"/>
      <line num="40" type="stmt" count="19"/>
      <line num="43" type="method" name="validate" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="44" type="stmt" count="16"/>
      <line num="45" type="stmt" count="13"/>
      <line num="52" type="method" name="run" visibility="public" complexity="3" crap="3" count="12"/>
      <line num="56" type="stmt" count="12"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="63" type="stmt" count="11"/>
      <line num="65" type="stmt" count="10"/>
      <line num="69" type="stmt" count="10"/>
      <line num="70" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="76" type="stmt" count="10"/>
      <line num="77" type="stmt" count="10"/>
      <line num="78" type="stmt" count="10"/>
      <line num="79" type="stmt" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="83" type="stmt" count="10"/>
      <line num="85" type="stmt" count="9"/>
      <line num="88" type="stmt" count="9"/>
      <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="96" type="stmt" count="8"/>
      <line num="97" type="stmt" count="8"/>
      <line num="98" type="stmt" count="8"/>
      <line num="99" type="stmt" count="8"/>
      <line num="100" type="stmt" count="8"/>
      <line num="101" type="stmt" count="8"/>
      <line num="103" type="stmt" count="8"/>
      <line num="104" type="stmt" count="8"/>
      <line num="105" type="stmt" count="8"/>
      <line num="106" type="stmt" count="8"/>
      <line num="107" type="stmt" count="8"/>
      <line num="108" type="stmt" count="8"/>
      <line num="112" type="method" name="getRequestBodyDescription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="117" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="150" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="151" type="stmt" count="16"/>
      <line num="152" type="stmt" count="16"/>
      <line num="153" type="stmt" count="16"/>
      <line num="155" type="stmt" count="16"/>
      <line num="156" type="stmt" count="16"/>
      <line num="157" type="stmt" count="16"/>
      <line num="158" type="stmt" count="16"/>
      <line num="159" type="stmt" count="16"/>
      <line num="160" type="stmt" count="16"/>
      <line num="161" type="stmt" count="16"/>
      <line num="162" type="stmt" count="16"/>
      <line num="163" type="stmt" count="16"/>
      <line num="164" type="stmt" count="16"/>
      <line num="165" type="stmt" count="16"/>
      <line num="166" type="stmt" count="16"/>
      <line num="167" type="stmt" count="16"/>
      <line num="168" type="stmt" count="16"/>
      <line num="169" type="stmt" count="16"/>
      <line num="170" type="stmt" count="16"/>
      <line num="171" type="stmt" count="16"/>
      <line num="175" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="176" type="stmt" count="18"/>
      <line num="177" type="stmt" count="18"/>
      <line num="178" type="stmt" count="18"/>
      <line num="179" type="stmt" count="18"/>
      <line num="180" type="stmt" count="18"/>
      <line num="181" type="stmt" count="18"/>
      <line num="182" type="stmt" count="18"/>
      <line num="183" type="stmt" count="18"/>
      <line num="184" type="stmt" count="18"/>
      <line num="185" type="stmt" count="18"/>
      <metrics loc="188" ncloc="167" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="98" coveredstatements="98" elements="105" coveredelements="105"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/SuggestedInvestigations/UserSummaryHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\SuggestedInvestigations\UserSummaryHandler" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="41" coveredelements="41"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="33" type="stmt" count="5"/>
      <line num="36" type="method" name="validate" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="42" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="50" type="method" name="run" visibility="public" complexity="5" crap="5" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="60" type="stmt" count="3"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="76" 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="80" type="stmt" count="1"/>
      <line num="83" 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="95" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="99" type="stmt" count="5"/>
      <line num="100" type="stmt" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="102" type="stmt" count="5"/>
      <metrics loc="105" ncloc="88" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="41" coveredelements="41"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/TemporaryAccountHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\TemporaryAccountHandler" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="40" elements="43" coveredelements="43"/>
      </class>
      <line num="20" type="method" name="getData" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="22" type="stmt" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="24" type="stmt" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="27" type="stmt" count="7"/>
      <line num="33" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="19"/>
      <line num="34" type="stmt" count="19"/>
      <line num="35" type="stmt" count="19"/>
      <line num="36" type="stmt" count="19"/>
      <line num="37" type="stmt" count="19"/>
      <line num="38" type="stmt" count="19"/>
      <line num="39" type="stmt" count="19"/>
      <line num="40" type="stmt" count="19"/>
      <line num="41" type="stmt" count="19"/>
      <line num="42" type="stmt" count="19"/>
      <line num="43" type="stmt" count="19"/>
      <line num="44" type="stmt" count="19"/>
      <line num="45" type="stmt" count="19"/>
      <line num="49" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="50" 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="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <metrics loc="75" ncloc="67" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="40" elements="43" coveredelements="43"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/TemporaryAccountIPHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\TemporaryAccountIPHandler" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="32" elements="36" coveredelements="34"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="38" type="stmt" count="10"/>
      <line num="39" type="stmt" count="10"/>
      <line num="40" type="stmt" count="10"/>
      <line num="41" type="stmt" count="10"/>
      <line num="42" type="stmt" count="10"/>
      <line num="43" type="stmt" count="10"/>
      <line num="44" type="stmt" count="10"/>
      <line num="45" type="stmt" count="10"/>
      <line num="46" type="stmt" count="10"/>
      <line num="47" type="stmt" count="10"/>
      <line num="48" type="stmt" count="10"/>
      <line num="49" type="stmt" count="10"/>
      <line num="55" type="method" name="getData" visibility="protected" complexity="2" crap="2.01" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="65" type="stmt" count="0"/>
      <line num="69" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <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="76" 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="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <metrics loc="84" ncloc="77" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="32" elements="36" coveredelements="34"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/TemporaryAccountLogTrait.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\TemporaryAccountLogTrait" namespace="global">
        <metrics complexity="12" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="49" elements="59" coveredelements="50"/>
      </class>
      <line num="26" type="method" name="getLogIps" visibility="protected" complexity="8" crap="8" count="8"/>
      <line num="27" type="stmt" count="8"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="stmt" count="8"/>
      <line num="33" type="stmt" count="8"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="stmt" count="8"/>
      <line num="40" type="stmt" count="8"/>
      <line num="41" type="stmt" count="8"/>
      <line num="42" type="stmt" count="8"/>
      <line num="43" type="stmt" count="8"/>
      <line num="44" type="stmt" count="8"/>
      <line num="45" type="stmt" count="8"/>
      <line num="46" type="stmt" count="8"/>
      <line num="47" type="stmt" count="8"/>
      <line num="48" type="stmt" count="8"/>
      <line num="49" type="stmt" count="8"/>
      <line num="50" type="stmt" count="8"/>
      <line num="51" type="stmt" count="8"/>
      <line num="53" type="stmt" count="8"/>
      <line num="54" type="stmt" count="8"/>
      <line num="59" type="stmt" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="67" type="stmt" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="69" type="stmt" count="1"/>
      <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="76" 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="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="94" type="stmt" count="8"/>
      <line num="104" type="method" name="filterOutHiddenLogs" visibility="protected" complexity="3" crap="3" count="8"/>
      <line num="106" type="stmt" count="8"/>
      <line num="108" type="stmt" count="8"/>
      <line num="109" type="stmt" count="8"/>
      <line num="111" type="stmt" count="8"/>
      <line num="112" type="stmt" count="8"/>
      <line num="113" type="stmt" count="8"/>
      <line num="114" type="stmt" count="8"/>
      <line num="115" type="stmt" count="8"/>
      <line num="116" type="stmt" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="129" type="method" name="performLogsLookup" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <metrics loc="142" ncloc="106" classes="1" methods="3" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="49" elements="59" coveredelements="50"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/TemporaryAccountNameTrait.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\TemporaryAccountNameTrait" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="49" coveredelements="49"/>
      </class>
      <line num="29" type="method" name="getTemporaryAccountActorId" visibility="protected" complexity="8" crap="8" count="35"/>
      <line num="30" type="stmt" count="35"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="37" type="stmt" count="33"/>
      <line num="38" type="stmt" count="33"/>
      <line num="39" type="stmt" count="33"/>
      <line num="40" type="stmt" count="33"/>
      <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="47" type="stmt" count="32"/>
      <line num="49" type="stmt" count="32"/>
      <line num="50" type="stmt" count="32"/>
      <line num="51" type="stmt" count="32"/>
      <line num="53" type="stmt" count="2"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="71" type="stmt" count="30"/>
      <line num="82" type="method" name="getActorIps" visibility="protected" complexity="2" crap="2" count="11"/>
      <line num="83" type="stmt" count="11"/>
      <line num="85" type="stmt" count="11"/>
      <line num="86" type="stmt" count="11"/>
      <line num="87" type="stmt" count="11"/>
      <line num="88" type="stmt" count="11"/>
      <line num="89" type="stmt" count="11"/>
      <line num="90" type="stmt" count="11"/>
      <line num="91" type="stmt" count="11"/>
      <line num="92" type="stmt" count="11"/>
      <line num="93" type="stmt" count="11"/>
      <line num="94" type="stmt" count="11"/>
      <line num="95" type="stmt" count="11"/>
      <line num="99" type="stmt" count="11"/>
      <line num="100" type="stmt" count="7"/>
      <line num="101" type="stmt" count="11"/>
      <line num="104" type="stmt" count="11"/>
      <line num="105" type="stmt" count="11"/>
      <line num="106" type="stmt" count="11"/>
      <line num="109" type="stmt" count="11"/>
      <line num="112" type="stmt" count="11"/>
      <metrics loc="127" ncloc="103" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="49" coveredelements="49"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/TemporaryAccountRevisionTrait.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\TemporaryAccountRevisionTrait" namespace="global">
        <metrics complexity="14" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="54" elements="59" coveredelements="56"/>
      </class>
      <line num="25" type="method" name="getRevisionsIps" visibility="protected" complexity="5" crap="5.02" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="stmt" count="3"/>
      <line num="32" type="stmt" count="3"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" 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="53" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="73" type="method" name="filterOutHiddenRevisions" visibility="protected" complexity="5" crap="5" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="stmt" count="3"/>
      <line num="121" type="method" name="filterOutHiddenRevisionsInternal" visibility="private" complexity="4" crap="4" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <metrics loc="139" ncloc="103" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="54" elements="59" coveredelements="56"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/UserAgentClientHintsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\UserAgentClientHintsHandler" namespace="global">
        <metrics complexity="29" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="209" coveredstatements="209" elements="220" coveredelements="220"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="25"/>
      <line num="48" type="stmt" count="25"/>
      <line num="53" type="method" name="validate" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="54" type="stmt" count="21"/>
      <line num="57" type="stmt" count="20"/>
      <line num="61" type="method" name="run" visibility="public" complexity="10" crap="10" count="20"/>
      <line num="62" type="stmt" count="20"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="69" type="stmt" count="19"/>
      <line num="72" type="stmt" count="19"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="92" type="stmt" count="17"/>
      <line num="93" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="96" type="stmt" count="15"/>
      <line num="97" type="stmt" count="15"/>
      <line num="98" type="stmt" count="15"/>
      <line num="99" type="stmt" count="8"/>
      <line num="100" type="stmt" count="7"/>
      <line num="101" type="stmt" count="6"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="109" type="stmt" count="6"/>
      <line num="110" type="stmt" count="6"/>
      <line num="111" type="stmt" count="2"/>
      <line num="115" type="stmt" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="120" type="stmt" count="4"/>
      <line num="121" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="125" type="stmt" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <line num="128" type="stmt" count="4"/>
      <line num="129" type="stmt" count="4"/>
      <line num="132" type="stmt" count="5"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="136" type="stmt" count="5"/>
      <line num="149" type="method" name="performValidationForRevision" visibility="private" complexity="4" crap="4" count="8"/>
      <line num="151" type="stmt" count="8"/>
      <line num="152" type="stmt" count="8"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="158" type="stmt" count="7"/>
      <line num="160" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="185" type="method" name="performValidationForPrivateLog" visibility="private" complexity="5" crap="5" count="6"/>
      <line num="187" type="stmt" count="6"/>
      <line num="188" type="stmt" count="6"/>
      <line num="189" type="stmt" count="6"/>
      <line num="190" type="stmt" count="6"/>
      <line num="191" type="stmt" count="6"/>
      <line num="192" type="stmt" count="6"/>
      <line num="193" type="stmt" count="6"/>
      <line num="194" type="stmt" count="6"/>
      <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="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="203" type="stmt" count="5"/>
      <line num="205" type="stmt" count="4"/>
      <line num="207" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="212" type="stmt" count="3"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="237" type="method" name="performTimestampValidation" visibility="private" complexity="3" crap="3" count="12"/>
      <line num="243" type="stmt" count="12"/>
      <line num="245" type="stmt" count="12"/>
      <line num="246" type="stmt" count="12"/>
      <line num="248" type="stmt" count="3"/>
      <line num="249" type="stmt" count="3"/>
      <line num="250" type="stmt" count="3"/>
      <line num="251" type="stmt" count="3"/>
      <line num="252" type="stmt" count="3"/>
      <line num="253" type="stmt" count="3"/>
      <line num="254" type="stmt" count="3"/>
      <line num="259" type="method" name="needsWriteAccess" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="264" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="23"/>
      <line num="265" type="stmt" count="23"/>
      <line num="266" type="stmt" count="23"/>
      <line num="267" type="stmt" count="23"/>
      <line num="268" type="stmt" count="23"/>
      <line num="269" type="stmt" count="23"/>
      <line num="270" type="stmt" count="23"/>
      <line num="271" type="stmt" count="23"/>
      <line num="272" type="stmt" count="23"/>
      <line num="273" type="stmt" count="23"/>
      <line num="274" type="stmt" count="23"/>
      <line num="275" type="stmt" count="23"/>
      <line num="276" type="stmt" count="23"/>
      <line num="277" type="stmt" count="23"/>
      <line num="278" type="stmt" count="23"/>
      <line num="279" type="stmt" count="23"/>
      <line num="280" type="stmt" count="23"/>
      <line num="284" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="285" type="stmt" count="22"/>
      <line num="286" type="stmt" count="22"/>
      <line num="287" type="stmt" count="22"/>
      <line num="289" type="stmt" count="22"/>
      <line num="290" type="stmt" count="22"/>
      <line num="291" type="stmt" count="22"/>
      <line num="292" type="stmt" count="22"/>
      <line num="293" type="stmt" count="22"/>
      <line num="294" type="stmt" count="22"/>
      <line num="295" type="stmt" count="22"/>
      <line num="296" type="stmt" count="22"/>
      <line num="297" type="stmt" count="22"/>
      <line num="298" type="stmt" count="22"/>
      <line num="299" type="stmt" count="22"/>
      <line num="300" type="stmt" count="22"/>
      <line num="301" type="stmt" count="22"/>
      <line num="302" type="stmt" count="22"/>
      <line num="303" type="stmt" count="22"/>
      <line num="304" type="stmt" count="22"/>
      <line num="305" type="stmt" count="22"/>
      <line num="306" type="stmt" count="22"/>
      <line num="307" type="stmt" count="22"/>
      <line num="308" type="stmt" count="22"/>
      <line num="309" type="stmt" count="22"/>
      <line num="310" type="stmt" count="22"/>
      <line num="311" type="stmt" count="22"/>
      <line num="312" type="stmt" count="22"/>
      <line num="313" type="stmt" count="22"/>
      <line num="314" type="stmt" count="22"/>
      <line num="315" type="stmt" count="22"/>
      <line num="316" type="stmt" count="22"/>
      <line num="317" type="stmt" count="22"/>
      <line num="318" type="stmt" count="22"/>
      <line num="319" type="stmt" count="22"/>
      <line num="320" type="stmt" count="22"/>
      <line num="321" type="stmt" count="22"/>
      <line num="322" type="stmt" count="22"/>
      <line num="323" type="stmt" count="22"/>
      <line num="324" type="stmt" count="22"/>
      <line num="325" type="stmt" count="22"/>
      <line num="326" type="stmt" count="22"/>
      <line num="327" type="stmt" count="22"/>
      <line num="328" type="stmt" count="22"/>
      <line num="329" type="stmt" count="22"/>
      <line num="330" type="stmt" count="22"/>
      <line num="331" type="stmt" count="22"/>
      <line num="332" type="stmt" count="22"/>
      <line num="333" type="stmt" count="22"/>
      <line num="334" type="stmt" count="22"/>
      <line num="335" type="stmt" count="22"/>
      <line num="336" type="stmt" count="22"/>
      <line num="337" type="stmt" count="22"/>
      <line num="338" type="stmt" count="22"/>
      <line num="339" type="stmt" count="22"/>
      <line num="340" type="stmt" count="22"/>
      <line num="341" type="stmt" count="22"/>
      <line num="342" type="stmt" count="22"/>
      <line num="343" type="stmt" count="22"/>
      <line num="344" type="stmt" count="22"/>
      <line num="345" type="stmt" count="22"/>
      <line num="349" type="stmt" count="22"/>
      <line num="350" type="stmt" count="22"/>
      <line num="351" type="stmt" count="22"/>
      <line num="352" type="stmt" count="22"/>
      <line num="353" type="stmt" count="22"/>
      <line num="354" type="stmt" count="22"/>
      <line num="355" type="stmt" count="22"/>
      <line num="359" type="method" name="getRequestBodyDescription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="364" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <line num="367" type="stmt" count="1"/>
      <line num="368" type="stmt" count="1"/>
      <line num="369" type="stmt" count="1"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="372" type="stmt" count="1"/>
      <line num="373" type="stmt" count="1"/>
      <line num="374" type="stmt" count="1"/>
      <line num="375" type="stmt" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="377" type="stmt" count="1"/>
      <line num="378" type="stmt" count="1"/>
      <metrics loc="391" ncloc="314" classes="1" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="209" coveredstatements="209" elements="220" coveredelements="220"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/UserInfoBlockedHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\UserInfoBlockedHandler" namespace="global">
        <metrics complexity="8" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="23" type="stmt" count="6"/>
      <line num="26" type="method" name="run" visibility="public" complexity="5" crap="5" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="30" type="stmt" count="3"/>
      <line num="31" type="stmt" count="3"/>
      <line num="32" type="stmt" count="3"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="46" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" 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="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="64" type="method" name="getParamSettings" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <metrics loc="76" ncloc="69" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/UserInfoHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\UserInfoHandler" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="210" coveredstatements="209" elements="216" coveredelements="214"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="36" type="stmt" count="13"/>
      <line num="42" type="method" name="run" visibility="public" complexity="7" crap="7" count="10"/>
      <line num="43" type="stmt" count="10"/>
      <line num="45" type="stmt" count="9"/>
      <line num="46" type="stmt" count="9"/>
      <line num="47" type="stmt" count="9"/>
      <line num="49" type="stmt" count="9"/>
      <line num="50" type="stmt" count="9"/>
      <line num="52" type="stmt" count="9"/>
      <line num="53" type="stmt" count="9"/>
      <line num="58" type="stmt" count="9"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="9"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="70" type="stmt" count="7"/>
      <line num="71" type="stmt" count="7"/>
      <line num="72" type="stmt" count="7"/>
      <line num="73" type="stmt" count="7"/>
      <line num="75" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="80" type="method" name="getRequestBodyDescription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="85" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" 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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <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="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <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="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="237" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="238" type="stmt" count="12"/>
      <line num="239" type="stmt" count="12"/>
      <line num="240" type="stmt" count="12"/>
      <line num="242" type="stmt" count="12"/>
      <line num="243" type="stmt" count="12"/>
      <line num="244" type="stmt" count="12"/>
      <line num="245" type="stmt" count="12"/>
      <line num="246" type="stmt" count="12"/>
      <line num="247" type="stmt" count="12"/>
      <line num="248" type="stmt" count="12"/>
      <line num="249" type="stmt" count="12"/>
      <line num="250" type="stmt" count="12"/>
      <line num="251" type="stmt" count="12"/>
      <line num="252" type="stmt" count="12"/>
      <line num="253" type="stmt" count="12"/>
      <line num="254" type="stmt" count="12"/>
      <line num="255" type="stmt" count="12"/>
      <line num="256" type="stmt" count="12"/>
      <line num="257" type="stmt" count="12"/>
      <line num="258" type="stmt" count="12"/>
      <line num="259" type="stmt" count="12"/>
      <line num="260" type="stmt" count="12"/>
      <line num="261" type="stmt" count="12"/>
      <line num="262" type="stmt" count="12"/>
      <line num="269" type="method" name="assertHasAccess" visibility="private" complexity="3" crap="3" count="10"/>
      <line num="270" type="stmt" count="10"/>
      <line num="272" type="stmt" count="10"/>
      <line num="273" type="stmt" count="10"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="280" type="stmt" count="9"/>
      <line num="281" type="stmt" count="9"/>
      <line num="282" type="stmt" count="9"/>
      <line num="284" type="stmt" count="9"/>
      <line num="285" type="stmt" count="2"/>
      <line num="286" type="stmt" count="2"/>
      <metrics loc="290" ncloc="274" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="210" coveredstatements="209" elements="216" coveredelements="214"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Api/Rest/Handler/UserInfoIconsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\Api\Rest\Handler\UserInfoIconsHandler" namespace="global">
        <metrics complexity="12" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="65" elements="72" coveredelements="70"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="33" type="stmt" count="10"/>
      <line num="35" type="method" name="run" visibility="public" complexity="7" crap="7" count="6"/>
      <line num="37" type="stmt" count="6"/>
      <line num="38" type="stmt" count="6"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="45" type="stmt" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="50" type="stmt" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="78" type="method" name="needsWriteAccess" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="83" type="method" name="getRequestBodyDescription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="88" type="method" name="getBodyParamSettings" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="89" type="stmt" count="9"/>
      <line num="90" type="stmt" count="9"/>
      <line num="91" type="stmt" count="9"/>
      <line num="92" type="stmt" count="9"/>
      <line num="93" type="stmt" count="9"/>
      <line num="94" type="stmt" count="9"/>
      <line num="95" type="stmt" count="9"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="9"/>
      <line num="98" type="stmt" count="9"/>
      <line num="99" type="stmt" count="9"/>
      <line num="100" type="stmt" count="9"/>
      <line num="101" type="stmt" count="9"/>
      <line num="102" type="stmt" count="9"/>
      <line num="103" type="stmt" count="9"/>
      <line num="104" type="stmt" count="9"/>
      <line num="105" type="stmt" count="9"/>
      <line num="109" type="method" name="getResponseBodySchema" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <metrics loc="134" ncloc="116" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="65" elements="72" coveredelements="70"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/CheckUserPagerNavigationBuilder.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\CheckUserPagerNavigationBuilder" namespace="global">
        <metrics complexity="8" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="55" elements="57" coveredelements="57"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="31" type="method" name="makeLink" visibility="protected" complexity="7" crap="7" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" 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="60" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <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="76" 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="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" 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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <metrics loc="109" ncloc="103" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="55" elements="57" coveredelements="57"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Pagers/AbstractCheckUserPager.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Pagers\AbstractCheckUserPager" namespace="global">
        <metrics complexity="78" methods="24" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="342" coveredstatements="220" elements="366" coveredelements="230"/>
      </class>
      <line num="116" type="method" name="__construct" visibility="public" complexity="4" crap="4" count="21"/>
      <line num="136" type="stmt" count="21"/>
      <line num="138" type="stmt" count="21"/>
      <line num="140" type="stmt" count="21"/>
      <line num="141" type="stmt" count="21"/>
      <line num="142" type="stmt" count="21"/>
      <line num="143" type="stmt" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="146" type="stmt" count="5"/>
      <line num="148" type="stmt" count="16"/>
      <line num="151" type="stmt" count="21"/>
      <line num="152" type="stmt" count="21"/>
      <line num="153" type="stmt" count="21"/>
      <line num="154" type="stmt" count="21"/>
      <line num="155" type="stmt" count="21"/>
      <line num="156" type="stmt" count="21"/>
      <line num="157" type="stmt" count="21"/>
      <line num="159" type="stmt" count="21"/>
      <line num="160" type="stmt" count="21"/>
      <line num="162" type="stmt" count="21"/>
      <line num="165" type="stmt" count="21"/>
      <line num="166" type="stmt" count="21"/>
      <line num="171" type="stmt" count="21"/>
      <line num="172" type="stmt" count="21"/>
      <line num="173" type="stmt" count="21"/>
      <line num="174" type="stmt" count="21"/>
      <line num="175" type="stmt" count="21"/>
      <line num="176" type="stmt" count="21"/>
      <line num="177" type="stmt" count="21"/>
      <line num="178" type="stmt" count="21"/>
      <line num="181" type="stmt" count="21"/>
      <line num="187" type="method" name="setPeriodCondition" visibility="protected" complexity="2" crap="2" count="25"/>
      <line num="188" type="stmt" count="25"/>
      <line num="189" type="stmt" count="25"/>
      <line num="190" type="stmt" count="3"/>
      <line num="191" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="207" type="method" name="getTimeRangeString" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="209" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="1"/>
      <line num="223" type="method" name="getBlockFlag" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" 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"/>
      <line num="230" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="263" type="method" name="getSelfLink" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" 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="277" type="method" name="getTitleValue" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="288" type="method" name="getPageTitle" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="301" type="method" name="getFormattedTimestamp" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="313" type="method" name="getDisplayableUserAgent" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="324" type="method" name="getEmptyBody" visibility="protected" complexity="3" crap="3.17" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="330" type="stmt" count="1"/>
      <line num="331" type="stmt" count="1"/>
      <line num="332" type="stmt" count="1"/>
      <line num="333" type="stmt" count="1"/>
      <line num="334" type="stmt" count="1"/>
      <line num="335" type="stmt" count="1"/>
      <line num="336" type="stmt" count="1"/>
      <line num="337" type="stmt" count="1"/>
      <line num="338" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="340" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="343" type="stmt" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="1"/>
      <line num="346" type="stmt" count="1"/>
      <line num="347" type="stmt" count="1"/>
      <line num="349" type="stmt" count="1"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="361" type="stmt" count="1"/>
      <line num="369" type="method" name="userBlockFlags" visibility="protected" complexity="17" crap="43.51" count="3"/>
      <line num="370" type="stmt" count="3"/>
      <line num="374" type="stmt" count="3"/>
      <line num="375" type="stmt" count="3"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="3"/>
      <line num="379" type="stmt" count="3"/>
      <line num="380" type="stmt" count="3"/>
      <line num="381" type="stmt" count="3"/>
      <line num="382" type="stmt" count="3"/>
      <line num="383" type="stmt" count="3"/>
      <line num="384" type="stmt" count="3"/>
      <line num="385" type="stmt" count="3"/>
      <line num="387" type="stmt" count="2"/>
      <line num="392" type="stmt" count="3"/>
      <line num="393" type="stmt" count="3"/>
      <line num="394" type="stmt" count="3"/>
      <line num="395" type="stmt" count="3"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="2"/>
      <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="406" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="415" type="stmt" count="3"/>
      <line num="416" type="stmt" count="3"/>
      <line num="417" type="stmt" count="3"/>
      <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="426" type="stmt" count="3"/>
      <line num="427" type="stmt" count="1"/>
      <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="434" type="stmt" count="1"/>
      <line num="435" type="stmt" count="1"/>
      <line num="436" type="stmt" count="0"/>
      <line num="438" type="stmt" count="1"/>
      <line num="439" type="stmt" count="1"/>
      <line num="440" type="stmt" count="0"/>
      <line num="444" type="stmt" count="3"/>
      <line num="453" type="method" name="buildGroupLink" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="467" type="method" name="userWasBlocked" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="468" type="stmt" count="2"/>
      <line num="470" type="stmt" count="2"/>
      <line num="471" type="stmt" count="2"/>
      <line num="472" type="stmt" count="2"/>
      <line num="473" type="stmt" count="2"/>
      <line num="474" type="stmt" count="2"/>
      <line num="475" type="stmt" count="2"/>
      <line num="476" type="stmt" count="2"/>
      <line num="477" type="stmt" count="2"/>
      <line num="478" type="stmt" count="2"/>
      <line num="479" type="stmt" count="2"/>
      <line num="480" type="stmt" count="2"/>
      <line num="481" type="stmt" count="2"/>
      <line num="485" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="24"/>
      <line num="486" type="stmt" count="24"/>
      <line num="503" type="method" name="getTimestampField" visibility="public" complexity="2" crap="2" count="8"/>
      <line num="504" type="stmt" count="8"/>
      <line num="505" type="stmt" count="4"/>
      <line num="507" type="stmt" count="4"/>
      <line num="511" type="method" name="getStartBody" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="516" type="method" name="getEndBody" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="521" type="method" name="getNavigationBuilder" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="545" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="559" type="method" name="getCheckUserHelperFieldset" visibility="private" complexity="6" crap="6" count="9"/>
      <line num="560" type="stmt" count="9"/>
      <line num="561" type="stmt" count="1"/>
      <line num="563" type="stmt" count="8"/>
      <line num="564" type="stmt" count="8"/>
      <line num="565" type="stmt" count="8"/>
      <line num="566" type="stmt" count="2"/>
      <line num="567" type="stmt" count="6"/>
      <line num="568" type="stmt" count="1"/>
      <line num="569" type="stmt" count="5"/>
      <line num="570" type="stmt" count="1"/>
      <line num="574" type="stmt" count="4"/>
      <line num="575" type="stmt" count="4"/>
      <line num="576" type="stmt" count="2"/>
      <line num="579" type="stmt" count="8"/>
      <line num="580" type="stmt" count="8"/>
      <line num="581" type="stmt" count="8"/>
      <line num="582" type="stmt" count="8"/>
      <line num="583" type="stmt" count="8"/>
      <line num="584" type="stmt" count="8"/>
      <line num="585" type="stmt" count="8"/>
      <line num="586" type="stmt" count="8"/>
      <line num="596" type="method" name="getCheckUserHelperFieldsetHTML" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="597" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="611" type="method" name="getCheckUserResultsFilterFieldset" visibility="protected" complexity="5" crap="5" count="3"/>
      <line num="612" type="stmt" count="3"/>
      <line num="616" type="stmt" count="3"/>
      <line num="617" type="stmt" count="1"/>
      <line num="618" type="stmt" count="1"/>
      <line num="619" type="stmt" count="1"/>
      <line num="620" type="stmt" count="1"/>
      <line num="621" type="stmt" count="1"/>
      <line num="625" type="stmt" count="3"/>
      <line num="626" type="stmt" count="2"/>
      <line num="632" type="stmt" count="1"/>
      <line num="633" type="stmt" count="1"/>
      <line num="634" type="stmt" count="1"/>
      <line num="635" type="stmt" count="1"/>
      <line num="636" type="stmt" count="1"/>
      <line num="637" type="stmt" count="1"/>
      <line num="638" type="stmt" count="1"/>
      <line num="639" type="stmt" count="1"/>
      <line num="641" type="stmt" count="1"/>
      <line num="642" type="stmt" count="1"/>
      <line num="643" type="stmt" count="1"/>
      <line num="644" type="stmt" count="1"/>
      <line num="645" type="stmt" count="1"/>
      <line num="647" type="stmt" count="1"/>
      <line num="648" type="stmt" count="1"/>
      <line num="649" type="stmt" count="1"/>
      <line num="650" type="stmt" count="1"/>
      <line num="651" type="stmt" count="1"/>
      <line num="653" type="stmt" count="1"/>
      <line num="654" type="stmt" count="1"/>
      <line num="655" type="stmt" count="1"/>
      <line num="656" type="stmt" count="1"/>
      <line num="657" type="stmt" count="1"/>
      <line num="720" type="method" name="groupResultsByIndexField" visibility="protected" complexity="3" crap="3" count="5"/>
      <line num="723" type="stmt" count="5"/>
      <line num="724" type="stmt" count="5"/>
      <line num="725" type="stmt" count="5"/>
      <line num="726" type="stmt" count="5"/>
      <line num="729" type="stmt" count="1"/>
      <line num="731" type="stmt" count="5"/>
      <line num="734" type="stmt" count="5"/>
      <line num="738" type="method" name="reallyDoQuery" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="739" type="stmt" count="3"/>
      <line num="741" type="stmt" count="3"/>
      <line num="742" type="stmt" count="3"/>
      <line num="744" type="stmt" count="3"/>
      <line num="745" type="stmt" count="3"/>
      <line num="746" type="stmt" count="3"/>
      <line num="747" type="stmt" count="3"/>
      <line num="748" type="stmt" count="3"/>
      <line num="749" type="stmt" count="3"/>
      <line num="750" type="stmt" count="3"/>
      <line num="751" type="stmt" count="3"/>
      <line num="752" type="stmt" count="3"/>
      <line num="753" type="stmt" count="3"/>
      <line num="754" type="stmt" count="3"/>
      <line num="756" type="stmt" count="3"/>
      <line num="759" type="stmt" count="3"/>
      <line num="760" type="stmt" count="1"/>
      <line num="762" type="stmt" count="2"/>
      <line num="765" type="stmt" count="3"/>
      <line num="771" type="stmt" count="3"/>
      <line num="772" type="stmt" count="3"/>
      <line num="773" type="stmt" count="3"/>
      <line num="774" type="stmt" count="3"/>
      <line num="776" type="stmt" count="3"/>
      <line num="779" type="stmt" count="3"/>
      <line num="790" type="method" name="buildQueryInfo" visibility="public" complexity="10" crap="13.43" count="1"/>
      <line num="792" type="stmt" count="1"/>
      <line num="793" type="stmt" count="1"/>
      <line num="794" type="stmt" count="1"/>
      <line num="795" type="stmt" count="1"/>
      <line num="796" type="stmt" count="1"/>
      <line num="797" type="stmt" count="1"/>
      <line num="798" type="stmt" count="1"/>
      <line num="799" type="stmt" count="1"/>
      <line num="800" type="stmt" count="1"/>
      <line num="801" type="stmt" count="1"/>
      <line num="802" type="stmt" count="1"/>
      <line num="804" type="stmt" count="1"/>
      <line num="805" type="stmt" count="1"/>
      <line num="806" type="stmt" count="1"/>
      <line num="808" type="stmt" count="0"/>
      <line num="809" type="stmt" count="0"/>
      <line num="810" type="stmt" count="0"/>
      <line num="812" type="stmt" count="0"/>
      <line num="813" type="stmt" count="0"/>
      <line num="815" type="stmt" count="1"/>
      <line num="817" type="stmt" count="1"/>
      <line num="818" type="stmt" count="1"/>
      <line num="820" type="stmt" count="1"/>
      <line num="821" type="stmt" count="1"/>
      <line num="822" type="stmt" count="1"/>
      <line num="823" type="stmt" count="1"/>
      <line num="825" type="stmt" count="1"/>
      <line num="827" type="stmt" count="1"/>
      <line num="830" type="stmt" count="1"/>
      <line num="831" type="stmt" count="0"/>
      <line num="832" type="stmt" count="0"/>
      <line num="833" type="stmt" count="0"/>
      <line num="834" type="stmt" count="0"/>
      <line num="838" type="stmt" count="1"/>
      <line num="839" type="stmt" count="0"/>
      <line num="840" type="stmt" count="0"/>
      <line num="841" type="stmt" count="0"/>
      <line num="842" type="stmt" count="0"/>
      <line num="846" type="stmt" count="1"/>
      <line num="848" type="stmt" count="1"/>
      <metrics loc="858" ncloc="590" classes="1" methods="24" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="342" coveredstatements="220" elements="366" coveredelements="230"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Pagers/CheckUserGetActionsPager.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Pagers\CheckUserGetActionsPager" namespace="global">
        <metrics complexity="81" methods="15" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="434" coveredstatements="404" elements="449" coveredelements="417"/>
      </class>
      <line num="83" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="113" type="stmt" count="28"/>
      <line num="114" type="stmt" count="28"/>
      <line num="115" type="stmt" count="28"/>
      <line num="116" type="stmt" count="28"/>
      <line num="117" type="stmt" count="28"/>
      <line num="118" type="stmt" count="28"/>
      <line num="119" type="stmt" count="28"/>
      <line num="120" type="stmt" count="28"/>
      <line num="121" type="stmt" count="28"/>
      <line num="122" type="stmt" count="28"/>
      <line num="123" type="stmt" count="28"/>
      <line num="124" type="stmt" count="28"/>
      <line num="125" type="stmt" count="28"/>
      <line num="126" type="stmt" count="28"/>
      <line num="127" type="stmt" count="28"/>
      <line num="128" type="stmt" count="28"/>
      <line num="129" type="stmt" count="28"/>
      <line num="130" type="stmt" count="28"/>
      <line num="131" type="stmt" count="28"/>
      <line num="132" type="stmt" count="28"/>
      <line num="133" type="stmt" count="28"/>
      <line num="134" type="stmt" count="28"/>
      <line num="135" type="stmt" count="28"/>
      <line num="136" type="stmt" count="28"/>
      <line num="137" type="stmt" count="28"/>
      <line num="145" type="method" name="formatRow" visibility="public" complexity="21" crap="21.83" count="17"/>
      <line num="146" type="stmt" count="17"/>
      <line num="148" type="stmt" count="17"/>
      <line num="149" type="stmt" count="17"/>
      <line num="151" type="stmt" count="17"/>
      <line num="152" type="stmt" count="1"/>
      <line num="155" type="stmt" count="17"/>
      <line num="157" type="stmt" count="17"/>
      <line num="158" type="stmt" count="11"/>
      <line num="160" type="stmt" count="17"/>
      <line num="162" type="stmt" count="17"/>
      <line num="163" type="stmt" count="17"/>
      <line num="164" type="stmt" count="9"/>
      <line num="167" type="stmt" count="17"/>
      <line num="168" type="stmt" count="17"/>
      <line num="169" type="stmt" count="10"/>
      <line num="170" type="stmt" count="9"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="9"/>
      <line num="176" type="stmt" count="9"/>
      <line num="177" type="stmt" count="9"/>
      <line num="178" type="stmt" count="9"/>
      <line num="180" type="stmt" count="17"/>
      <line num="183" type="stmt" count="16"/>
      <line num="184" type="stmt" count="16"/>
      <line num="188" type="stmt" count="17"/>
      <line num="189" type="stmt" count="17"/>
      <line num="191" type="stmt" count="17"/>
      <line num="192" type="stmt" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="195" type="stmt" count="2"/>
      <line num="196" type="stmt" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="199" type="stmt" count="15"/>
      <line num="200" type="stmt" count="2"/>
      <line num="202" type="stmt" count="15"/>
      <line num="203" type="stmt" count="15"/>
      <line num="204" type="stmt" count="15"/>
      <line num="205" type="stmt" count="15"/>
      <line num="206" type="stmt" count="15"/>
      <line num="207" type="stmt" count="15"/>
      <line num="208" type="stmt" count="15"/>
      <line num="209" type="stmt" count="15"/>
      <line num="211" type="stmt" count="15"/>
      <line num="214" type="stmt" count="17"/>
      <line num="217" type="stmt" count="17"/>
      <line num="218" type="stmt" count="10"/>
      <line num="222" type="stmt" count="9"/>
      <line num="223" type="stmt" count="9"/>
      <line num="224" type="stmt" count="9"/>
      <line num="225" type="stmt" count="8"/>
      <line num="227" type="stmt" count="1"/>
      <line num="229" type="stmt" count="9"/>
      <line num="233" type="stmt" count="17"/>
      <line num="234" type="stmt" count="17"/>
      <line num="235" type="stmt" count="16"/>
      <line num="236" type="stmt" count="16"/>
      <line num="237" type="stmt" count="16"/>
      <line num="238" type="stmt" count="16"/>
      <line num="239" type="stmt" count="16"/>
      <line num="240" type="stmt" count="16"/>
      <line num="241" type="stmt" count="16"/>
      <line num="242" type="stmt" count="16"/>
      <line num="244" type="stmt" count="17"/>
      <line num="247" type="stmt" count="17"/>
      <line num="249" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="262" type="stmt" count="17"/>
      <line num="267" type="stmt" count="17"/>
      <line num="268" type="stmt" count="17"/>
      <line num="269" type="stmt" count="17"/>
      <line num="270" type="stmt" count="17"/>
      <line num="272" type="stmt" count="17"/>
      <line num="281" type="method" name="getActionText" visibility="private" complexity="2" crap="2" count="18"/>
      <line num="284" type="stmt" count="18"/>
      <line num="285" type="stmt" count="11"/>
      <line num="289" type="stmt" count="9"/>
      <line num="290" type="stmt" count="9"/>
      <line num="291" type="stmt" count="9"/>
      <line num="300" type="method" name="getLinksFromRow" visibility="protected" complexity="17" crap="19.12" count="17"/>
      <line num="301" type="stmt" count="17"/>
      <line num="304" type="stmt" count="17"/>
      <line num="305" type="stmt" count="9"/>
      <line num="306" type="stmt" count="9"/>
      <line num="307" type="stmt" count="9"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="321" type="stmt" count="9"/>
      <line num="322" type="stmt" count="9"/>
      <line num="323" type="stmt" count="3"/>
      <line num="324" type="stmt" count="3"/>
      <line num="327" type="stmt" count="3"/>
      <line num="328" type="stmt" count="3"/>
      <line num="329" type="stmt" count="3"/>
      <line num="330" type="stmt" count="3"/>
      <line num="331" type="stmt" count="3"/>
      <line num="333" type="stmt" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="341" type="stmt" count="9"/>
      <line num="342" type="stmt" count="8"/>
      <line num="343" type="stmt" count="8"/>
      <line num="344" type="stmt" count="8"/>
      <line num="345" type="stmt" count="8"/>
      <line num="346" type="stmt" count="8"/>
      <line num="347" type="stmt" count="8"/>
      <line num="348" type="stmt" count="8"/>
      <line num="349" type="stmt" count="8"/>
      <line num="350" type="stmt" count="8"/>
      <line num="351" type="stmt" count="8"/>
      <line num="355" type="stmt" count="9"/>
      <line num="356" type="stmt" count="8"/>
      <line num="357" type="stmt" count="8"/>
      <line num="358" type="stmt" count="8"/>
      <line num="359" type="stmt" count="8"/>
      <line num="360" type="stmt" count="8"/>
      <line num="363" type="stmt" count="10"/>
      <line num="365" type="stmt" count="10"/>
      <line num="366" type="stmt" count="5"/>
      <line num="369" type="stmt" count="8"/>
      <line num="370" type="stmt" count="8"/>
      <line num="371" type="stmt" count="8"/>
      <line num="372" type="stmt" count="8"/>
      <line num="373" type="stmt" count="8"/>
      <line num="374" type="stmt" count="8"/>
      <line num="375" type="stmt" count="8"/>
      <line num="376" type="stmt" count="8"/>
      <line num="377" type="stmt" count="8"/>
      <line num="378" type="stmt" count="8"/>
      <line num="379" type="stmt" count="8"/>
      <line num="380" type="stmt" count="8"/>
      <line num="381" type="stmt" count="8"/>
      <line num="382" type="stmt" count="8"/>
      <line num="385" type="stmt" count="10"/>
      <line num="386" type="stmt" count="10"/>
      <line num="387" type="stmt" count="10"/>
      <line num="388" type="stmt" count="10"/>
      <line num="389" type="stmt" count="10"/>
      <line num="390" type="stmt" count="10"/>
      <line num="391" type="stmt" count="10"/>
      <line num="392" type="stmt" count="10"/>
      <line num="393" type="stmt" count="10"/>
      <line num="394" type="stmt" count="10"/>
      <line num="395" type="stmt" count="10"/>
      <line num="396" type="stmt" count="10"/>
      <line num="397" type="stmt" count="10"/>
      <line num="398" type="stmt" count="10"/>
      <line num="399" type="stmt" count="10"/>
      <line num="400" type="stmt" count="10"/>
      <line num="401" type="stmt" count="10"/>
      <line num="402" type="stmt" count="10"/>
      <line num="403" type="stmt" count="10"/>
      <line num="404" type="stmt" count="10"/>
      <line num="405" type="stmt" count="10"/>
      <line num="406" type="stmt" count="10"/>
      <line num="408" type="stmt" count="10"/>
      <line num="409" type="stmt" count="5"/>
      <line num="410" type="stmt" count="5"/>
      <line num="411" type="stmt" count="5"/>
      <line num="412" type="stmt" count="5"/>
      <line num="413" type="stmt" count="5"/>
      <line num="415" type="stmt" count="10"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" 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="423" type="stmt" count="10"/>
      <line num="426" type="stmt" count="17"/>
      <line num="427" type="stmt" count="17"/>
      <line num="428" type="stmt" count="17"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="442" type="method" name="preCacheMessages" visibility="protected" complexity="3" crap="3" count="28"/>
      <line num="443" type="stmt" count="28"/>
      <line num="444" type="stmt" count="28"/>
      <line num="445" type="stmt" count="28"/>
      <line num="446" type="stmt" count="28"/>
      <line num="447" type="stmt" count="28"/>
      <line num="448" type="stmt" count="28"/>
      <line num="449" type="stmt" count="28"/>
      <line num="465" type="method" name="buildUserLinks" visibility="protected" complexity="2" crap="2" count="15"/>
      <line num="466" type="stmt" count="15"/>
      <line num="467" type="stmt" count="15"/>
      <line num="469" type="stmt" count="6"/>
      <line num="470" type="stmt" count="6"/>
      <line num="471" type="stmt" count="6"/>
      <line num="472" type="stmt" count="6"/>
      <line num="473" type="stmt" count="6"/>
      <line num="474" type="stmt" count="6"/>
      <line num="476" type="stmt" count="6"/>
      <line num="477" type="stmt" count="6"/>
      <line num="478" type="stmt" count="6"/>
      <line num="481" type="stmt" count="15"/>
      <line num="485" type="method" name="getQueryInfo" visibility="public" complexity="11" crap="11" count="11"/>
      <line num="486" type="stmt" count="11"/>
      <line num="487" type="stmt" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="489" type="stmt" count="1"/>
      <line num="490" type="stmt" count="1"/>
      <line num="493" type="stmt" count="10"/>
      <line num="494" type="stmt" count="6"/>
      <line num="495" type="stmt" count="9"/>
      <line num="496" type="stmt" count="7"/>
      <line num="497" type="stmt" count="7"/>
      <line num="498" type="stmt" count="7"/>
      <line num="501" type="stmt" count="10"/>
      <line num="502" type="stmt" count="10"/>
      <line num="503" type="stmt" count="10"/>
      <line num="505" type="stmt" count="10"/>
      <line num="506" type="stmt" count="3"/>
      <line num="508" type="stmt" count="7"/>
      <line num="509" type="stmt" count="7"/>
      <line num="510" type="stmt" count="7"/>
      <line num="516" type="stmt" count="10"/>
      <line num="517" type="stmt" count="10"/>
      <line num="518" type="stmt" count="10"/>
      <line num="520" type="stmt" count="1"/>
      <line num="521" type="stmt" count="1"/>
      <line num="522" type="stmt" count="1"/>
      <line num="523" type="stmt" count="1"/>
      <line num="524" type="stmt" count="1"/>
      <line num="525" type="stmt" count="1"/>
      <line num="526" type="stmt" count="1"/>
      <line num="527" type="stmt" count="1"/>
      <line num="529" type="stmt" count="1"/>
      <line num="532" type="stmt" count="10"/>
      <line num="536" type="method" name="getQueryInfoForCuChanges" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="537" type="stmt" count="7"/>
      <line num="538" type="stmt" count="7"/>
      <line num="539" type="stmt" count="7"/>
      <line num="540" type="stmt" count="7"/>
      <line num="541" type="stmt" count="7"/>
      <line num="542" type="stmt" count="7"/>
      <line num="543" type="stmt" count="7"/>
      <line num="544" type="stmt" count="7"/>
      <line num="545" type="stmt" count="7"/>
      <line num="546" type="stmt" count="7"/>
      <line num="547" type="stmt" count="7"/>
      <line num="548" type="stmt" count="7"/>
      <line num="549" type="stmt" count="7"/>
      <line num="550" type="stmt" count="7"/>
      <line num="551" type="stmt" count="7"/>
      <line num="552" type="stmt" count="7"/>
      <line num="553" type="stmt" count="7"/>
      <line num="555" type="stmt" count="7"/>
      <line num="556" type="stmt" count="7"/>
      <line num="557" type="stmt" count="7"/>
      <line num="558" type="stmt" count="7"/>
      <line num="559" type="stmt" count="7"/>
      <line num="560" type="stmt" count="7"/>
      <line num="561" type="stmt" count="7"/>
      <line num="562" type="stmt" count="7"/>
      <line num="563" type="stmt" count="7"/>
      <line num="564" type="stmt" count="7"/>
      <line num="565" type="stmt" count="7"/>
      <line num="566" type="stmt" count="7"/>
      <line num="567" type="stmt" count="7"/>
      <line num="568" type="stmt" count="7"/>
      <line num="569" type="stmt" count="7"/>
      <line num="573" type="method" name="getQueryInfoForCuLogEvent" visibility="protected" complexity="2" crap="2" count="9"/>
      <line num="574" type="stmt" count="9"/>
      <line num="575" type="stmt" count="9"/>
      <line num="576" type="stmt" count="9"/>
      <line num="577" type="stmt" count="9"/>
      <line num="578" type="stmt" count="9"/>
      <line num="579" type="stmt" count="9"/>
      <line num="580" type="stmt" count="9"/>
      <line num="581" type="stmt" count="9"/>
      <line num="582" type="stmt" count="9"/>
      <line num="583" type="stmt" count="9"/>
      <line num="584" type="stmt" count="9"/>
      <line num="585" type="stmt" count="9"/>
      <line num="586" type="stmt" count="9"/>
      <line num="587" type="stmt" count="9"/>
      <line num="588" type="stmt" count="9"/>
      <line num="589" type="stmt" count="9"/>
      <line num="590" type="stmt" count="9"/>
      <line num="591" type="stmt" count="9"/>
      <line num="592" type="stmt" count="9"/>
      <line num="593" type="stmt" count="9"/>
      <line num="594" type="stmt" count="9"/>
      <line num="595" type="stmt" count="9"/>
      <line num="596" type="stmt" count="9"/>
      <line num="597" type="stmt" count="9"/>
      <line num="598" type="stmt" count="9"/>
      <line num="599" type="stmt" count="9"/>
      <line num="600" type="stmt" count="9"/>
      <line num="601" type="stmt" count="9"/>
      <line num="602" type="stmt" count="9"/>
      <line num="603" type="stmt" count="9"/>
      <line num="604" type="stmt" count="9"/>
      <line num="605" type="stmt" count="9"/>
      <line num="606" type="stmt" count="9"/>
      <line num="607" type="stmt" count="9"/>
      <line num="608" type="stmt" count="9"/>
      <line num="609" type="stmt" count="9"/>
      <line num="610" type="stmt" count="9"/>
      <line num="611" type="stmt" count="9"/>
      <line num="613" type="stmt" count="9"/>
      <line num="615" type="stmt" count="1"/>
      <line num="616" type="stmt" count="1"/>
      <line num="617" type="stmt" count="1"/>
      <line num="621" type="stmt" count="8"/>
      <line num="622" type="stmt" count="8"/>
      <line num="623" type="stmt" count="8"/>
      <line num="626" type="stmt" count="9"/>
      <line num="630" type="method" name="getQueryInfoForCuPrivateEvent" visibility="protected" complexity="3" crap="3" count="9"/>
      <line num="633" type="stmt" count="9"/>
      <line num="634" type="stmt" count="9"/>
      <line num="635" type="stmt" count="9"/>
      <line num="636" type="stmt" count="9"/>
      <line num="637" type="stmt" count="9"/>
      <line num="638" type="stmt" count="9"/>
      <line num="639" type="stmt" count="9"/>
      <line num="640" type="stmt" count="9"/>
      <line num="641" type="stmt" count="9"/>
      <line num="642" type="stmt" count="9"/>
      <line num="643" type="stmt" count="9"/>
      <line num="644" type="stmt" count="9"/>
      <line num="645" type="stmt" count="9"/>
      <line num="646" type="stmt" count="9"/>
      <line num="647" type="stmt" count="9"/>
      <line num="648" type="stmt" count="9"/>
      <line num="649" type="stmt" count="9"/>
      <line num="650" type="stmt" count="9"/>
      <line num="651" type="stmt" count="9"/>
      <line num="652" type="stmt" count="9"/>
      <line num="654" type="stmt" count="9"/>
      <line num="655" type="stmt" count="9"/>
      <line num="656" type="stmt" count="9"/>
      <line num="657" type="stmt" count="9"/>
      <line num="658" type="stmt" count="9"/>
      <line num="659" type="stmt" count="9"/>
      <line num="660" type="stmt" count="9"/>
      <line num="661" type="stmt" count="9"/>
      <line num="662" type="stmt" count="9"/>
      <line num="663" type="stmt" count="9"/>
      <line num="664" type="stmt" count="9"/>
      <line num="665" type="stmt" count="9"/>
      <line num="666" type="stmt" count="9"/>
      <line num="667" type="stmt" count="9"/>
      <line num="668" type="stmt" count="9"/>
      <line num="669" type="stmt" count="9"/>
      <line num="671" type="stmt" count="9"/>
      <line num="673" type="stmt" count="1"/>
      <line num="674" type="stmt" count="1"/>
      <line num="675" type="stmt" count="1"/>
      <line num="679" type="stmt" count="8"/>
      <line num="680" type="stmt" count="8"/>
      <line num="681" type="stmt" count="8"/>
      <line num="684" type="stmt" count="9"/>
      <line num="688" type="method" name="getStartBody" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="689" type="stmt" count="5"/>
      <line num="690" type="stmt" count="5"/>
      <line num="691" type="stmt" count="5"/>
      <line num="695" type="method" name="preprocessResults" visibility="protected" complexity="12" crap="12" count="7"/>
      <line num="696" type="stmt" count="7"/>
      <line num="697" type="stmt" count="7"/>
      <line num="698" type="stmt" count="7"/>
      <line num="699" type="stmt" count="7"/>
      <line num="700" type="stmt" count="7"/>
      <line num="702" type="stmt" count="7"/>
      <line num="703" type="stmt" count="1"/>
      <line num="705" type="stmt" count="7"/>
      <line num="706" type="stmt" count="7"/>
      <line num="707" type="stmt" count="5"/>
      <line num="710" type="stmt" count="7"/>
      <line num="712" type="stmt" count="7"/>
      <line num="713" type="stmt" count="4"/>
      <line num="717" type="stmt" count="7"/>
      <line num="718" type="stmt" count="7"/>
      <line num="719" type="stmt" count="7"/>
      <line num="720" type="stmt" count="7"/>
      <line num="723" type="stmt" count="7"/>
      <line num="727" type="stmt" count="7"/>
      <line num="728" type="stmt" count="7"/>
      <line num="730" type="stmt" count="6"/>
      <line num="731" type="stmt" count="6"/>
      <line num="732" type="stmt" count="5"/>
      <line num="734" type="stmt" count="5"/>
      <line num="735" type="stmt" count="5"/>
      <line num="736" type="stmt" count="5"/>
      <line num="737" type="stmt" count="5"/>
      <line num="738" type="stmt" count="5"/>
      <line num="743" type="stmt" count="7"/>
      <line num="744" type="stmt" count="7"/>
      <line num="745" type="stmt" count="7"/>
      <line num="746" type="stmt" count="7"/>
      <line num="747" type="stmt" count="7"/>
      <line num="748" type="stmt" count="7"/>
      <line num="749" type="stmt" count="7"/>
      <line num="750" type="stmt" count="7"/>
      <line num="758" type="stmt" count="7"/>
      <line num="759" type="stmt" count="7"/>
      <line num="760" type="stmt" count="7"/>
      <line num="761" type="stmt" count="7"/>
      <line num="764" type="method" name="addUsersFromRow" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="765" type="stmt" count="7"/>
      <line num="766" type="stmt" count="6"/>
      <line num="771" type="method" name="getResultUsernameMap" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="772" type="stmt" count="2"/>
      <line num="781" type="method" name="isNavigationBarShown" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="782" type="stmt" count="7"/>
      <metrics loc="785" ncloc="660" classes="1" methods="15" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="434" coveredstatements="404" elements="449" coveredelements="417"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Pagers/CheckUserGetIPsPager.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Pagers\CheckUserGetIPsPager" namespace="global">
        <metrics complexity="45" methods="13" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="187" elements="201" coveredelements="199"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="54" type="stmt" count="17"/>
      <line num="55" type="stmt" count="17"/>
      <line num="56" type="stmt" count="17"/>
      <line num="57" type="stmt" count="17"/>
      <line num="58" type="stmt" count="17"/>
      <line num="59" type="stmt" count="17"/>
      <line num="60" type="stmt" count="17"/>
      <line num="61" type="stmt" count="17"/>
      <line num="62" type="stmt" count="17"/>
      <line num="63" type="stmt" count="17"/>
      <line num="64" type="stmt" count="17"/>
      <line num="65" type="stmt" count="17"/>
      <line num="66" type="stmt" count="17"/>
      <line num="67" type="stmt" count="17"/>
      <line num="68" type="stmt" count="17"/>
      <line num="69" type="stmt" count="17"/>
      <line num="70" type="stmt" count="17"/>
      <line num="71" type="stmt" count="17"/>
      <line num="72" type="stmt" count="17"/>
      <line num="73" type="stmt" count="17"/>
      <line num="74" type="stmt" count="17"/>
      <line num="78" type="method" name="formatRow" visibility="public" complexity="6" crap="6" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="83" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="88" type="stmt" count="5"/>
      <line num="92" type="stmt" count="5"/>
      <line num="93" type="stmt" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="95" type="stmt" count="5"/>
      <line num="96" type="stmt" count="5"/>
      <line num="99" type="stmt" count="5"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="114" type="stmt" count="5"/>
      <line num="115" type="stmt" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="118" type="stmt" count="5"/>
      <line num="119" type="stmt" count="5"/>
      <line num="122" type="stmt" count="5"/>
      <line num="123" type="stmt" count="5"/>
      <line num="124" type="stmt" count="5"/>
      <line num="133" type="method" name="getIPBlockInfo" visibility="protected" complexity="4" crap="4.05" count="6"/>
      <line num="134" type="stmt" count="6"/>
      <line num="135" type="stmt" count="6"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="6"/>
      <line num="139" type="stmt" count="6"/>
      <line num="141" type="stmt" count="1"/>
      <line num="143" type="stmt" count="5"/>
      <line num="154" type="method" name="getCountForIPActions" visibility="protected" complexity="6" crap="6" count="9"/>
      <line num="155" type="stmt" count="9"/>
      <line num="156" type="stmt" count="9"/>
      <line num="158" type="stmt" count="9"/>
      <line num="159" type="stmt" count="9"/>
      <line num="163" type="stmt" count="9"/>
      <line num="164" type="stmt" count="9"/>
      <line num="165" type="stmt" count="9"/>
      <line num="166" type="stmt" count="9"/>
      <line num="169" type="stmt" count="7"/>
      <line num="170" type="stmt" count="7"/>
      <line num="171" type="stmt" count="7"/>
      <line num="175" type="stmt" count="9"/>
      <line num="186" type="method" name="getCountForIPActionsPerTable" visibility="protected" complexity="5" crap="5" count="12"/>
      <line num="188" type="stmt" count="12"/>
      <line num="189" type="stmt" count="12"/>
      <line num="191" type="stmt" count="6"/>
      <line num="194" type="stmt" count="6"/>
      <line num="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="200" type="stmt" count="6"/>
      <line num="201" type="stmt" count="6"/>
      <line num="202" type="stmt" count="6"/>
      <line num="203" type="stmt" count="6"/>
      <line num="204" type="stmt" count="6"/>
      <line num="206" type="stmt" count="6"/>
      <line num="207" type="stmt" count="6"/>
      <line num="211" type="stmt" count="6"/>
      <line num="212" type="stmt" count="6"/>
      <line num="213" type="stmt" count="6"/>
      <line num="214" type="stmt" count="6"/>
      <line num="215" type="stmt" count="6"/>
      <line num="216" type="stmt" count="6"/>
      <line num="217" type="stmt" count="6"/>
      <line num="218" type="stmt" count="6"/>
      <line num="219" type="stmt" count="6"/>
      <line num="220" type="stmt" count="6"/>
      <line num="221" type="stmt" count="6"/>
      <line num="222" type="stmt" count="6"/>
      <line num="224" type="stmt" count="6"/>
      <line num="225" type="stmt" count="6"/>
      <line num="228" type="stmt" count="6"/>
      <line num="232" type="method" name="groupResultsByIndexField" visibility="protected" complexity="12" crap="12" count="4"/>
      <line num="234" type="stmt" count="4"/>
      <line num="235" type="stmt" count="4"/>
      <line num="236" type="stmt" count="4"/>
      <line num="237" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="242" type="stmt" count="4"/>
      <line num="243" type="stmt" count="4"/>
      <line num="244" type="stmt" count="4"/>
      <line num="245" type="stmt" count="4"/>
      <line num="246" type="stmt" count="4"/>
      <line num="247" type="stmt" count="4"/>
      <line num="248" type="stmt" count="4"/>
      <line num="249" type="stmt" count="4"/>
      <line num="250" type="stmt" count="4"/>
      <line num="251" type="stmt" count="4"/>
      <line num="252" type="stmt" count="4"/>
      <line num="253" type="stmt" count="4"/>
      <line num="254" type="stmt" count="4"/>
      <line num="256" type="stmt" count="4"/>
      <line num="257" type="stmt" count="4"/>
      <line num="260" type="stmt" count="4"/>
      <line num="261" type="stmt" count="4"/>
      <line num="262" type="stmt" count="1"/>
      <line num="264" type="stmt" count="4"/>
      <line num="267" type="stmt" count="4"/>
      <line num="271" type="method" name="getQueryInfo" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="272" type="stmt" count="5"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="279" type="stmt" count="4"/>
      <line num="280" type="stmt" count="2"/>
      <line num="281" type="stmt" count="3"/>
      <line num="282" type="stmt" count="2"/>
      <line num="283" type="stmt" count="2"/>
      <line num="284" type="stmt" count="2"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="4"/>
      <line num="290" type="stmt" count="4"/>
      <line num="291" type="stmt" count="4"/>
      <line num="292" type="stmt" count="4"/>
      <line num="294" type="stmt" count="4"/>
      <line num="298" type="method" name="getQueryInfoForCuChanges" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="299" type="stmt" count="2"/>
      <line num="300" type="stmt" count="2"/>
      <line num="301" type="stmt" count="2"/>
      <line num="302" type="stmt" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="304" type="stmt" count="2"/>
      <line num="305" type="stmt" count="2"/>
      <line num="306" type="stmt" count="2"/>
      <line num="308" type="stmt" count="2"/>
      <line num="309" type="stmt" count="2"/>
      <line num="310" type="stmt" count="2"/>
      <line num="311" type="stmt" count="2"/>
      <line num="312" type="stmt" count="2"/>
      <line num="316" type="method" name="getQueryInfoForCuLogEvent" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="317" type="stmt" count="2"/>
      <line num="318" type="stmt" count="2"/>
      <line num="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="321" type="stmt" count="2"/>
      <line num="322" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="326" type="stmt" count="2"/>
      <line num="327" type="stmt" count="2"/>
      <line num="328" type="stmt" count="2"/>
      <line num="329" type="stmt" count="2"/>
      <line num="333" type="method" name="getQueryInfoForCuPrivateEvent" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="334" type="stmt" count="2"/>
      <line num="335" type="stmt" count="2"/>
      <line num="336" type="stmt" count="2"/>
      <line num="337" type="stmt" count="2"/>
      <line num="338" type="stmt" count="2"/>
      <line num="339" type="stmt" count="2"/>
      <line num="340" type="stmt" count="2"/>
      <line num="341" type="stmt" count="2"/>
      <line num="343" type="stmt" count="2"/>
      <line num="344" type="stmt" count="2"/>
      <line num="345" type="stmt" count="2"/>
      <line num="346" type="stmt" count="2"/>
      <line num="350" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="351" type="stmt" count="21"/>
      <line num="355" type="method" name="getStartBody" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="356" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="365" type="method" name="isNavigationBarShown" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <metrics loc="369" ncloc="313" classes="1" methods="13" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="187" elements="201" coveredelements="199"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Pagers/CheckUserGetUsersPager.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Pagers\CheckUserGetUsersPager" namespace="global">
        <metrics complexity="90" methods="14" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="437" coveredstatements="407" elements="451" coveredelements="418"/>
      </class>
      <line num="91" type="method" name="__construct" visibility="public" complexity="4" crap="4" count="34"/>
      <line num="119" type="stmt" count="34"/>
      <line num="120" type="stmt" count="34"/>
      <line num="121" type="stmt" count="34"/>
      <line num="122" type="stmt" count="34"/>
      <line num="123" type="stmt" count="34"/>
      <line num="124" type="stmt" count="34"/>
      <line num="125" type="stmt" count="34"/>
      <line num="126" type="stmt" count="34"/>
      <line num="127" type="stmt" count="34"/>
      <line num="128" type="stmt" count="34"/>
      <line num="129" type="stmt" count="34"/>
      <line num="130" type="stmt" count="34"/>
      <line num="131" type="stmt" count="34"/>
      <line num="132" type="stmt" count="34"/>
      <line num="133" type="stmt" count="34"/>
      <line num="134" type="stmt" count="34"/>
      <line num="135" type="stmt" count="34"/>
      <line num="136" type="stmt" count="34"/>
      <line num="137" type="stmt" count="34"/>
      <line num="138" type="stmt" count="34"/>
      <line num="139" type="stmt" count="34"/>
      <line num="140" type="stmt" count="34"/>
      <line num="141" type="stmt" count="34"/>
      <line num="142" type="stmt" count="34"/>
      <line num="143" type="stmt" count="34"/>
      <line num="144" type="stmt" count="34"/>
      <line num="145" type="stmt" count="34"/>
      <line num="146" type="stmt" count="34"/>
      <line num="147" type="stmt" count="34"/>
      <line num="148" type="stmt" count="34"/>
      <line num="157" type="method" name="formatRow" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="158" type="stmt" count="4"/>
      <line num="162" type="method" name="getBody" visibility="public" complexity="6" crap="6.01" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="4"/>
      <line num="168" type="stmt" count="5"/>
      <line num="170" type="stmt" count="3"/>
      <line num="174" type="stmt" count="5"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="5"/>
      <line num="178" type="stmt" count="4"/>
      <line num="179" type="stmt" count="4"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="186" type="stmt" count="4"/>
      <line num="188" type="stmt" count="1"/>
      <line num="190" type="stmt" count="5"/>
      <line num="191" type="stmt" count="5"/>
      <line num="200" type="method" name="formatUserRow" visibility="public" complexity="25" crap="30.36" count="14"/>
      <line num="201" type="stmt" count="14"/>
      <line num="203" type="stmt" count="14"/>
      <line num="206" type="stmt" count="14"/>
      <line num="207" type="stmt" count="14"/>
      <line num="208" type="stmt" count="14"/>
      <line num="209" type="stmt" count="14"/>
      <line num="210" type="stmt" count="14"/>
      <line num="211" type="stmt" count="14"/>
      <line num="212" type="stmt" count="14"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="223" type="stmt" count="13"/>
      <line num="224" type="stmt" count="13"/>
      <line num="225" type="stmt" count="13"/>
      <line num="226" type="stmt" count="13"/>
      <line num="227" type="stmt" count="1"/>
      <line num="229" type="stmt" count="13"/>
      <line num="230" type="stmt" count="13"/>
      <line num="231" type="stmt" count="13"/>
      <line num="232" type="stmt" count="13"/>
      <line num="233" type="stmt" count="13"/>
      <line num="234" type="stmt" count="13"/>
      <line num="235" type="stmt" count="13"/>
      <line num="236" type="stmt" count="13"/>
      <line num="238" type="stmt" count="13"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="242" type="stmt" count="2"/>
      <line num="243" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="247" type="stmt" count="13"/>
      <line num="248" type="stmt" count="13"/>
      <line num="249" type="stmt" count="13"/>
      <line num="250" type="stmt" count="13"/>
      <line num="251" type="stmt" count="13"/>
      <line num="252" type="stmt" count="8"/>
      <line num="253" type="stmt" count="8"/>
      <line num="254" type="stmt" count="7"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="261" type="stmt" count="13"/>
      <line num="262" type="stmt" count="13"/>
      <line num="263" type="stmt" count="13"/>
      <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="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="289" type="stmt" count="13"/>
      <line num="290" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="294" type="stmt" count="1"/>
      <line num="295" type="stmt" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="302" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="304" type="stmt" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="306" type="stmt" count="1"/>
      <line num="307" type="stmt" count="1"/>
      <line num="308" type="stmt" count="1"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="321" type="stmt" count="1"/>
      <line num="325" type="stmt" count="13"/>
      <line num="328" type="stmt" count="14"/>
      <line num="329" type="stmt" count="14"/>
      <line num="330" type="stmt" count="14"/>
      <line num="331" type="stmt" count="14"/>
      <line num="333" type="stmt" count="14"/>
      <line num="335" type="stmt" count="14"/>
      <line num="336" type="stmt" count="14"/>
      <line num="338" type="stmt" count="14"/>
      <line num="339" type="stmt" count="14"/>
      <line num="341" type="stmt" count="14"/>
      <line num="343" type="stmt" count="14"/>
      <line num="345" type="stmt" count="6"/>
      <line num="347" type="stmt" count="6"/>
      <line num="348" type="stmt" count="6"/>
      <line num="349" type="stmt" count="6"/>
      <line num="351" type="stmt" count="14"/>
      <line num="354" type="stmt" count="14"/>
      <line num="355" type="stmt" count="14"/>
      <line num="359" type="stmt" count="14"/>
      <line num="360" type="stmt" count="14"/>
      <line num="361" type="stmt" count="14"/>
      <line num="367" type="stmt" count="14"/>
      <line num="372" type="stmt" count="14"/>
      <line num="373" type="stmt" count="14"/>
      <line num="376" type="stmt" count="1"/>
      <line num="377" type="stmt" count="0"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="381" type="stmt" count="1"/>
      <line num="382" type="stmt" count="1"/>
      <line num="383" type="stmt" count="1"/>
      <line num="386" type="stmt" count="1"/>
      <line num="387" type="stmt" count="1"/>
      <line num="392" type="stmt" count="14"/>
      <line num="396" type="method" name="preprocessResults" visibility="protected" complexity="14" crap="14" count="11"/>
      <line num="397" type="stmt" count="11"/>
      <line num="398" type="stmt" count="11"/>
      <line num="399" type="stmt" count="11"/>
      <line num="400" type="stmt" count="11"/>
      <line num="401" type="stmt" count="11"/>
      <line num="402" type="stmt" count="11"/>
      <line num="403" type="stmt" count="11"/>
      <line num="404" type="stmt" count="11"/>
      <line num="405" type="stmt" count="11"/>
      <line num="406" type="stmt" count="11"/>
      <line num="407" type="stmt" count="11"/>
      <line num="409" type="stmt" count="11"/>
      <line num="410" type="stmt" count="11"/>
      <line num="412" type="stmt" count="11"/>
      <line num="414" type="stmt" count="9"/>
      <line num="415" type="stmt" count="3"/>
      <line num="418" type="stmt" count="9"/>
      <line num="419" type="stmt" count="9"/>
      <line num="420" type="stmt" count="9"/>
      <line num="422" type="stmt" count="9"/>
      <line num="423" type="stmt" count="9"/>
      <line num="424" type="stmt" count="9"/>
      <line num="425" type="stmt" count="9"/>
      <line num="426" type="stmt" count="9"/>
      <line num="427" type="stmt" count="9"/>
      <line num="429" type="stmt" count="9"/>
      <line num="430" type="stmt" count="9"/>
      <line num="431" type="stmt" count="9"/>
      <line num="432" type="stmt" count="9"/>
      <line num="433" type="stmt" count="9"/>
      <line num="434" type="stmt" count="9"/>
      <line num="435" type="stmt" count="9"/>
      <line num="436" type="stmt" count="9"/>
      <line num="437" type="stmt" count="9"/>
      <line num="438" type="stmt" count="9"/>
      <line num="440" type="stmt" count="9"/>
      <line num="441" type="stmt" count="9"/>
      <line num="443" type="stmt" count="9"/>
      <line num="444" type="stmt" count="9"/>
      <line num="446" type="stmt" count="9"/>
      <line num="447" type="stmt" count="9"/>
      <line num="450" type="stmt" count="9"/>
      <line num="451" type="stmt" count="9"/>
      <line num="452" type="stmt" count="9"/>
      <line num="453" type="stmt" count="9"/>
      <line num="458" type="stmt" count="11"/>
      <line num="462" type="stmt" count="11"/>
      <line num="463" type="stmt" count="11"/>
      <line num="465" type="stmt" count="3"/>
      <line num="466" type="stmt" count="3"/>
      <line num="467" type="stmt" count="2"/>
      <line num="468" type="stmt" count="2"/>
      <line num="469" type="stmt" count="2"/>
      <line num="470" type="stmt" count="2"/>
      <line num="478" type="stmt" count="11"/>
      <line num="479" type="stmt" count="11"/>
      <line num="483" type="method" name="getQueryInfo" visibility="public" complexity="10" crap="10" count="10"/>
      <line num="484" type="stmt" count="10"/>
      <line num="485" type="stmt" count="2"/>
      <line num="486" type="stmt" count="2"/>
      <line num="487" type="stmt" count="2"/>
      <line num="488" type="stmt" count="2"/>
      <line num="491" type="stmt" count="8"/>
      <line num="492" type="stmt" count="6"/>
      <line num="493" type="stmt" count="6"/>
      <line num="494" type="stmt" count="5"/>
      <line num="495" type="stmt" count="5"/>
      <line num="496" type="stmt" count="5"/>
      <line num="500" type="stmt" count="8"/>
      <line num="501" type="stmt" count="8"/>
      <line num="502" type="stmt" count="8"/>
      <line num="503" type="stmt" count="8"/>
      <line num="504" type="stmt" count="8"/>
      <line num="505" type="stmt" count="8"/>
      <line num="510" type="stmt" count="8"/>
      <line num="511" type="stmt" count="8"/>
      <line num="512" type="stmt" count="8"/>
      <line num="514" type="stmt" count="1"/>
      <line num="515" type="stmt" count="1"/>
      <line num="516" type="stmt" count="1"/>
      <line num="517" type="stmt" count="1"/>
      <line num="518" type="stmt" count="1"/>
      <line num="519" type="stmt" count="1"/>
      <line num="520" type="stmt" count="1"/>
      <line num="521" type="stmt" count="1"/>
      <line num="523" type="stmt" count="1"/>
      <line num="526" type="stmt" count="8"/>
      <line num="530" type="method" name="getQueryInfoForCuChanges" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="531" type="stmt" count="7"/>
      <line num="532" type="stmt" count="7"/>
      <line num="533" type="stmt" count="7"/>
      <line num="534" type="stmt" count="7"/>
      <line num="535" type="stmt" count="7"/>
      <line num="536" type="stmt" count="7"/>
      <line num="537" type="stmt" count="7"/>
      <line num="538" type="stmt" count="7"/>
      <line num="539" type="stmt" count="7"/>
      <line num="540" type="stmt" count="7"/>
      <line num="541" type="stmt" count="7"/>
      <line num="542" type="stmt" count="7"/>
      <line num="543" type="stmt" count="7"/>
      <line num="544" type="stmt" count="7"/>
      <line num="545" type="stmt" count="7"/>
      <line num="546" type="stmt" count="7"/>
      <line num="547" type="stmt" count="7"/>
      <line num="548" type="stmt" count="7"/>
      <line num="549" type="stmt" count="7"/>
      <line num="550" type="stmt" count="7"/>
      <line num="551" type="stmt" count="7"/>
      <line num="552" type="stmt" count="7"/>
      <line num="556" type="method" name="getQueryInfoForCuLogEvent" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="557" type="stmt" count="6"/>
      <line num="558" type="stmt" count="6"/>
      <line num="559" type="stmt" count="6"/>
      <line num="560" type="stmt" count="6"/>
      <line num="561" type="stmt" count="6"/>
      <line num="562" type="stmt" count="6"/>
      <line num="563" type="stmt" count="6"/>
      <line num="564" type="stmt" count="6"/>
      <line num="565" type="stmt" count="6"/>
      <line num="566" type="stmt" count="6"/>
      <line num="567" type="stmt" count="6"/>
      <line num="568" type="stmt" count="6"/>
      <line num="569" type="stmt" count="6"/>
      <line num="570" type="stmt" count="6"/>
      <line num="571" type="stmt" count="6"/>
      <line num="572" type="stmt" count="6"/>
      <line num="573" type="stmt" count="6"/>
      <line num="574" type="stmt" count="6"/>
      <line num="575" type="stmt" count="6"/>
      <line num="576" type="stmt" count="6"/>
      <line num="577" type="stmt" count="6"/>
      <line num="578" type="stmt" count="6"/>
      <line num="582" type="method" name="getQueryInfoForCuPrivateEvent" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="583" type="stmt" count="6"/>
      <line num="584" type="stmt" count="6"/>
      <line num="585" type="stmt" count="6"/>
      <line num="586" type="stmt" count="6"/>
      <line num="587" type="stmt" count="6"/>
      <line num="588" type="stmt" count="6"/>
      <line num="589" type="stmt" count="6"/>
      <line num="590" type="stmt" count="6"/>
      <line num="591" type="stmt" count="6"/>
      <line num="592" type="stmt" count="6"/>
      <line num="593" type="stmt" count="6"/>
      <line num="594" type="stmt" count="6"/>
      <line num="595" type="stmt" count="6"/>
      <line num="596" type="stmt" count="6"/>
      <line num="597" type="stmt" count="6"/>
      <line num="598" type="stmt" count="6"/>
      <line num="599" type="stmt" count="6"/>
      <line num="600" type="stmt" count="6"/>
      <line num="601" type="stmt" count="6"/>
      <line num="602" type="stmt" count="6"/>
      <line num="603" type="stmt" count="6"/>
      <line num="604" type="stmt" count="6"/>
      <line num="608" type="method" name="getStartBody" visibility="protected" complexity="2" crap="2" count="7"/>
      <line num="609" type="stmt" count="7"/>
      <line num="610" type="stmt" count="7"/>
      <line num="611" type="stmt" count="7"/>
      <line num="612" type="stmt" count="1"/>
      <line num="615" type="stmt" count="7"/>
      <line num="617" type="stmt" count="7"/>
      <line num="618" type="stmt" count="7"/>
      <line num="619" type="stmt" count="7"/>
      <line num="620" type="stmt" count="7"/>
      <line num="621" type="stmt" count="7"/>
      <line num="622" type="stmt" count="7"/>
      <line num="623" type="stmt" count="7"/>
      <line num="625" type="stmt" count="7"/>
      <line num="627" type="stmt" count="7"/>
      <line num="640" type="method" name="canUserSeeGlobalBlockingSpecialPage" visibility="private" complexity="3" crap="4.12" count="9"/>
      <line num="641" type="stmt" count="9"/>
      <line num="644" type="stmt" count="9"/>
      <line num="645" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="655" type="stmt" count="9"/>
      <line num="665" type="method" name="shouldShowBlockFieldset" visibility="private" complexity="11" crap="11" count="25"/>
      <line num="667" type="stmt" count="25"/>
      <line num="668" type="stmt" count="11"/>
      <line num="672" type="stmt" count="25"/>
      <line num="673" type="stmt" count="9"/>
      <line num="677" type="stmt" count="16"/>
      <line num="680" type="stmt" count="16"/>
      <line num="681" type="stmt" count="16"/>
      <line num="682" type="stmt" count="9"/>
      <line num="684" type="stmt" count="1"/>
      <line num="687" type="stmt" count="8"/>
      <line num="689" type="stmt" count="8"/>
      <line num="690" type="stmt" count="4"/>
      <line num="691" type="stmt" count="4"/>
      <line num="694" type="stmt" count="4"/>
      <line num="695" type="stmt" count="4"/>
      <line num="696" type="stmt" count="4"/>
      <line num="698" type="stmt" count="4"/>
      <line num="700" type="stmt" count="4"/>
      <line num="701" type="stmt" count="4"/>
      <line num="703" type="stmt" count="4"/>
      <line num="708" type="stmt" count="15"/>
      <line num="709" type="stmt" count="8"/>
      <line num="710" type="stmt" count="8"/>
      <line num="713" type="stmt" count="8"/>
      <line num="714" type="stmt" count="8"/>
      <line num="716" type="stmt" count="8"/>
      <line num="717" type="stmt" count="4"/>
      <line num="719" type="stmt" count="4"/>
      <line num="721" type="stmt" count="4"/>
      <line num="722" type="stmt" count="4"/>
      <line num="723" type="stmt" count="4"/>
      <line num="725" type="stmt" count="4"/>
      <line num="730" type="stmt" count="15"/>
      <line num="731" type="stmt" count="6"/>
      <line num="732" type="stmt" count="6"/>
      <line num="735" type="stmt" count="15"/>
      <line num="739" type="method" name="getResultUsernameMap" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="740" type="stmt" count="4"/>
      <line num="741" type="stmt" count="4"/>
      <line num="742" type="stmt" count="3"/>
      <line num="743" type="stmt" count="3"/>
      <line num="747" type="stmt" count="4"/>
      <line num="751" type="method" name="getEndBody" visibility="protected" complexity="7" crap="7" count="14"/>
      <line num="752" type="stmt" count="14"/>
      <line num="753" type="stmt" count="14"/>
      <line num="754" type="stmt" count="7"/>
      <line num="756" type="stmt" count="13"/>
      <line num="757" type="stmt" count="13"/>
      <line num="758" type="stmt" count="7"/>
      <line num="759" type="stmt" count="7"/>
      <line num="760" type="stmt" count="7"/>
      <line num="764" type="stmt" count="4"/>
      <line num="765" type="stmt" count="4"/>
      <line num="767" type="stmt" count="4"/>
      <line num="768" type="stmt" count="4"/>
      <line num="769" type="stmt" count="4"/>
      <line num="770" type="stmt" count="4"/>
      <line num="771" type="stmt" count="4"/>
      <line num="772" type="stmt" count="4"/>
      <line num="773" type="stmt" count="4"/>
      <line num="774" type="stmt" count="4"/>
      <line num="775" type="stmt" count="4"/>
      <line num="776" type="stmt" count="4"/>
      <line num="777" type="stmt" count="4"/>
      <line num="778" type="stmt" count="4"/>
      <line num="779" type="stmt" count="4"/>
      <line num="780" type="stmt" count="4"/>
      <line num="782" type="stmt" count="3"/>
      <line num="783" type="stmt" count="3"/>
      <line num="784" type="stmt" count="3"/>
      <line num="787" type="stmt" count="7"/>
      <line num="791" type="stmt" count="4"/>
      <line num="792" type="stmt" count="4"/>
      <line num="794" type="stmt" count="4"/>
      <line num="795" type="stmt" count="4"/>
      <line num="796" type="stmt" count="4"/>
      <line num="797" type="stmt" count="4"/>
      <line num="798" type="stmt" count="4"/>
      <line num="799" type="stmt" count="4"/>
      <line num="800" type="stmt" count="4"/>
      <line num="801" type="stmt" count="4"/>
      <line num="802" type="stmt" count="4"/>
      <line num="803" type="stmt" count="4"/>
      <line num="804" type="stmt" count="4"/>
      <line num="805" type="stmt" count="4"/>
      <line num="806" type="stmt" count="4"/>
      <line num="807" type="stmt" count="4"/>
      <line num="810" type="stmt" count="7"/>
      <line num="811" type="stmt" count="7"/>
      <line num="812" type="stmt" count="7"/>
      <line num="813" type="stmt" count="7"/>
      <line num="816" type="stmt" count="13"/>
      <metrics loc="819" ncloc="686" classes="1" methods="14" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="437" coveredstatements="407" elements="451" coveredelements="418"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Pagers/CheckUserLogPager.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Pagers\CheckUserLogPager" namespace="global">
        <metrics complexity="39" methods="12" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="192" coveredstatements="167" elements="204" coveredelements="177"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="5" crap="5.27" count="9"/>
      <line num="47" type="stmt" count="9"/>
      <line num="50" type="stmt" count="9"/>
      <line num="51" type="stmt" count="9"/>
      <line num="52" type="stmt" count="9"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="9"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="9"/>
      <line num="62" type="stmt" count="9"/>
      <line num="73" type="method" name="generateTimestampLink" visibility="protected" complexity="5" crap="5" count="8"/>
      <line num="74" type="stmt" count="8"/>
      <line num="76" type="stmt" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="80" type="stmt" count="1"/>
      <line num="86" type="stmt" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="7"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="111" type="stmt" count="7"/>
      <line num="118" type="method" name="formatRow" visibility="public" complexity="8" crap="9.07" count="8"/>
      <line num="119" type="stmt" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="121" type="stmt" count="8"/>
      <line num="122" type="stmt" count="8"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="8"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="8"/>
      <line num="139" type="stmt" count="8"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="148" type="stmt" count="8"/>
      <line num="149" type="stmt" count="8"/>
      <line num="150" type="stmt" count="8"/>
      <line num="151" type="stmt" count="8"/>
      <line num="152" type="stmt" count="8"/>
      <line num="153" type="stmt" count="8"/>
      <line num="154" type="stmt" count="8"/>
      <line num="155" type="stmt" count="8"/>
      <line num="156" type="stmt" count="8"/>
      <line num="157" type="stmt" count="8"/>
      <line num="158" type="stmt" count="8"/>
      <line num="159" type="stmt" count="8"/>
      <line num="160" type="stmt" count="8"/>
      <line num="163" type="stmt" count="8"/>
      <line num="166" type="stmt" count="8"/>
      <line num="167" type="stmt" count="8"/>
      <line num="168" type="stmt" count="8"/>
      <line num="169" type="stmt" count="8"/>
      <line num="172" 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="181" type="stmt" count="8"/>
      <line num="182" type="stmt" count="8"/>
      <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="189" type="stmt" count="0"/>
      <line num="191" type="stmt" count="8"/>
      <line num="194" type="stmt" count="8"/>
      <line num="197" type="stmt" count="8"/>
      <line num="198" type="stmt" count="8"/>
      <line num="207" type="stmt" count="8"/>
      <line num="208" type="stmt" count="8"/>
      <line num="209" type="stmt" count="8"/>
      <line num="210" type="stmt" count="8"/>
      <line num="211" type="stmt" count="8"/>
      <line num="212" type="stmt" count="8"/>
      <line num="213" type="stmt" count="8"/>
      <line num="214" type="stmt" count="8"/>
      <line num="215" type="stmt" count="8"/>
      <line num="216" type="stmt" count="8"/>
      <line num="217" type="stmt" count="8"/>
      <line num="218" type="stmt" count="8"/>
      <line num="219" type="stmt" count="8"/>
      <line num="220" type="stmt" count="8"/>
      <line num="221" type="stmt" count="8"/>
      <line num="222" type="stmt" count="8"/>
      <line num="223" type="stmt" count="8"/>
      <line num="224" type="stmt" count="8"/>
      <line num="225" type="stmt" count="8"/>
      <line num="226" type="stmt" count="8"/>
      <line num="227" type="stmt" count="8"/>
      <line num="228" type="stmt" count="8"/>
      <line num="229" type="stmt" count="8"/>
      <line num="230" type="stmt" count="8"/>
      <line num="231" type="stmt" count="8"/>
      <line num="232" type="stmt" count="8"/>
      <line num="233" type="stmt" count="8"/>
      <line num="234" type="stmt" count="8"/>
      <line num="235" type="stmt" count="8"/>
      <line num="236" type="stmt" count="8"/>
      <line num="237" type="stmt" count="8"/>
      <line num="238" type="stmt" count="8"/>
      <line num="240" type="stmt" count="8"/>
      <line num="241" type="stmt" count="8"/>
      <line num="242" type="stmt" count="8"/>
      <line num="243" type="stmt" count="8"/>
      <line num="249" type="method" name="getStartBody" visibility="public" complexity="2" crap="2" count="9"/>
      <line num="250" type="stmt" count="9"/>
      <line num="251" type="stmt" count="8"/>
      <line num="254" type="stmt" count="1"/>
      <line num="260" type="method" name="getEndBody" visibility="public" complexity="2" crap="2" count="9"/>
      <line num="261" type="stmt" count="9"/>
      <line num="262" type="stmt" count="8"/>
      <line num="265" type="stmt" count="1"/>
      <line num="271" type="method" name="getEmptyBody" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="276" type="method" name="getQueryInfo" visibility="public" complexity="5" crap="5" count="12"/>
      <line num="277" type="stmt" count="12"/>
      <line num="278" type="stmt" count="12"/>
      <line num="279" type="stmt" count="12"/>
      <line num="280" type="stmt" count="12"/>
      <line num="281" type="stmt" count="12"/>
      <line num="282" type="stmt" count="12"/>
      <line num="283" type="stmt" count="12"/>
      <line num="285" type="stmt" count="12"/>
      <line num="286" type="stmt" count="12"/>
      <line num="287" type="stmt" count="12"/>
      <line num="288" type="stmt" count="12"/>
      <line num="290" type="stmt" count="12"/>
      <line num="291" type="stmt" count="5"/>
      <line num="292" type="stmt" count="5"/>
      <line num="293" type="stmt" count="5"/>
      <line num="294" type="stmt" count="5"/>
      <line num="295" type="stmt" count="5"/>
      <line num="298" type="stmt" count="3"/>
      <line num="302" type="stmt" count="12"/>
      <line num="303" type="stmt" count="1"/>
      <line num="304" type="stmt" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="306" type="stmt" count="1"/>
      <line num="309" type="stmt" count="12"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="317" type="stmt" count="12"/>
      <line num="323" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="324" type="stmt" count="9"/>
      <line num="332" type="method" name="selectFields" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="333" type="stmt" count="12"/>
      <line num="334" type="stmt" count="12"/>
      <line num="335" type="stmt" count="12"/>
      <line num="336" type="stmt" count="12"/>
      <line num="344" type="method" name="preprocessResults" visibility="protected" complexity="5" crap="5" count="9"/>
      <line num="345" type="stmt" count="9"/>
      <line num="346" type="stmt" count="1"/>
      <line num="349" type="stmt" count="8"/>
      <line num="350" type="stmt" count="8"/>
      <line num="351" type="stmt" count="8"/>
      <line num="353" type="stmt" count="8"/>
      <line num="355" type="stmt" count="8"/>
      <line num="356" type="stmt" count="7"/>
      <line num="357" type="stmt" count="7"/>
      <line num="360" type="stmt" count="8"/>
      <line num="361" type="stmt" count="8"/>
      <line num="370" type="method" name="getPerformerSearchConds" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="371" type="stmt" count="5"/>
      <line num="372" type="stmt" count="5"/>
      <line num="373" type="stmt" count="3"/>
      <line num="375" type="stmt" count="2"/>
      <line num="384" type="method" name="getQueryInfoForReasonSearch" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="385" type="stmt" count="3"/>
      <line num="386" type="stmt" count="3"/>
      <line num="388" type="stmt" count="3"/>
      <line num="389" type="stmt" count="1"/>
      <line num="392" type="stmt" count="2"/>
      <line num="393" type="stmt" count="2"/>
      <line num="394" type="stmt" count="2"/>
      <line num="395" type="stmt" count="2"/>
      <line num="397" type="stmt" count="2"/>
      <line num="399" type="stmt" count="2"/>
      <metrics loc="402" ncloc="311" classes="1" methods="12" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="192" coveredstatements="167" elements="204" coveredelements="177"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Pagers/CheckUsernameResultInterface.php">
      <metrics loc="18" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/SpecialCheckUser.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\SpecialCheckUser" namespace="global">
        <metrics complexity="59" methods="10" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="333" coveredstatements="308" elements="343" coveredelements="315"/>
      </class>
      <line num="69" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="33"/>
      <line num="96" type="stmt" count="33"/>
      <line num="98" type="stmt" count="33"/>
      <line num="102" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="103" type="stmt" count="21"/>
      <line num="107" type="method" name="doesWrites" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="113" type="method" name="execute" visibility="public" complexity="41" crap="44.34" count="16"/>
      <line num="114" type="stmt" count="16"/>
      <line num="115" type="stmt" count="16"/>
      <line num="116" type="stmt" count="16"/>
      <line num="118" type="stmt" count="15"/>
      <line num="121" type="stmt" count="15"/>
      <line num="122" type="stmt" count="15"/>
      <line num="123" type="stmt" count="0"/>
      <line num="126" type="stmt" count="15"/>
      <line num="128" type="stmt" count="15"/>
      <line num="129" type="stmt" count="15"/>
      <line num="130" type="stmt" count="15"/>
      <line num="131" type="stmt" count="15"/>
      <line num="132" type="stmt" count="15"/>
      <line num="133" type="stmt" count="15"/>
      <line num="134" type="stmt" count="15"/>
      <line num="135" type="stmt" count="15"/>
      <line num="136" type="stmt" count="15"/>
      <line num="137" type="stmt" count="15"/>
      <line num="139" type="stmt" count="15"/>
      <line num="144" type="stmt" count="15"/>
      <line num="145" type="stmt" count="15"/>
      <line num="146" type="stmt" count="15"/>
      <line num="147" type="stmt" count="15"/>
      <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="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="166" type="stmt" count="15"/>
      <line num="167" type="stmt" count="15"/>
      <line num="168" type="stmt" count="15"/>
      <line num="170" type="stmt" count="15"/>
      <line num="171" type="stmt" count="15"/>
      <line num="175" type="stmt" count="15"/>
      <line num="176" type="stmt" count="15"/>
      <line num="178" type="stmt" count="15"/>
      <line num="179" type="stmt" count="15"/>
      <line num="180" type="stmt" count="15"/>
      <line num="181" type="stmt" count="15"/>
      <line num="182" type="stmt" count="15"/>
      <line num="183" type="stmt" count="15"/>
      <line num="184" type="stmt" count="15"/>
      <line num="185" type="stmt" count="15"/>
      <line num="186" type="stmt" count="15"/>
      <line num="187" type="stmt" count="15"/>
      <line num="188" type="stmt" count="15"/>
      <line num="189" type="stmt" count="15"/>
      <line num="190" type="stmt" count="10"/>
      <line num="192" type="stmt" count="15"/>
      <line num="193" type="stmt" count="15"/>
      <line num="194" type="stmt" count="15"/>
      <line num="195" type="stmt" count="15"/>
      <line num="196" type="stmt" count="15"/>
      <line num="197" type="stmt" count="15"/>
      <line num="198" type="stmt" count="15"/>
      <line num="199" type="stmt" count="15"/>
      <line num="200" type="stmt" count="15"/>
      <line num="201" type="stmt" count="15"/>
      <line num="202" type="stmt" count="15"/>
      <line num="203" type="stmt" count="15"/>
      <line num="204" type="stmt" count="15"/>
      <line num="205" type="stmt" count="15"/>
      <line num="206" type="stmt" count="15"/>
      <line num="207" type="stmt" count="15"/>
      <line num="208" type="stmt" count="15"/>
      <line num="209" type="stmt" count="15"/>
      <line num="210" type="stmt" count="15"/>
      <line num="211" type="stmt" count="15"/>
      <line num="212" type="stmt" count="10"/>
      <line num="213" type="stmt" count="10"/>
      <line num="214" type="stmt" count="10"/>
      <line num="215" type="stmt" count="10"/>
      <line num="216" type="stmt" count="10"/>
      <line num="217" type="stmt" count="10"/>
      <line num="218" type="stmt" count="10"/>
      <line num="219" type="stmt" count="10"/>
      <line num="223" type="stmt" count="15"/>
      <line num="224" type="stmt" count="15"/>
      <line num="226" type="stmt" count="5"/>
      <line num="227" type="stmt" count="5"/>
      <line num="228" type="stmt" count="5"/>
      <line num="229" type="stmt" count="5"/>
      <line num="230" type="stmt" count="5"/>
      <line num="231" type="stmt" count="5"/>
      <line num="232" type="stmt" count="5"/>
      <line num="233" type="stmt" count="5"/>
      <line num="236" type="stmt" count="15"/>
      <line num="237" type="stmt" count="15"/>
      <line num="238" type="stmt" count="15"/>
      <line num="240" type="stmt" count="15"/>
      <line num="241" type="stmt" count="15"/>
      <line num="242" type="stmt" count="15"/>
      <line num="243" type="stmt" count="15"/>
      <line num="244" type="stmt" count="15"/>
      <line num="246" type="stmt" count="15"/>
      <line num="247" type="stmt" count="15"/>
      <line num="248" type="stmt" count="15"/>
      <line num="249" type="stmt" count="15"/>
      <line num="250" type="stmt" count="15"/>
      <line num="252" type="stmt" count="7"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="8"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="261" type="stmt" count="8"/>
      <line num="262" type="stmt" count="3"/>
      <line num="266" type="stmt" count="15"/>
      <line num="267" type="stmt" count="15"/>
      <line num="270" type="stmt" count="15"/>
      <line num="271" type="stmt" count="10"/>
      <line num="272" type="stmt" count="10"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="10"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="10"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="0"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="285" type="stmt" count="9"/>
      <line num="286" type="stmt" count="5"/>
      <line num="288" type="stmt" count="3"/>
      <line num="289" type="stmt" count="0"/>
      <line num="291" type="stmt" count="3"/>
      <line num="294" type="stmt" count="3"/>
      <line num="295" type="stmt" count="3"/>
      <line num="296" type="stmt" count="3"/>
      <line num="297" type="stmt" count="3"/>
      <line num="298" type="stmt" count="3"/>
      <line num="299" type="stmt" count="3"/>
      <line num="300" type="stmt" count="3"/>
      <line num="301" type="stmt" count="3"/>
      <line num="302" type="stmt" count="3"/>
      <line num="306" type="stmt" count="2"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="2"/>
      <line num="309" type="stmt" count="0"/>
      <line num="313" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="316" type="stmt" count="2"/>
      <line num="319" type="stmt" count="4"/>
      <line num="320" type="stmt" count="4"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="4"/>
      <line num="323" type="stmt" count="0"/>
      <line num="325" type="stmt" count="4"/>
      <line num="327" type="stmt" count="4"/>
      <line num="328" type="stmt" count="4"/>
      <line num="329" type="stmt" count="4"/>
      <line num="330" type="stmt" count="4"/>
      <line num="331" type="stmt" count="4"/>
      <line num="332" type="stmt" count="4"/>
      <line num="333" type="stmt" count="4"/>
      <line num="334" type="stmt" count="4"/>
      <line num="335" type="stmt" count="4"/>
      <line num="340" type="stmt" count="15"/>
      <line num="341" type="stmt" count="15"/>
      <line num="342" type="stmt" count="15"/>
      <line num="343" type="stmt" count="15"/>
      <line num="344" type="stmt" count="15"/>
      <line num="345" type="stmt" count="15"/>
      <line num="348" type="method" name="showIntroductoryText" visibility="protected" complexity="1" crap="1" count="15"/>
      <line num="349" type="stmt" count="15"/>
      <line num="350" type="stmt" count="15"/>
      <line num="351" type="stmt" count="15"/>
      <line num="352" type="stmt" count="15"/>
      <line num="353" type="stmt" count="15"/>
      <line num="354" type="stmt" count="15"/>
      <line num="355" type="stmt" count="15"/>
      <line num="356" type="stmt" count="15"/>
      <line num="357" type="stmt" count="15"/>
      <line num="366" type="method" name="showForm" visibility="protected" complexity="7" crap="7" count="15"/>
      <line num="368" type="stmt" count="15"/>
      <line num="369" type="stmt" count="15"/>
      <line num="370" type="stmt" count="15"/>
      <line num="371" type="stmt" count="4"/>
      <line num="372" type="stmt" count="4"/>
      <line num="373" type="stmt" count="11"/>
      <line num="374" type="stmt" count="1"/>
      <line num="375" type="stmt" count="10"/>
      <line num="376" type="stmt" count="5"/>
      <line num="378" type="stmt" count="5"/>
      <line num="379" type="stmt" count="0"/>
      <line num="381" type="stmt" count="5"/>
      <line num="382" type="stmt" count="5"/>
      <line num="385" type="stmt" count="15"/>
      <line num="386" type="stmt" count="15"/>
      <line num="387" type="stmt" count="15"/>
      <line num="389" type="stmt" count="15"/>
      <line num="390" type="stmt" count="15"/>
      <line num="391" type="stmt" count="15"/>
      <line num="392" type="stmt" count="15"/>
      <line num="393" type="stmt" count="15"/>
      <line num="394" type="stmt" count="15"/>
      <line num="395" type="stmt" count="15"/>
      <line num="396" type="stmt" count="15"/>
      <line num="397" type="stmt" count="15"/>
      <line num="398" type="stmt" count="15"/>
      <line num="399" type="stmt" count="15"/>
      <line num="400" type="stmt" count="15"/>
      <line num="401" type="stmt" count="15"/>
      <line num="402" type="stmt" count="15"/>
      <line num="403" type="stmt" count="15"/>
      <line num="404" type="stmt" count="15"/>
      <line num="405" type="stmt" count="15"/>
      <line num="406" type="stmt" count="15"/>
      <line num="407" type="stmt" count="15"/>
      <line num="408" type="stmt" count="15"/>
      <line num="409" type="stmt" count="15"/>
      <line num="410" type="stmt" count="15"/>
      <line num="411" type="stmt" count="15"/>
      <line num="412" type="stmt" count="15"/>
      <line num="413" type="stmt" count="15"/>
      <line num="414" type="stmt" count="15"/>
      <line num="415" type="stmt" count="15"/>
      <line num="416" type="stmt" count="15"/>
      <line num="417" type="stmt" count="15"/>
      <line num="418" type="stmt" count="15"/>
      <line num="419" type="stmt" count="15"/>
      <line num="420" type="stmt" count="15"/>
      <line num="421" type="stmt" count="15"/>
      <line num="422" type="stmt" count="15"/>
      <line num="423" type="stmt" count="15"/>
      <line num="424" type="stmt" count="15"/>
      <line num="425" type="stmt" count="15"/>
      <line num="426" type="stmt" count="15"/>
      <line num="427" type="stmt" count="15"/>
      <line num="428" type="stmt" count="15"/>
      <line num="429" type="stmt" count="15"/>
      <line num="430" type="stmt" count="15"/>
      <line num="431" type="stmt" count="15"/>
      <line num="432" type="stmt" count="15"/>
      <line num="435" type="stmt" count="15"/>
      <line num="436" type="stmt" count="15"/>
      <line num="437" type="stmt" count="15"/>
      <line num="438" type="stmt" count="15"/>
      <line num="439" type="stmt" count="15"/>
      <line num="441" type="stmt" count="15"/>
      <line num="442" type="stmt" count="15"/>
      <line num="443" type="stmt" count="15"/>
      <line num="444" type="stmt" count="15"/>
      <line num="445" type="stmt" count="15"/>
      <line num="446" type="stmt" count="15"/>
      <line num="447" type="stmt" count="15"/>
      <line num="448" type="stmt" count="15"/>
      <line num="449" type="stmt" count="15"/>
      <line num="455" type="method" name="addJsCIDRForm" visibility="protected" complexity="1" crap="1" count="15"/>
      <line num="456" type="stmt" count="15"/>
      <line num="457" type="stmt" count="15"/>
      <line num="460" type="method" name="checkReason" visibility="protected" complexity="2" crap="2" count="14"/>
      <line num="461" type="stmt" count="14"/>
      <line num="462" type="stmt" count="14"/>
      <line num="475" type="method" name="getPager" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="476" type="stmt" count="17"/>
      <line num="477" type="stmt" count="17"/>
      <line num="478" type="stmt" count="17"/>
      <line num="479" type="stmt" count="17"/>
      <line num="480" type="stmt" count="17"/>
      <line num="481" type="stmt" count="17"/>
      <line num="482" type="stmt" count="17"/>
      <line num="483" type="stmt" count="17"/>
      <line num="484" type="stmt" count="17"/>
      <line num="485" type="stmt" count="17"/>
      <line num="486" type="stmt" count="17"/>
      <line num="487" type="stmt" count="17"/>
      <line num="488" type="stmt" count="17"/>
      <line num="489" type="stmt" count="17"/>
      <line num="490" type="stmt" count="17"/>
      <line num="491" type="stmt" count="17"/>
      <line num="492" type="stmt" count="17"/>
      <line num="493" type="stmt" count="17"/>
      <line num="494" type="stmt" count="17"/>
      <line num="495" type="stmt" count="17"/>
      <line num="496" type="stmt" count="17"/>
      <line num="497" type="stmt" count="17"/>
      <line num="498" type="stmt" count="17"/>
      <line num="499" type="stmt" count="17"/>
      <line num="500" type="stmt" count="17"/>
      <line num="501" type="stmt" count="17"/>
      <line num="502" type="stmt" count="17"/>
      <line num="503" type="stmt" count="17"/>
      <line num="504" type="stmt" count="17"/>
      <line num="505" type="stmt" count="17"/>
      <line num="506" type="stmt" count="17"/>
      <line num="507" type="stmt" count="17"/>
      <line num="508" type="stmt" count="17"/>
      <line num="509" type="stmt" count="17"/>
      <line num="510" type="stmt" count="17"/>
      <line num="511" type="stmt" count="17"/>
      <line num="512" type="stmt" count="17"/>
      <line num="513" type="stmt" count="17"/>
      <line num="514" type="stmt" count="17"/>
      <line num="515" type="stmt" count="17"/>
      <line num="516" type="stmt" count="17"/>
      <line num="517" type="stmt" count="17"/>
      <line num="518" type="stmt" count="17"/>
      <line num="519" type="stmt" count="17"/>
      <line num="520" type="stmt" count="17"/>
      <line num="521" type="stmt" count="17"/>
      <line num="522" type="stmt" count="17"/>
      <line num="523" type="stmt" count="17"/>
      <line num="524" type="stmt" count="17"/>
      <line num="525" type="stmt" count="17"/>
      <line num="526" type="stmt" count="17"/>
      <line num="527" type="stmt" count="17"/>
      <line num="528" type="stmt" count="17"/>
      <line num="529" type="stmt" count="17"/>
      <line num="530" type="stmt" count="17"/>
      <line num="531" type="stmt" count="17"/>
      <line num="532" type="stmt" count="17"/>
      <line num="533" type="stmt" count="17"/>
      <line num="534" type="stmt" count="17"/>
      <line num="535" type="stmt" count="17"/>
      <line num="536" type="stmt" count="17"/>
      <line num="537" type="stmt" count="17"/>
      <line num="538" type="stmt" count="17"/>
      <line num="539" type="stmt" count="17"/>
      <line num="540" type="stmt" count="17"/>
      <line num="541" type="stmt" count="17"/>
      <line num="542" type="stmt" count="17"/>
      <line num="543" type="stmt" count="17"/>
      <line num="544" type="stmt" count="17"/>
      <line num="545" type="stmt" count="17"/>
      <line num="546" type="stmt" count="17"/>
      <line num="547" type="stmt" count="17"/>
      <line num="558" type="method" name="prefixSearchSubpages" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <metrics loc="575" ncloc="505" classes="1" methods="10" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="333" coveredstatements="308" elements="343" coveredelements="315"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/SpecialCheckUserLog.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\SpecialCheckUserLog" namespace="global">
        <metrics complexity="23" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="146" elements="152" coveredelements="152"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="42" type="stmt" count="18"/>
      <line num="43" type="stmt" count="18"/>
      <line num="47" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="48" type="stmt" count="18"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="12" crap="12" count="13"/>
      <line num="55" type="stmt" count="13"/>
      <line num="56" type="stmt" count="13"/>
      <line num="57" type="stmt" count="13"/>
      <line num="60" type="stmt" count="12"/>
      <line num="61" type="stmt" count="12"/>
      <line num="62" type="stmt" count="1"/>
      <line num="65" type="stmt" count="11"/>
      <line num="66" type="stmt" count="11"/>
      <line num="67" type="stmt" count="11"/>
      <line num="68" type="stmt" count="11"/>
      <line num="69" type="stmt" count="11"/>
      <line num="70" type="stmt" count="11"/>
      <line num="71" type="stmt" count="11"/>
      <line num="73" type="stmt" count="11"/>
      <line num="78" type="stmt" count="11"/>
      <line num="79" type="stmt" count="11"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="84" type="stmt" count="11"/>
      <line num="86" type="stmt" count="11"/>
      <line num="89" type="stmt" count="11"/>
      <line num="91" type="stmt" count="11"/>
      <line num="92" type="stmt" count="11"/>
      <line num="93" type="stmt" count="11"/>
      <line num="95" type="stmt" count="11"/>
      <line num="96" type="stmt" count="11"/>
      <line num="99" type="stmt" count="11"/>
      <line num="101" type="stmt" count="11"/>
      <line num="103" type="stmt" count="11"/>
      <line num="105" type="stmt" count="11"/>
      <line num="108" type="stmt" count="11"/>
      <line num="109" type="stmt" count="11"/>
      <line num="111" type="stmt" count="1"/>
      <line num="113" type="stmt" count="11"/>
      <line num="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="11"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="124" type="stmt" count="2"/>
      <line num="127" type="stmt" count="9"/>
      <line num="128" type="stmt" count="9"/>
      <line num="129" type="stmt" count="9"/>
      <line num="130" type="stmt" count="9"/>
      <line num="131" type="stmt" count="9"/>
      <line num="132" type="stmt" count="9"/>
      <line num="133" type="stmt" count="9"/>
      <line num="134" type="stmt" count="9"/>
      <line num="135" type="stmt" count="9"/>
      <line num="136" type="stmt" count="9"/>
      <line num="138" type="stmt" count="9"/>
      <line num="139" type="stmt" count="9"/>
      <line num="140" type="stmt" count="9"/>
      <line num="141" type="stmt" count="9"/>
      <line num="142" type="stmt" count="9"/>
      <line num="148" type="method" name="addSubtitle" visibility="private" complexity="6" crap="6" count="11"/>
      <line num="149" type="stmt" count="11"/>
      <line num="150" type="stmt" count="11"/>
      <line num="151" type="stmt" count="11"/>
      <line num="152" type="stmt" count="11"/>
      <line num="153" type="stmt" count="11"/>
      <line num="154" type="stmt" count="11"/>
      <line num="155" type="stmt" count="11"/>
      <line num="156" type="stmt" count="11"/>
      <line num="157" type="stmt" count="11"/>
      <line num="158" type="stmt" count="11"/>
      <line num="159" type="stmt" count="11"/>
      <line num="161" type="stmt" count="11"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <line num="172" type="stmt" count="3"/>
      <line num="176" type="stmt" count="11"/>
      <line num="177" type="stmt" count="11"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="185" type="stmt" count="11"/>
      <line num="186" type="stmt" count="11"/>
      <line num="187" type="stmt" count="11"/>
      <line num="189" type="stmt" count="11"/>
      <line num="190" type="stmt" count="11"/>
      <line num="191" type="stmt" count="11"/>
      <line num="192" type="stmt" count="11"/>
      <line num="193" type="stmt" count="11"/>
      <line num="200" type="method" name="displaySearchForm" visibility="protected" complexity="1" crap="1" count="11"/>
      <line num="201" type="stmt" count="11"/>
      <line num="202" type="stmt" count="11"/>
      <line num="203" type="stmt" count="11"/>
      <line num="205" type="stmt" count="11"/>
      <line num="206" type="stmt" count="11"/>
      <line num="207" type="stmt" count="11"/>
      <line num="208" type="stmt" count="11"/>
      <line num="209" type="stmt" count="11"/>
      <line num="210" type="stmt" count="11"/>
      <line num="211" type="stmt" count="11"/>
      <line num="212" type="stmt" count="11"/>
      <line num="213" type="stmt" count="11"/>
      <line num="214" type="stmt" count="11"/>
      <line num="216" type="stmt" count="11"/>
      <line num="217" type="stmt" count="11"/>
      <line num="218" type="stmt" count="11"/>
      <line num="219" type="stmt" count="11"/>
      <line num="220" type="stmt" count="11"/>
      <line num="221" type="stmt" count="11"/>
      <line num="222" type="stmt" count="11"/>
      <line num="223" type="stmt" count="11"/>
      <line num="224" type="stmt" count="11"/>
      <line num="225" type="stmt" count="11"/>
      <line num="226" type="stmt" count="11"/>
      <line num="227" type="stmt" count="11"/>
      <line num="228" type="stmt" count="11"/>
      <line num="229" type="stmt" count="11"/>
      <line num="230" type="stmt" count="11"/>
      <line num="231" type="stmt" count="11"/>
      <line num="232" type="stmt" count="11"/>
      <line num="233" type="stmt" count="11"/>
      <line num="234" type="stmt" count="11"/>
      <line num="235" type="stmt" count="11"/>
      <line num="236" type="stmt" count="11"/>
      <line num="237" type="stmt" count="11"/>
      <line num="238" type="stmt" count="11"/>
      <line num="239" type="stmt" count="11"/>
      <line num="240" type="stmt" count="11"/>
      <line num="241" type="stmt" count="11"/>
      <line num="242" type="stmt" count="11"/>
      <line num="243" type="stmt" count="11"/>
      <line num="244" type="stmt" count="11"/>
      <line num="245" type="stmt" count="11"/>
      <line num="247" type="stmt" count="11"/>
      <line num="248" type="stmt" count="11"/>
      <line num="249" type="stmt" count="11"/>
      <line num="250" type="stmt" count="11"/>
      <line num="251" type="stmt" count="11"/>
      <line num="252" type="stmt" count="11"/>
      <line num="265" type="method" name="verifyInitiator" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="266" type="stmt" count="2"/>
      <metrics loc="277" ncloc="241" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="146" elements="152" coveredelements="152"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Widgets/CIDRCalculator.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Widgets\CIDRCalculator" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="64" elements="67" coveredelements="67"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" 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="56" type="method" name="getHtml" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="91" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <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="123" type="method" name="__toString" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <metrics loc="127" ncloc="112" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="64" elements="67" coveredelements="67"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Widgets/CIDRCalculatorResultBox.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Widgets\CIDRCalculatorResultBox" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="5" coveredelements="5"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="15" type="stmt" count="3"/>
      <line num="16" type="stmt" count="3"/>
      <line num="26" type="method" name="setReadOnly" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <metrics loc="31" ncloc="20" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="5" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUser/Widgets/HTMLFieldsetCheckUser.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUser\Widgets\HTMLFieldsetCheckUser" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="20" coveredelements="20"/>
      </class>
      <line num="26" type="method" name="wrapForm" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="28" type="stmt" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="39" type="stmt" count="1"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <metrics loc="52" ncloc="44" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="20" coveredelements="20"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUserPermissionStatus.php">
      <class name="MediaWiki\Extension\CheckUser\CheckUserPermissionStatus" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="16" coveredelements="16"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="41" type="method" name="newBlockedError" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="54" type="method" name="newPermissionError" visibility="public" complexity="1" crap="1" 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="66" type="method" name="getBlock" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="74" type="method" name="getPermission" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <metrics loc="85" ncloc="44" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="16" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/CheckUserQueryInterface.php">
      <metrics loc="49" ncloc="33" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ClientHints/ClientHintsBatchFormatterResults.php">
      <class name="MediaWiki\Extension\CheckUser\ClientHints\ClientHintsBatchFormatterResults" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="25" type="stmt" count="9"/>
      <line num="35" type="method" name="getStringForReferenceId" visibility="public" complexity="5" crap="5" count="8"/>
      <line num="38" type="stmt" count="8"/>
      <line num="39" type="stmt" count="2"/>
      <line num="45" type="stmt" count="6"/>
      <line num="46" type="stmt" count="6"/>
      <line num="47" type="stmt" count="6"/>
      <line num="48" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="52" type="stmt" count="4"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <metrics loc="60" ncloc="36" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ClientHints/ClientHintsData.php">
      <class name="MediaWiki\Extension\CheckUser\ClientHints\ClientHintsData" namespace="global">
        <metrics complexity="57" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="196" coveredstatements="194" elements="204" coveredelements="201"/>
      </class>
      <line num="51" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="66" type="stmt" count="28"/>
      <line num="72" type="method" name="newFromSerialisedJsonArray" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="77" type="stmt" count="4"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="105" type="method" name="newFromJsApi" visibility="public" complexity="11" crap="11" count="20"/>
      <line num="110" type="stmt" count="20"/>
      <line num="112" type="stmt" count="20"/>
      <line num="113" type="stmt" count="20"/>
      <line num="114" type="stmt" count="20"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="2"/>
      <line num="120" type="stmt" count="3"/>
      <line num="123" type="stmt" count="20"/>
      <line num="124" type="stmt" count="20"/>
      <line num="125" type="stmt" count="14"/>
      <line num="126" type="stmt" count="1"/>
      <line num="130" type="stmt" count="19"/>
      <line num="131" type="stmt" count="19"/>
      <line num="132" type="stmt" count="19"/>
      <line num="133" type="stmt" count="19"/>
      <line num="134" type="stmt" count="19"/>
      <line num="135" type="stmt" count="19"/>
      <line num="136" type="stmt" count="19"/>
      <line num="137" type="stmt" count="19"/>
      <line num="138" type="stmt" count="19"/>
      <line num="139" type="stmt" count="19"/>
      <line num="140" type="stmt" count="19"/>
      <line num="141" type="stmt" count="19"/>
      <line num="142" type="stmt" count="19"/>
      <line num="143" type="stmt" count="19"/>
      <line num="144" type="stmt" count="19"/>
      <line num="152" type="method" name="newFromRequestField" visibility="public" complexity="5" crap="5" count="8"/>
      <line num="153" type="stmt" count="8"/>
      <line num="154" type="stmt" count="8"/>
      <line num="155" type="stmt" count="2"/>
      <line num="158" type="stmt" count="6"/>
      <line num="159" type="stmt" count="6"/>
      <line num="160" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="178" type="method" name="newFromRequestHeaders" visibility="public" complexity="14" crap="14" count="10"/>
      <line num="179" type="stmt" count="10"/>
      <line num="181" type="stmt" count="10"/>
      <line num="182" type="stmt" count="10"/>
      <line num="183" type="stmt" count="6"/>
      <line num="184" type="stmt" count="6"/>
      <line num="185" type="stmt" count="6"/>
      <line num="186" type="stmt" count="6"/>
      <line num="189" type="stmt" count="10"/>
      <line num="190" type="stmt" count="10"/>
      <line num="191" type="stmt" count="10"/>
      <line num="192" type="stmt" count="3"/>
      <line num="194" type="stmt" count="10"/>
      <line num="197" type="stmt" count="2"/>
      <line num="198" type="stmt" count="10"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="10"/>
      <line num="206" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="208" type="stmt" count="4"/>
      <line num="209" type="stmt" count="4"/>
      <line num="210" type="stmt" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="213" type="stmt" count="3"/>
      <line num="214" type="stmt" count="3"/>
      <line num="215" type="stmt" count="3"/>
      <line num="219" type="stmt" count="1"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="10"/>
      <line num="225" type="stmt" count="7"/>
      <line num="226" type="stmt" count="7"/>
      <line num="227" type="stmt" count="7"/>
      <line num="228" type="stmt" count="7"/>
      <line num="229" type="stmt" count="7"/>
      <line num="230" type="stmt" count="7"/>
      <line num="231" type="stmt" count="7"/>
      <line num="232" type="stmt" count="5"/>
      <line num="234" type="stmt" count="3"/>
      <line num="237" type="stmt" count="10"/>
      <line num="238" type="stmt" count="3"/>
      <line num="241" type="stmt" count="10"/>
      <line num="243" type="stmt" count="9"/>
      <line num="244" type="stmt" count="9"/>
      <line num="245" type="stmt" count="9"/>
      <line num="246" type="stmt" count="9"/>
      <line num="247" type="stmt" count="9"/>
      <line num="248" type="stmt" count="9"/>
      <line num="249" type="stmt" count="9"/>
      <line num="250" type="stmt" count="9"/>
      <line num="251" type="stmt" count="9"/>
      <line num="252" type="stmt" count="9"/>
      <line num="253" type="stmt" count="9"/>
      <line num="254" type="stmt" count="9"/>
      <line num="255" type="stmt" count="9"/>
      <line num="256" type="stmt" count="9"/>
      <line num="257" type="stmt" count="9"/>
      <line num="266" type="method" name="newFromDatabaseRows" visibility="public" complexity="9" crap="9.01" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="5"/>
      <line num="272" type="stmt" count="3"/>
      <line num="273" type="stmt" count="3"/>
      <line num="275" type="stmt" count="3"/>
      <line num="276" type="stmt" count="2"/>
      <line num="279" type="stmt" count="2"/>
      <line num="280" type="stmt" count="2"/>
      <line num="285" type="stmt" count="2"/>
      <line num="286" type="stmt" count="2"/>
      <line num="287" type="stmt" count="2"/>
      <line num="288" type="stmt" count="2"/>
      <line num="289" type="stmt" count="2"/>
      <line num="290" type="stmt" count="2"/>
      <line num="291" type="stmt" count="2"/>
      <line num="292" type="stmt" count="2"/>
      <line num="295" type="stmt" count="0"/>
      <line num="298" type="stmt" count="2"/>
      <line num="301" type="stmt" count="2"/>
      <line num="302" type="stmt" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="2"/>
      <line num="309" type="stmt" count="7"/>
      <line num="310" type="stmt" count="7"/>
      <line num="311" type="stmt" count="7"/>
      <line num="312" type="stmt" count="7"/>
      <line num="313" type="stmt" count="7"/>
      <line num="314" type="stmt" count="7"/>
      <line num="315" type="stmt" count="7"/>
      <line num="316" type="stmt" count="7"/>
      <line num="317" type="stmt" count="7"/>
      <line num="318" type="stmt" count="7"/>
      <line num="319" type="stmt" count="7"/>
      <line num="320" type="stmt" count="7"/>
      <line num="321" type="stmt" count="7"/>
      <line num="322" type="stmt" count="7"/>
      <line num="323" type="stmt" count="7"/>
      <line num="331" type="method" name="toDatabaseRows" visibility="public" complexity="13" crap="13" count="12"/>
      <line num="332" type="stmt" count="12"/>
      <line num="333" type="stmt" count="12"/>
      <line num="334" type="stmt" count="12"/>
      <line num="335" type="stmt" count="12"/>
      <line num="336" type="stmt" count="12"/>
      <line num="338" type="stmt" count="4"/>
      <line num="339" type="stmt" count="4"/>
      <line num="341" type="stmt" count="4"/>
      <line num="342" type="stmt" count="4"/>
      <line num="350" type="stmt" count="10"/>
      <line num="351" type="stmt" count="10"/>
      <line num="352" type="stmt" count="9"/>
      <line num="354" type="stmt" count="5"/>
      <line num="356" type="stmt" count="5"/>
      <line num="358" type="stmt" count="5"/>
      <line num="359" type="stmt" count="4"/>
      <line num="364" type="stmt" count="4"/>
      <line num="365" type="stmt" count="4"/>
      <line num="369" type="stmt" count="10"/>
      <line num="371" type="stmt" count="10"/>
      <line num="372" type="stmt" count="1"/>
      <line num="373" type="stmt" count="1"/>
      <line num="374" type="stmt" count="1"/>
      <line num="375" type="stmt" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="381" type="stmt" count="1"/>
      <line num="384" type="stmt" count="10"/>
      <line num="385" type="stmt" count="9"/>
      <line num="386" type="stmt" count="9"/>
      <line num="387" type="stmt" count="9"/>
      <line num="388" type="stmt" count="9"/>
      <line num="392" type="stmt" count="12"/>
      <line num="396" type="method" name="jsonSerialize" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="397" type="stmt" count="28"/>
      <line num="398" type="stmt" count="28"/>
      <line num="399" type="stmt" count="28"/>
      <line num="400" type="stmt" count="28"/>
      <line num="401" type="stmt" count="28"/>
      <line num="402" type="stmt" count="28"/>
      <line num="403" type="stmt" count="28"/>
      <line num="404" type="stmt" count="28"/>
      <line num="405" type="stmt" count="28"/>
      <line num="406" type="stmt" count="28"/>
      <line num="407" type="stmt" count="28"/>
      <line num="408" type="stmt" count="28"/>
      <line num="409" type="stmt" count="28"/>
      <line num="410" type="stmt" count="28"/>
      <line num="411" type="stmt" count="28"/>
      <metrics loc="414" ncloc="309" classes="1" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="196" coveredstatements="194" elements="204" coveredelements="201"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ClientHints/ClientHintsLookupResults.php">
      <class name="MediaWiki\Extension\CheckUser\ClientHints\ClientHintsLookupResults" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="32" coveredelements="32"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="30" type="stmt" count="18"/>
      <line num="43" type="method" name="getGroupedClientHintsDataForReferenceIds" visibility="public" complexity="3" crap="3" count="8"/>
      <line num="48" type="stmt" count="8"/>
      <line num="49" type="stmt" count="8"/>
      <line num="50" type="stmt" count="7"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="71" type="stmt" count="8"/>
      <line num="73" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="82" type="stmt" count="8"/>
      <line num="83" type="stmt" count="8"/>
      <line num="94" type="method" name="getClientHintsDataForReferenceId" visibility="public" complexity="5" crap="5" count="8"/>
      <line num="97" type="stmt" count="8"/>
      <line num="98" type="stmt" count="2"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="107" type="stmt" count="6"/>
      <line num="108" type="stmt" count="6"/>
      <line num="109" type="stmt" count="6"/>
      <line num="110" type="stmt" count="6"/>
      <line num="112" type="stmt" count="4"/>
      <line num="115" type="stmt" count="2"/>
      <line num="125" type="method" name="getRawData" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <metrics loc="129" ncloc="63" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="32" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ClientHints/ClientHintsReferenceIds.php">
      <class name="MediaWiki\Extension\CheckUser\ClientHints\ClientHintsReferenceIds" namespace="global">
        <metrics complexity="8" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="17" coveredelements="17"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="30" type="stmt" count="28"/>
      <line num="39" type="method" name="addReferenceIds" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="40" type="stmt" count="7"/>
      <line num="41" type="stmt" count="2"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="54" type="method" name="getReferenceIds" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="1"/>
      <line num="58" type="stmt" count="6"/>
      <line num="59" type="stmt" count="1"/>
      <line num="61" type="stmt" count="3"/>
      <line num="71" type="method" name="mappingIdExists" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="72" type="stmt" count="21"/>
      <line num="73" type="stmt" count="6"/>
      <line num="75" type="stmt" count="15"/>
      <metrics loc="78" ncloc="42" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="17" coveredelements="17"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ClientHints/UserAgentClientHintsManagerHelperTrait.php">
      <class name="MediaWiki\Extension\CheckUser\ClientHints\UserAgentClientHintsManagerHelperTrait" namespace="global">
        <metrics complexity="15" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="74" elements="79" coveredelements="79"/>
      </class>
      <line num="35" type="method" name="storeClientHintsDataFromHeaders" visibility="private" complexity="2" crap="2" count="17"/>
      <line num="37" type="stmt" count="17"/>
      <line num="39" type="stmt" count="16"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="61" type="method" name="storeHeaderOnlyClientHintsData" visibility="private" complexity="2" crap="2" count="33"/>
      <line num="67" type="stmt" count="33"/>
      <line num="68" type="stmt" count="33"/>
      <line num="69" type="stmt" count="33"/>
      <line num="70" type="stmt" count="33"/>
      <line num="72" type="stmt" count="33"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" 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="80" type="stmt" count="1"/>
      <line num="81" 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="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="98" type="method" name="storeClientHintsDataFromRequestField" visibility="private" complexity="4" crap="4" count="9"/>
      <line num="103" type="stmt" count="9"/>
      <line num="104" type="stmt" count="9"/>
      <line num="105" type="stmt" count="5"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <line num="113" type="stmt" count="3"/>
      <line num="115" type="stmt" count="5"/>
      <line num="117" type="stmt" count="4"/>
      <line num="118" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="127" type="method" name="commonStoreClientHintsData" visibility="private" complexity="4" crap="4" count="48"/>
      <line num="134" type="stmt" count="48"/>
      <line num="136" type="stmt" count="48"/>
      <line num="137" type="stmt" count="48"/>
      <line num="139" type="stmt" count="12"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="147" type="stmt" count="36"/>
      <line num="148" type="stmt" count="36"/>
      <line num="149" type="stmt" count="36"/>
      <line num="150" type="stmt" count="36"/>
      <line num="151" type="stmt" count="36"/>
      <line num="158" type="method" name="commonHandleInvalidClientHintsData" visibility="private" complexity="3" crap="3" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="181" type="stmt" count="2"/>
      <metrics loc="184" ncloc="144" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="74" elements="79" coveredelements="79"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/GlobalContributions/CheckUserApiRequestAggregator.php">
      <class name="MediaWiki\Extension\CheckUser\GlobalContributions\CheckUserApiRequestAggregator" namespace="global">
        <metrics complexity="23" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="80" elements="87" coveredelements="87"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="59" type="method" name="execute" visibility="public" complexity="4" crap="4" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="1"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="88" type="method" name="getCentralId" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="99" type="method" name="canUseCentralAuth" visibility="protected" complexity="3" crap="3" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="110" type="method" name="getCentralAuthToken" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="122" type="method" name="getRequestParams" visibility="private" complexity="6" crap="6" count="3"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="2"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="151" type="stmt" count="2"/>
      <line num="152" type="stmt" count="1"/>
      <line num="155" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="157" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="178" type="method" name="doRequests" visibility="private" complexity="7" crap="7" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="180" type="stmt" count="1"/>
      <line num="183" type="stmt" count="2"/>
      <line num="184" type="stmt" count="2"/>
      <line num="186" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="200" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="206" type="stmt" count="2"/>
      <line num="207" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <metrics loc="214" ncloc="170" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="80" elements="87" coveredelements="87"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/GlobalContributions/CheckUserGlobalContributionsLookup.php">
      <class name="MediaWiki\Extension\CheckUser\GlobalContributions\CheckUserGlobalContributionsLookup" namespace="global">
        <metrics complexity="33" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="207" coveredstatements="197" elements="215" coveredelements="204"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="57" type="stmt" count="18"/>
      <line num="64" type="method" name="checkCentralAuthEnabled" visibility="public" complexity="2" crap="2" count="13"/>
      <line num="65" type="stmt" count="13"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="82" type="method" name="getActiveWikisVisibleToUser" visibility="public" complexity="11" crap="12.42" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="168" type="method" name="getActiveWikis" visibility="public" complexity="7" crap="7" count="9"/>
      <line num="169" type="stmt" count="9"/>
      <line num="171" type="stmt" count="9"/>
      <line num="172" type="stmt" count="9"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="4"/>
      <line num="176" type="stmt" count="4"/>
      <line num="177" type="stmt" count="4"/>
      <line num="178" type="stmt" count="4"/>
      <line num="179" type="stmt" count="4"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="187" type="stmt" count="3"/>
      <line num="188" type="stmt" count="3"/>
      <line num="189" type="stmt" count="1"/>
      <line num="191" type="stmt" count="3"/>
      <line num="192" type="stmt" count="3"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="3"/>
      <line num="199" type="stmt" count="3"/>
      <line num="200" type="stmt" count="3"/>
      <line num="201" type="stmt" count="3"/>
      <line num="202" type="stmt" count="3"/>
      <line num="204" type="stmt" count="5"/>
      <line num="205" type="stmt" count="5"/>
      <line num="206" type="stmt" count="1"/>
      <line num="208" type="stmt" count="4"/>
      <line num="209" type="stmt" count="4"/>
      <line num="210" type="stmt" count="2"/>
      <line num="212" type="stmt" count="4"/>
      <line num="213" type="stmt" count="4"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="216" type="stmt" count="4"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" type="stmt" count="4"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="227" type="stmt" count="7"/>
      <line num="228" type="stmt" count="7"/>
      <line num="229" type="stmt" count="7"/>
      <line num="230" type="stmt" count="7"/>
      <line num="231" type="stmt" count="7"/>
      <line num="232" type="stmt" count="7"/>
      <line num="234" type="stmt" count="7"/>
      <line num="246" type="method" name="getAnonymousUserGlobalContributionCount" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="1"/>
      <line num="265" type="stmt" count="1"/>
      <line num="266" type="stmt" count="1"/>
      <line num="267" type="stmt" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="1"/>
      <line num="270" type="stmt" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="287" type="method" name="getGlobalContributionsCount" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="288" type="stmt" count="4"/>
      <line num="290" type="stmt" count="4"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="294" type="stmt" count="3"/>
      <line num="295" type="stmt" count="3"/>
      <line num="304" type="method" name="getAndUpdateExternalWikiPermissions" visibility="public" complexity="4" crap="4" count="2"/>
      <line num="310" type="stmt" count="2"/>
      <line num="311" type="stmt" count="2"/>
      <line num="313" type="stmt" count="2"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="316" type="stmt" count="2"/>
      <line num="317" type="stmt" count="2"/>
      <line num="318" type="stmt" count="2"/>
      <line num="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="321" type="stmt" count="2"/>
      <line num="322" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="325" type="stmt" count="2"/>
      <line num="326" type="stmt" count="2"/>
      <line num="327" type="stmt" count="2"/>
      <line num="328" type="stmt" count="2"/>
      <line num="329" type="stmt" count="2"/>
      <line num="331" type="stmt" count="2"/>
      <line num="332" type="stmt" count="2"/>
      <line num="333" type="stmt" count="2"/>
      <line num="334" type="stmt" count="2"/>
      <line num="335" type="stmt" count="2"/>
      <line num="336" type="stmt" count="2"/>
      <line num="337" type="stmt" count="2"/>
      <line num="338" type="stmt" count="2"/>
      <line num="340" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="343" type="stmt" count="2"/>
      <line num="344" type="stmt" count="2"/>
      <line num="345" type="stmt" count="2"/>
      <line num="346" type="stmt" count="2"/>
      <line num="347" type="stmt" count="2"/>
      <line num="348" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="353" type="stmt" count="1"/>
      <line num="354" type="stmt" count="1"/>
      <line num="355" type="stmt" count="1"/>
      <line num="356" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="365" type="stmt" count="2"/>
      <line num="366" type="stmt" count="2"/>
      <line num="367" type="stmt" count="2"/>
      <line num="368" type="stmt" count="2"/>
      <line num="369" type="stmt" count="2"/>
      <line num="370" type="stmt" count="2"/>
      <line num="371" type="stmt" count="2"/>
      <line num="372" type="stmt" count="2"/>
      <line num="373" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <line num="376" type="stmt" count="2"/>
      <line num="377" type="stmt" count="1"/>
      <line num="378" type="stmt" count="1"/>
      <line num="379" type="stmt" count="1"/>
      <line num="382" type="stmt" count="2"/>
      <line num="384" type="stmt" count="2"/>
      <line num="385" type="stmt" count="2"/>
      <line num="386" type="stmt" count="2"/>
      <line num="396" type="method" name="getRevisionSizes" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="397" type="stmt" count="2"/>
      <line num="398" type="stmt" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="406" type="stmt" count="1"/>
      <line num="407" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="412" type="stmt" count="1"/>
      <line num="413" type="stmt" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <metrics loc="419" ncloc="340" classes="1" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="207" coveredstatements="197" elements="215" coveredelements="204"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/GlobalContributions/ExternalPermissions.php">
      <class name="MediaWiki\Extension\CheckUser\GlobalContributions\ExternalPermissions" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="12" coveredelements="12"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="44" type="method" name="hasEncounteredLookupError" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="52" type="method" name="hasPermission" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="62" type="method" name="getPermissionsOnWiki" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="71" type="method" name="getKnownWikis" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="78" type="method" name="hasAnyWiki" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <metrics loc="82" ncloc="36" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/GlobalContributions/GlobalContributionsPager.php">
      <class name="MediaWiki\Extension\CheckUser\GlobalContributions\GlobalContributionsPager" namespace="global">
        <metrics complexity="128" methods="36" coveredmethods="28" conditionals="0" coveredconditionals="0" statements="535" coveredstatements="512" elements="571" coveredelements="540"/>
      </class>
      <line num="81" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="69"/>
      <line num="106" type="stmt" count="69"/>
      <line num="108" type="stmt" count="69"/>
      <line num="109" type="stmt" count="69"/>
      <line num="110" type="stmt" count="69"/>
      <line num="111" type="stmt" count="69"/>
      <line num="112" type="stmt" count="69"/>
      <line num="113" type="stmt" count="69"/>
      <line num="114" type="stmt" count="69"/>
      <line num="115" type="stmt" count="69"/>
      <line num="116" type="stmt" count="69"/>
      <line num="117" type="stmt" count="69"/>
      <line num="118" type="stmt" count="69"/>
      <line num="119" type="stmt" count="69"/>
      <line num="120" type="stmt" count="69"/>
      <line num="121" type="stmt" count="69"/>
      <line num="130" type="method" name="getExternalWikiPermissions" visibility="private" complexity="2" crap="2" count="26"/>
      <line num="131" type="stmt" count="26"/>
      <line num="132" type="stmt" count="26"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="138" type="stmt" count="25"/>
      <line num="139" type="stmt" count="25"/>
      <line num="140" type="stmt" count="25"/>
      <line num="141" type="stmt" count="25"/>
      <line num="142" type="stmt" count="25"/>
      <line num="143" type="stmt" count="25"/>
      <line num="157" type="method" name="fetchWikisToQuery" visibility="private" complexity="16" crap="16" count="39"/>
      <line num="158" type="stmt" count="39"/>
      <line num="161" type="stmt" count="39"/>
      <line num="162" type="stmt" count="39"/>
      <line num="163" type="stmt" count="39"/>
      <line num="164" type="stmt" count="39"/>
      <line num="165" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="3"/>
      <line num="173" type="stmt" count="37"/>
      <line num="174" type="stmt" count="37"/>
      <line num="176" type="stmt" count="37"/>
      <line num="178" type="stmt" count="25"/>
      <line num="179" type="stmt" count="25"/>
      <line num="181" type="stmt" count="23"/>
      <line num="182" type="stmt" count="25"/>
      <line num="183" type="stmt" count="25"/>
      <line num="186" type="stmt" count="25"/>
      <line num="187" type="stmt" count="25"/>
      <line num="188" type="stmt" count="25"/>
      <line num="189" type="stmt" count="25"/>
      <line num="190" type="stmt" count="25"/>
      <line num="191" type="stmt" count="25"/>
      <line num="192" type="stmt" count="25"/>
      <line num="193" type="stmt" count="25"/>
      <line num="194" type="stmt" count="25"/>
      <line num="197" type="stmt" count="25"/>
      <line num="198" type="stmt" count="25"/>
      <line num="200" type="stmt" count="25"/>
      <line num="201" type="stmt" count="25"/>
      <line num="202" type="stmt" count="25"/>
      <line num="203" type="stmt" count="25"/>
      <line num="204" type="stmt" count="25"/>
      <line num="206" type="stmt" count="25"/>
      <line num="207" type="stmt" count="25"/>
      <line num="211" type="stmt" count="23"/>
      <line num="213" type="stmt" count="23"/>
      <line num="214" type="stmt" count="23"/>
      <line num="216" type="stmt" count="14"/>
      <line num="218" type="stmt" count="10"/>
      <line num="219" type="stmt" count="10"/>
      <line num="221" type="stmt" count="6"/>
      <line num="222" type="stmt" count="2"/>
      <line num="224" type="stmt" count="4"/>
      <line num="230" type="stmt" count="12"/>
      <line num="233" type="stmt" count="37"/>
      <line num="235" type="stmt" count="37"/>
      <line num="238" type="method" name="doQuery" visibility="public" complexity="3" crap="3" count="34"/>
      <line num="239" type="stmt" count="34"/>
      <line num="245" type="stmt" count="34"/>
      <line num="246" type="stmt" count="22"/>
      <line num="247" type="stmt" count="1"/>
      <line num="250" type="stmt" count="21"/>
      <line num="251" type="stmt" count="21"/>
      <line num="252" type="stmt" count="21"/>
      <line num="253" type="stmt" count="21"/>
      <line num="254" type="stmt" count="21"/>
      <line num="255" type="stmt" count="21"/>
      <line num="256" type="stmt" count="21"/>
      <line num="261" type="method" name="getTimestampField" visibility="public" complexity="1" crap="1" count="34"/>
      <line num="262" type="stmt" count="34"/>
      <line num="268" type="method" name="reallyDoQuery" visibility="public" complexity="26" crap="26" count="34"/>
      <line num="269" type="stmt" count="34"/>
      <line num="270" type="stmt" count="34"/>
      <line num="272" type="stmt" count="34"/>
      <line num="273" type="stmt" count="4"/>
      <line num="274" type="stmt" count="4"/>
      <line num="275" type="stmt" count="4"/>
      <line num="277" type="stmt" count="30"/>
      <line num="282" type="stmt" count="34"/>
      <line num="283" type="stmt" count="34"/>
      <line num="284" type="stmt" count="4"/>
      <line num="289" type="stmt" count="34"/>
      <line num="290" type="stmt" count="34"/>
      <line num="291" type="stmt" count="3"/>
      <line num="292" type="stmt" count="3"/>
      <line num="293" type="stmt" count="3"/>
      <line num="294" type="stmt" count="3"/>
      <line num="296" type="stmt" count="31"/>
      <line num="298" type="stmt" count="34"/>
      <line num="299" type="stmt" count="34"/>
      <line num="300" type="stmt" count="34"/>
      <line num="301" type="stmt" count="34"/>
      <line num="302" type="stmt" count="34"/>
      <line num="308" type="stmt" count="34"/>
      <line num="310" type="stmt" count="34"/>
      <line num="311" type="stmt" count="25"/>
      <line num="312" type="stmt" count="25"/>
      <line num="313" type="stmt" count="25"/>
      <line num="318" type="stmt" count="6"/>
      <line num="319" type="stmt" count="6"/>
      <line num="320" type="stmt" count="6"/>
      <line num="321" type="stmt" count="6"/>
      <line num="322" type="stmt" count="6"/>
      <line num="325" type="stmt" count="6"/>
      <line num="326" type="stmt" count="6"/>
      <line num="328" type="stmt" count="6"/>
      <line num="329" type="stmt" count="6"/>
      <line num="330" type="stmt" count="6"/>
      <line num="331" type="stmt" count="6"/>
      <line num="335" type="stmt" count="25"/>
      <line num="336" type="stmt" count="25"/>
      <line num="337" type="stmt" count="25"/>
      <line num="338" type="stmt" count="25"/>
      <line num="339" type="stmt" count="25"/>
      <line num="340" type="stmt" count="25"/>
      <line num="341" type="stmt" count="25"/>
      <line num="342" type="stmt" count="25"/>
      <line num="344" type="stmt" count="25"/>
      <line num="345" type="stmt" count="25"/>
      <line num="346" type="stmt" count="25"/>
      <line num="347" type="stmt" count="25"/>
      <line num="348" type="stmt" count="25"/>
      <line num="349" type="stmt" count="25"/>
      <line num="350" type="stmt" count="25"/>
      <line num="351" type="stmt" count="25"/>
      <line num="352" type="stmt" count="25"/>
      <line num="353" type="stmt" count="25"/>
      <line num="355" type="stmt" count="25"/>
      <line num="356" type="stmt" count="18"/>
      <line num="357" type="stmt" count="18"/>
      <line num="359" type="stmt" count="18"/>
      <line num="360" type="stmt" count="14"/>
      <line num="361" type="stmt" count="14"/>
      <line num="365" type="stmt" count="4"/>
      <line num="366" type="stmt" count="4"/>
      <line num="367" type="stmt" count="4"/>
      <line num="368" type="stmt" count="4"/>
      <line num="371" type="stmt" count="4"/>
      <line num="372" type="stmt" count="3"/>
      <line num="373" type="stmt" count="1"/>
      <line num="376" type="stmt" count="3"/>
      <line num="377" type="stmt" count="3"/>
      <line num="378" type="stmt" count="3"/>
      <line num="382" type="stmt" count="4"/>
      <line num="383" type="stmt" count="3"/>
      <line num="384" type="stmt" count="3"/>
      <line num="387" type="stmt" count="2"/>
      <line num="388" type="stmt" count="2"/>
      <line num="389" type="stmt" count="2"/>
      <line num="395" type="stmt" count="25"/>
      <line num="400" type="stmt" count="34"/>
      <line num="401" type="stmt" count="34"/>
      <line num="402" type="stmt" count="34"/>
      <line num="403" type="stmt" count="32"/>
      <line num="404" type="stmt" count="9"/>
      <line num="405" type="stmt" count="9"/>
      <line num="406" type="stmt" count="32"/>
      <line num="407" type="stmt" count="6"/>
      <line num="408" type="stmt" count="6"/>
      <line num="409" type="stmt" count="6"/>
      <line num="410" type="stmt" count="6"/>
      <line num="411" type="stmt" count="34"/>
      <line num="413" type="stmt" count="34"/>
      <line num="427" type="method" name="modifyQueryInfoWithTagFilter" visibility="protected" complexity="1" crap="1" count="25"/>
      <line num="428" type="stmt" count="25"/>
      <line num="433" type="method" name="doBatchLookups" visibility="protected" complexity="5" crap="5" count="17"/>
      <line num="434" type="stmt" count="17"/>
      <line num="437" type="stmt" count="17"/>
      <line num="438" type="stmt" count="17"/>
      <line num="439" type="stmt" count="17"/>
      <line num="440" type="stmt" count="17"/>
      <line num="442" type="stmt" count="15"/>
      <line num="445" type="stmt" count="17"/>
      <line num="446" type="stmt" count="17"/>
      <line num="449" type="stmt" count="17"/>
      <line num="450" type="stmt" count="15"/>
      <line num="451" type="stmt" count="15"/>
      <line num="452" type="stmt" count="15"/>
      <line num="453" type="stmt" count="15"/>
      <line num="454" type="stmt" count="15"/>
      <line num="461" type="method" name="getRevisionQuery" visibility="protected" complexity="3" crap="3.03" count="25"/>
      <line num="462" type="stmt" count="25"/>
      <line num="463" type="stmt" count="25"/>
      <line num="464" type="stmt" count="25"/>
      <line num="465" type="stmt" count="25"/>
      <line num="466" type="stmt" count="25"/>
      <line num="469" type="stmt" count="25"/>
      <line num="470" type="stmt" count="25"/>
      <line num="472" type="stmt" count="25"/>
      <line num="473" type="stmt" count="15"/>
      <line num="474" type="stmt" count="15"/>
      <line num="475" type="stmt" count="15"/>
      <line num="476" type="stmt" count="15"/>
      <line num="477" type="stmt" count="15"/>
      <line num="478" type="stmt" count="15"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="486" type="stmt" count="15"/>
      <line num="487" type="stmt" count="15"/>
      <line num="488" type="stmt" count="15"/>
      <line num="489" type="stmt" count="15"/>
      <line num="490" type="stmt" count="15"/>
      <line num="492" type="stmt" count="15"/>
      <line num="493" type="stmt" count="15"/>
      <line num="494" type="stmt" count="15"/>
      <line num="496" type="stmt" count="10"/>
      <line num="499" type="stmt" count="25"/>
      <line num="505" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="69"/>
      <line num="506" type="stmt" count="69"/>
      <line num="507" type="stmt" count="69"/>
      <line num="508" type="stmt" count="69"/>
      <line num="520" type="method" name="getForeignURL" visibility="protected" complexity="1" crap="1" count="31"/>
      <line num="521" type="stmt" count="31"/>
      <line num="527" type="method" name="populateAttributes" visibility="protected" complexity="2" crap="2" count="22"/>
      <line num="528" type="stmt" count="22"/>
      <line num="529" type="stmt" count="11"/>
      <line num="531" type="stmt" count="11"/>
      <line num="538" type="method" name="getParentRevisionSize" visibility="protected" complexity="1" crap="1" count="22"/>
      <line num="539" type="stmt" count="22"/>
      <line num="545" type="method" name="getStartBody" visibility="protected" complexity="4" crap="6.60" count="34"/>
      <line num="546" type="stmt" count="34"/>
      <line num="548" type="stmt" count="34"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="563" type="stmt" count="34"/>
      <line num="564" type="stmt" count="1"/>
      <line num="565" type="stmt" count="1"/>
      <line num="566" type="stmt" count="1"/>
      <line num="567" type="stmt" count="1"/>
      <line num="568" type="stmt" count="1"/>
      <line num="569" type="stmt" count="1"/>
      <line num="572" type="stmt" count="34"/>
      <line num="578" type="method" name="getEndBody" visibility="protected" complexity="1" crap="1" count="34"/>
      <line num="579" type="stmt" count="34"/>
      <line num="585" type="method" name="getEmptyBody" visibility="protected" complexity="6" crap="6" count="17"/>
      <line num="586" type="stmt" count="17"/>
      <line num="587" type="stmt" count="3"/>
      <line num="588" type="stmt" count="3"/>
      <line num="589" type="stmt" count="3"/>
      <line num="590" type="stmt" count="3"/>
      <line num="591" type="stmt" count="3"/>
      <line num="592" type="stmt" count="3"/>
      <line num="593" type="stmt" count="3"/>
      <line num="594" type="stmt" count="3"/>
      <line num="595" type="stmt" count="3"/>
      <line num="596" type="stmt" count="3"/>
      <line num="597" type="stmt" count="3"/>
      <line num="598" type="stmt" count="3"/>
      <line num="602" type="stmt" count="14"/>
      <line num="603" type="stmt" count="3"/>
      <line num="604" type="stmt" count="3"/>
      <line num="605" type="stmt" count="3"/>
      <line num="606" type="stmt" count="3"/>
      <line num="607" type="stmt" count="3"/>
      <line num="608" type="stmt" count="3"/>
      <line num="609" type="stmt" count="3"/>
      <line num="610" type="stmt" count="3"/>
      <line num="611" type="stmt" count="3"/>
      <line num="616" type="stmt" count="11"/>
      <line num="617" type="stmt" count="11"/>
      <line num="619" type="stmt" count="4"/>
      <line num="620" type="stmt" count="4"/>
      <line num="621" type="stmt" count="4"/>
      <line num="622" type="stmt" count="4"/>
      <line num="623" type="stmt" count="4"/>
      <line num="624" type="stmt" count="4"/>
      <line num="625" type="stmt" count="4"/>
      <line num="626" type="stmt" count="4"/>
      <line num="631" type="stmt" count="7"/>
      <line num="632" type="stmt" count="6"/>
      <line num="633" type="stmt" count="6"/>
      <line num="634" type="stmt" count="6"/>
      <line num="635" type="stmt" count="6"/>
      <line num="636" type="stmt" count="6"/>
      <line num="637" type="stmt" count="6"/>
      <line num="641" type="stmt" count="1"/>
      <line num="642" type="stmt" count="1"/>
      <line num="643" type="stmt" count="1"/>
      <line num="644" type="stmt" count="1"/>
      <line num="645" type="stmt" count="1"/>
      <line num="646" type="stmt" count="1"/>
      <line num="647" type="stmt" count="1"/>
      <line num="648" type="stmt" count="1"/>
      <line num="649" type="stmt" count="1"/>
      <line num="655" type="method" name="formatArticleLink" visibility="protected" complexity="4" crap="4" count="24"/>
      <line num="656" type="stmt" count="24"/>
      <line num="657" type="stmt" count="11"/>
      <line num="660" type="stmt" count="13"/>
      <line num="661" type="stmt" count="0"/>
      <line num="668" type="stmt" count="13"/>
      <line num="669" type="stmt" count="13"/>
      <line num="670" type="stmt" count="13"/>
      <line num="671" type="stmt" count="13"/>
      <line num="673" type="stmt" count="13"/>
      <line num="674" type="stmt" count="12"/>
      <line num="676" type="stmt" count="1"/>
      <line num="677" type="stmt" count="1"/>
      <line num="678" type="stmt" count="1"/>
      <line num="679" type="stmt" count="1"/>
      <line num="682" type="stmt" count="13"/>
      <line num="683" type="stmt" count="13"/>
      <line num="684" type="stmt" count="13"/>
      <line num="685" type="stmt" count="13"/>
      <line num="686" type="stmt" count="13"/>
      <line num="687" type="stmt" count="13"/>
      <line num="688" type="stmt" count="13"/>
      <line num="689" type="stmt" count="13"/>
      <line num="690" type="stmt" count="13"/>
      <line num="691" type="stmt" count="13"/>
      <line num="692" type="stmt" count="13"/>
      <line num="693" type="stmt" count="13"/>
      <line num="699" type="method" name="formatDiffHistLinks" visibility="protected" complexity="5" crap="5" count="25"/>
      <line num="700" type="stmt" count="25"/>
      <line num="701" type="stmt" count="11"/>
      <line num="704" type="stmt" count="14"/>
      <line num="705" type="stmt" count="0"/>
      <line num="709" type="stmt" count="14"/>
      <line num="710" type="stmt" count="14"/>
      <line num="712" type="stmt" count="12"/>
      <line num="713" type="stmt" count="12"/>
      <line num="714" type="stmt" count="12"/>
      <line num="715" type="stmt" count="12"/>
      <line num="716" type="stmt" count="12"/>
      <line num="717" type="stmt" count="12"/>
      <line num="718" type="stmt" count="12"/>
      <line num="719" type="stmt" count="12"/>
      <line num="720" type="stmt" count="12"/>
      <line num="721" type="stmt" count="12"/>
      <line num="722" type="stmt" count="12"/>
      <line num="723" type="stmt" count="12"/>
      <line num="726" type="stmt" count="12"/>
      <line num="727" type="stmt" count="12"/>
      <line num="728" type="stmt" count="12"/>
      <line num="729" type="stmt" count="12"/>
      <line num="731" type="stmt" count="2"/>
      <line num="734" type="stmt" count="14"/>
      <line num="735" type="stmt" count="14"/>
      <line num="736" type="stmt" count="14"/>
      <line num="737" type="stmt" count="14"/>
      <line num="738" type="stmt" count="14"/>
      <line num="739" type="stmt" count="14"/>
      <line num="740" type="stmt" count="14"/>
      <line num="741" type="stmt" count="14"/>
      <line num="742" type="stmt" count="14"/>
      <line num="743" type="stmt" count="14"/>
      <line num="744" type="stmt" count="14"/>
      <line num="745" type="stmt" count="14"/>
      <line num="748" type="stmt" count="14"/>
      <line num="749" type="stmt" count="14"/>
      <line num="750" type="stmt" count="14"/>
      <line num="751" type="stmt" count="14"/>
      <line num="753" type="stmt" count="14"/>
      <line num="754" type="stmt" count="14"/>
      <line num="755" type="stmt" count="14"/>
      <line num="758" type="stmt" count="14"/>
      <line num="760" type="stmt" count="14"/>
      <line num="761" type="stmt" count="14"/>
      <line num="767" type="method" name="formatDateLink" visibility="protected" complexity="6" crap="6.01" count="24"/>
      <line num="768" type="stmt" count="24"/>
      <line num="769" type="stmt" count="11"/>
      <line num="772" type="stmt" count="13"/>
      <line num="773" type="stmt" count="0"/>
      <line num="778" type="stmt" count="13"/>
      <line num="779" type="stmt" count="13"/>
      <line num="780" type="stmt" count="13"/>
      <line num="781" type="stmt" count="13"/>
      <line num="782" type="stmt" count="13"/>
      <line num="783" type="stmt" count="12"/>
      <line num="784" type="stmt" count="12"/>
      <line num="785" type="stmt" count="12"/>
      <line num="786" type="stmt" count="12"/>
      <line num="787" type="stmt" count="12"/>
      <line num="788" type="stmt" count="12"/>
      <line num="789" type="stmt" count="12"/>
      <line num="790" type="stmt" count="12"/>
      <line num="791" type="stmt" count="12"/>
      <line num="792" type="stmt" count="12"/>
      <line num="793" type="stmt" count="12"/>
      <line num="794" type="stmt" count="12"/>
      <line num="795" type="stmt" count="12"/>
      <line num="796" type="stmt" count="12"/>
      <line num="798" type="stmt" count="1"/>
      <line num="801" type="stmt" count="13"/>
      <line num="803" type="stmt" count="1"/>
      <line num="804" type="stmt" count="1"/>
      <line num="805" type="stmt" count="0"/>
      <line num="807" type="stmt" count="1"/>
      <line num="808" type="stmt" count="1"/>
      <line num="809" type="stmt" count="1"/>
      <line num="810" type="stmt" count="1"/>
      <line num="811" type="stmt" count="1"/>
      <line num="814" type="stmt" count="13"/>
      <line num="815" type="stmt" count="13"/>
      <line num="816" type="stmt" count="13"/>
      <line num="822" type="method" name="formatTopMarkText" visibility="protected" complexity="3" crap="3" count="22"/>
      <line num="823" type="stmt" count="22"/>
      <line num="824" type="stmt" count="11"/>
      <line num="829" type="stmt" count="11"/>
      <line num="830" type="stmt" count="11"/>
      <line num="831" type="stmt" count="4"/>
      <line num="832" type="stmt" count="4"/>
      <line num="834" type="stmt" count="11"/>
      <line num="840" type="method" name="formatComment" visibility="protected" complexity="6" crap="6" count="30"/>
      <line num="841" type="stmt" count="30"/>
      <line num="842" type="stmt" count="12"/>
      <line num="845" type="stmt" count="18"/>
      <line num="846" type="stmt" count="18"/>
      <line num="847" type="stmt" count="18"/>
      <line num="848" type="stmt" count="0"/>
      <line num="849" type="stmt" count="18"/>
      <line num="856" type="stmt" count="18"/>
      <line num="857" type="stmt" count="16"/>
      <line num="865" type="stmt" count="16"/>
      <line num="867" type="stmt" count="16"/>
      <line num="868" type="stmt" count="11"/>
      <line num="871" type="stmt" count="5"/>
      <line num="872" type="stmt" count="5"/>
      <line num="875" type="stmt" count="2"/>
      <line num="877" type="stmt" count="2"/>
      <line num="878" type="stmt" count="2"/>
      <line num="879" type="stmt" count="2"/>
      <line num="880" type="stmt" count="2"/>
      <line num="881" type="stmt" count="2"/>
      <line num="887" type="method" name="formatUserLink" visibility="protected" complexity="8" crap="8" count="27"/>
      <line num="888" type="stmt" count="27"/>
      <line num="889" type="stmt" count="13"/>
      <line num="891" type="stmt" count="14"/>
      <line num="892" type="stmt" count="1"/>
      <line num="894" type="stmt" count="13"/>
      <line num="898" type="stmt" count="27"/>
      <line num="900" type="stmt" count="27"/>
      <line num="905" type="stmt" count="4"/>
      <line num="906" type="stmt" count="4"/>
      <line num="907" type="stmt" count="4"/>
      <line num="908" type="stmt" count="4"/>
      <line num="909" type="stmt" count="4"/>
      <line num="910" type="stmt" count="4"/>
      <line num="913" type="stmt" count="24"/>
      <line num="914" type="stmt" count="24"/>
      <line num="916" type="stmt" count="12"/>
      <line num="917" type="stmt" count="12"/>
      <line num="918" type="stmt" count="0"/>
      <line num="921" type="stmt" count="24"/>
      <line num="922" type="stmt" count="24"/>
      <line num="923" type="stmt" count="24"/>
      <line num="924" type="stmt" count="24"/>
      <line num="925" type="stmt" count="24"/>
      <line num="926" type="stmt" count="24"/>
      <line num="928" type="stmt" count="24"/>
      <line num="929" type="stmt" count="12"/>
      <line num="930" type="stmt" count="12"/>
      <line num="931" type="stmt" count="12"/>
      <line num="936" type="stmt" count="12"/>
      <line num="938" type="stmt" count="12"/>
      <line num="939" type="stmt" count="12"/>
      <line num="940" type="stmt" count="12"/>
      <line num="941" type="stmt" count="12"/>
      <line num="942" type="stmt" count="12"/>
      <line num="943" type="stmt" count="12"/>
      <line num="944" type="stmt" count="12"/>
      <line num="945" type="stmt" count="12"/>
      <line num="946" type="stmt" count="12"/>
      <line num="947" type="stmt" count="12"/>
      <line num="948" type="stmt" count="12"/>
      <line num="950" type="stmt" count="12"/>
      <line num="951" type="stmt" count="12"/>
      <line num="952" type="stmt" count="12"/>
      <line num="953" type="stmt" count="12"/>
      <line num="954" type="stmt" count="12"/>
      <line num="955" type="stmt" count="12"/>
      <line num="956" type="stmt" count="12"/>
      <line num="957" type="stmt" count="12"/>
      <line num="958" type="stmt" count="12"/>
      <line num="959" type="stmt" count="12"/>
      <line num="962" type="stmt" count="12"/>
      <line num="963" type="stmt" count="12"/>
      <line num="964" type="stmt" count="12"/>
      <line num="966" type="stmt" count="12"/>
      <line num="967" type="stmt" count="12"/>
      <line num="968" type="stmt" count="12"/>
      <line num="969" type="stmt" count="12"/>
      <line num="970" type="stmt" count="12"/>
      <line num="976" type="method" name="formatFlags" visibility="protected" complexity="4" crap="4" count="24"/>
      <line num="977" type="stmt" count="24"/>
      <line num="978" type="stmt" count="11"/>
      <line num="983" type="stmt" count="13"/>
      <line num="984" type="stmt" count="13"/>
      <line num="985" type="stmt" count="1"/>
      <line num="988" type="stmt" count="13"/>
      <line num="989" type="stmt" count="1"/>
      <line num="991" type="stmt" count="13"/>
      <line num="997" type="method" name="formatVisibilityLink" visibility="protected" complexity="2" crap="2" count="23"/>
      <line num="1000" type="stmt" count="23"/>
      <line num="1001" type="stmt" count="11"/>
      <line num="1004" type="stmt" count="12"/>
      <line num="1010" type="method" name="formatTags" visibility="protected" complexity="1" crap="1" count="22"/>
      <line num="1014" type="stmt" count="22"/>
      <line num="1023" type="method" name="formatSourceWiki" visibility="protected" complexity="1" crap="1" count="22"/>
      <line num="1024" type="stmt" count="22"/>
      <line num="1025" type="stmt" count="22"/>
      <line num="1026" type="stmt" count="22"/>
      <line num="1027" type="stmt" count="22"/>
      <line num="1028" type="stmt" count="22"/>
      <line num="1029" type="stmt" count="22"/>
      <line num="1030" type="stmt" count="22"/>
      <line num="1031" type="stmt" count="22"/>
      <line num="1032" type="stmt" count="22"/>
      <line num="1033" type="stmt" count="22"/>
      <line num="1034" type="stmt" count="22"/>
      <line num="1040" type="method" name="getTemplateParams" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="1041" type="stmt" count="22"/>
      <line num="1042" type="stmt" count="22"/>
      <line num="1043" type="stmt" count="22"/>
      <line num="1044" type="stmt" count="22"/>
      <line num="1050" type="method" name="getProcessedTemplate" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="1051" type="stmt" count="22"/>
      <line num="1062" type="method" name="revisionUserIsDeleted" visibility="public" complexity="1" crap="1" count="26"/>
      <line num="1063" type="stmt" count="26"/>
      <line num="1064" type="stmt" count="26"/>
      <line num="1070" type="method" name="tryCreatingRevisionRecord" visibility="public" complexity="2" crap="2" count="22"/>
      <line num="1071" type="stmt" count="22"/>
      <line num="1073" type="stmt" count="11"/>
      <line num="1075" type="stmt" count="11"/>
      <line num="1084" type="method" name="isFromExternalWiki" visibility="protected" complexity="2" crap="2" count="45"/>
      <line num="1085" type="stmt" count="45"/>
      <line num="1086" type="stmt" count="45"/>
      <line num="1093" type="method" name="externalRevisionIsDeleted" visibility="private" complexity="1" crap="1" count="15"/>
      <line num="1094" type="stmt" count="15"/>
      <line num="1101" type="method" name="externalCommentIsDeleted" visibility="private" complexity="1" crap="1" count="18"/>
      <line num="1102" type="stmt" count="18"/>
      <line num="1109" type="method" name="userCanSeeExternalRevision" visibility="private" complexity="2" crap="2" count="15"/>
      <line num="1110" type="stmt" count="15"/>
      <line num="1111" type="stmt" count="13"/>
      <line num="1113" type="stmt" count="2"/>
      <line num="1120" type="method" name="userCanSeeExternalHistory" visibility="private" complexity="2" crap="2" count="18"/>
      <line num="1121" type="stmt" count="18"/>
      <line num="1122" type="stmt" count="15"/>
      <line num="1124" type="stmt" count="3"/>
      <line num="1131" type="method" name="hasExternalApiLookupError" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="1132" type="stmt" count="0"/>
      <metrics loc="1135" ncloc="896" classes="1" methods="36" coveredmethods="28" conditionals="0" coveredconditionals="0" statements="535" coveredstatements="512" elements="571" coveredelements="540"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/GlobalContributions/GlobalContributionsPagerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\GlobalContributions\GlobalContributionsPagerFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="28" coveredelements="28"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="66" type="method" name="createPager" visibility="public" complexity="1" crap="1" 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="76" 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="80" type="stmt" count="1"/>
      <line num="81" 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="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" 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"/>
      <metrics loc="98" ncloc="92" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/GlobalContributions/SpecialGlobalContributions.php">
      <class name="MediaWiki\Extension\CheckUser\GlobalContributions\SpecialGlobalContributions" namespace="global">
        <metrics complexity="26" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="110" coveredstatements="110" elements="124" coveredelements="124"/>
      </class>
      <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="33"/>
      <line num="59" type="stmt" count="33"/>
      <line num="60" type="stmt" count="33"/>
      <line num="61" type="stmt" count="33"/>
      <line num="62" type="stmt" count="33"/>
      <line num="63" type="stmt" count="33"/>
      <line num="64" type="stmt" count="33"/>
      <line num="65" type="stmt" count="33"/>
      <line num="66" type="stmt" count="33"/>
      <line num="67" type="stmt" count="33"/>
      <line num="68" type="stmt" count="33"/>
      <line num="69" type="stmt" count="33"/>
      <line num="70" type="stmt" count="33"/>
      <line num="71" type="stmt" count="33"/>
      <line num="85" type="method" name="getTargetField" visibility="protected" complexity="1" crap="1" count="32"/>
      <line num="86" type="stmt" count="32"/>
      <line num="87" type="stmt" count="32"/>
      <line num="88" type="stmt" count="32"/>
      <line num="89" type="stmt" count="32"/>
      <line num="90" type="stmt" count="32"/>
      <line num="91" type="stmt" count="32"/>
      <line num="92" type="stmt" count="32"/>
      <line num="93" type="stmt" count="32"/>
      <line num="94" type="stmt" count="32"/>
      <line num="95" type="stmt" count="32"/>
      <line num="96" type="stmt" count="32"/>
      <line num="97" type="stmt" count="32"/>
      <line num="98" type="stmt" count="32"/>
      <line num="99" type="stmt" count="32"/>
      <line num="100" type="stmt" count="32"/>
      <line num="106" type="method" name="execute" visibility="public" complexity="6" crap="6" count="33"/>
      <line num="107" type="stmt" count="33"/>
      <line num="109" type="stmt" count="33"/>
      <line num="111" type="stmt" count="33"/>
      <line num="115" type="stmt" count="31"/>
      <line num="116" type="stmt" count="31"/>
      <line num="117" type="stmt" count="31"/>
      <line num="118" type="stmt" count="31"/>
      <line num="120" type="stmt" count="31"/>
      <line num="122" type="stmt" count="31"/>
      <line num="123" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="128" type="stmt" count="28"/>
      <line num="129" type="stmt" count="28"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="27"/>
      <line num="136" type="stmt" count="3"/>
      <line num="139" type="stmt" count="31"/>
      <line num="141" type="stmt" count="31"/>
      <line num="142" type="stmt" count="31"/>
      <line num="148" type="method" name="modifyFields" visibility="protected" complexity="1" crap="1" count="32"/>
      <line num="149" type="stmt" count="32"/>
      <line num="154" type="stmt" count="32"/>
      <line num="155" type="stmt" count="32"/>
      <line num="161" type="method" name="getPager" visibility="public" complexity="2" crap="2" count="28"/>
      <line num="162" type="stmt" count="28"/>
      <line num="163" type="stmt" count="28"/>
      <line num="164" type="stmt" count="28"/>
      <line num="165" type="stmt" count="28"/>
      <line num="166" type="stmt" count="28"/>
      <line num="167" type="stmt" count="28"/>
      <line num="168" type="stmt" count="28"/>
      <line num="169" type="stmt" count="28"/>
      <line num="170" type="stmt" count="28"/>
      <line num="171" type="stmt" count="28"/>
      <line num="172" type="stmt" count="28"/>
      <line num="173" type="stmt" count="28"/>
      <line num="174" type="stmt" count="28"/>
      <line num="175" type="stmt" count="28"/>
      <line num="176" type="stmt" count="28"/>
      <line num="178" type="stmt" count="28"/>
      <line num="179" type="stmt" count="28"/>
      <line num="180" type="stmt" count="28"/>
      <line num="181" type="stmt" count="28"/>
      <line num="182" type="stmt" count="28"/>
      <line num="185" type="stmt" count="28"/>
      <line num="191" type="method" name="getDescription" visibility="public" complexity="1" crap="1" count="33"/>
      <line num="192" type="stmt" count="33"/>
      <line num="198" type="method" name="getFormWrapperLegendMessageKey" visibility="protected" complexity="1" crap="1" count="32"/>
      <line num="199" type="stmt" count="32"/>
      <line num="205" type="method" name="getResultsPageTitleMessageKey" visibility="protected" complexity="1" crap="1" count="30"/>
      <line num="206" type="stmt" count="30"/>
      <line num="212" type="method" name="getMaxAgeForMessage" visibility="private" complexity="1" crap="1" count="33"/>
      <line num="213" type="stmt" count="33"/>
      <line num="217" type="method" name="contributionsSub" visibility="protected" complexity="5" crap="5" count="30"/>
      <line num="218" type="stmt" count="30"/>
      <line num="224" type="stmt" count="30"/>
      <line num="227" type="stmt" count="30"/>
      <line num="228" type="stmt" count="6"/>
      <line num="229" type="stmt" count="24"/>
      <line num="230" type="stmt" count="12"/>
      <line num="232" type="stmt" count="12"/>
      <line num="236" type="stmt" count="12"/>
      <line num="239" type="stmt" count="30"/>
      <line num="240" type="stmt" count="30"/>
      <line num="241" type="stmt" count="30"/>
      <line num="242" type="stmt" count="30"/>
      <line num="243" type="stmt" count="30"/>
      <line num="244" type="stmt" count="30"/>
      <line num="246" type="stmt" count="30"/>
      <line num="247" type="stmt" count="30"/>
      <line num="248" type="stmt" count="30"/>
      <line num="249" type="stmt" count="30"/>
      <line num="250" type="stmt" count="30"/>
      <line num="251" type="stmt" count="30"/>
      <line num="254" type="stmt" count="30"/>
      <line num="264" type="method" name="addContributionsSubWarning" visibility="protected" complexity="1" crap="1" count="30"/>
      <line num="265" type="stmt" count="30"/>
      <line num="272" type="method" name="shouldDisplayActionLinks" visibility="protected" complexity="1" crap="1" count="30"/>
      <line num="273" type="stmt" count="30"/>
      <line num="281" type="method" name="shouldDisplayAccountInformation" visibility="protected" complexity="1" crap="1" count="30"/>
      <line num="282" type="stmt" count="30"/>
      <line num="290" type="method" name="getUserLink" visibility="protected" complexity="2" crap="2" count="30"/>
      <line num="291" type="stmt" count="30"/>
      <line num="292" type="stmt" count="30"/>
      <line num="293" type="stmt" count="10"/>
      <line num="294" type="stmt" count="10"/>
      <line num="295" type="stmt" count="10"/>
      <line num="296" type="stmt" count="10"/>
      <line num="298" type="stmt" count="21"/>
      <metrics loc="302" ncloc="232" classes="1" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="110" coveredstatements="110" elements="124" coveredelements="124"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserFormatRowHook.php">
      <metrics loc="36" ncloc="22" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserInsertChangesRowHook.php">
      <metrics loc="52" ncloc="23" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserInsertLogEventRowHook.php">
      <metrics loc="54" ncloc="24" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserInsertPrivateEventRowHook.php">
      <metrics loc="55" ncloc="26" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserSubtitleLinksHook.php">
      <metrics loc="33" ncloc="20" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserSuggestedInvestigationsBeforeCaseCreatedHook.php">
      <metrics loc="44" ncloc="22" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserSuggestedInvestigationsCaseMetadataBeforeDisplayHook.php">
      <metrics loc="29" ncloc="13" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserSuggestedInvestigationsGetSignalsHook.php">
      <metrics loc="48" ncloc="15" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserSuggestedInvestigationsOnDetailViewRenderHook.php">
      <metrics loc="37" ncloc="17" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/CheckUserSuggestedInvestigationsSignalMatchHook.php">
      <metrics loc="52" ncloc="23" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/HookRunner.php">
      <class name="MediaWiki\Extension\CheckUser\Hook\HookRunner" namespace="global">
        <metrics complexity="12" methods="12" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="50" elements="62" coveredelements="62"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="31" type="stmt" count="11"/>
      <line num="34" type="method" name="onCheckUserFormatRow" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="46" type="method" name="onCheckUserSubtitleLinks" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="50" 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="57" type="method" name="onCheckUserInsertChangesRow" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="71" type="method" name="onCheckUserInsertLogEventRow" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="86" type="method" name="onCheckUserInsertPrivateEventRow" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="95" type="stmt" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="100" type="method" name="onCheckUserSuggestedInvestigationsBeforeCaseCreated" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="109" type="method" name="onCheckUserSuggestedInvestigationsCaseMetadataBeforeDisplay" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="118" type="method" name="onCheckUserSuggestedInvestigationsGetSignals" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="127" type="method" name="onCheckUserSuggestedInvestigationsOnDetailViewRender" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="136" type="method" name="onCheckUserSuggestedInvestigationsSignalMatch" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="150" type="method" name="onSpecialCheckUserGetLinksFromRow" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <metrics loc="168" ncloc="152" classes="1" methods="12" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="50" elements="62" coveredelements="62"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Hook/SpecialCheckUserGetLinksFromRowHook.php">
      <metrics loc="39" ncloc="22" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/AbstractSuggestedInvestigationsAutoCloseHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\AbstractSuggestedInvestigationsAutoCloseHandler" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="8" elements="12" coveredelements="10"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="22" type="stmt" count="20"/>
      <line num="24" type="method" name="enqueueAutoCloseJobsForUser" visibility="protected" complexity="2" crap="2" count="6"/>
      <line num="25" type="stmt" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="33" type="method" name="isDelayedJobsEnabled" visibility="private" complexity="2" crap="2.06" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <metrics loc="44" ncloc="41" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="8" elements="12" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/AbuseFilterHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\AbuseFilterHandler" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="32" elements="37" coveredelements="35"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="28" type="stmt" count="9"/>
      <line num="37" type="method" name="onAbuseFilterCustomProtectedVariables" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="38" type="stmt" count="8"/>
      <line num="48" type="method" name="onAbuseFilterLogProtectedVariableValueAccess" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="65" type="stmt" count="1"/>
      <line num="73" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <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="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="103" type="method" name="onAbuseFilterCanViewProtectedVariables" visibility="public" complexity="5" crap="5" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="1"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="1"/>
      <line num="125" type="stmt" count="2"/>
      <metrics loc="128" ncloc="98" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="32" elements="37" coveredelements="35"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/BlockConnectedAccounts.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\BlockConnectedAccounts" namespace="global">
        <metrics complexity="13" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="31" elements="38" coveredelements="33"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <line num="36" type="method" name="onAPIGetAllowedParams" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="52" type="method" name="onApiBlockSucceeded" visibility="public" complexity="9" crap="9.19" count="2"/>
      <line num="53" 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="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="61" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <metrics loc="100" ncloc="81" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="31" elements="38" coveredelements="33"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/CentralAuthHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\CentralAuthHandler" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="24" type="method" name="onCentralAuthGlobalUserGroupMembershipChanged" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="31" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <metrics loc="44" ncloc="36" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/CheckUserEventsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\CheckUserEventsHandler" namespace="global">
        <metrics complexity="56" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="227" coveredstatements="227" elements="237" coveredelements="237"/>
      </class>
      <line num="62" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="51"/>
      <line num="73" type="stmt" count="51"/>
      <line num="74" type="stmt" count="51"/>
      <line num="84" type="method" name="onLocalUserCreated" visibility="public" complexity="7" crap="7" count="8"/>
      <line num="89" type="stmt" count="8"/>
      <line num="90" type="stmt" count="8"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="2"/>
      <line num="100" type="stmt" count="6"/>
      <line num="101" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="151" type="method" name="insertPrivateEventEntryForAccountCreation" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="4"/>
      <line num="154" type="stmt" count="4"/>
      <line num="155" type="stmt" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="164" type="stmt" count="4"/>
      <line num="165" type="stmt" count="4"/>
      <line num="167" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="169" type="stmt" count="4"/>
      <line num="170" type="stmt" count="4"/>
      <line num="171" type="stmt" count="4"/>
      <line num="172" type="stmt" count="4"/>
      <line num="183" type="method" name="insertLogEventForAccountCreation" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="190" 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="210" type="method" name="onUser__mailPasswordInternal" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="236" type="method" name="onChangeAuthenticationDataAudit" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="237" type="stmt" count="6"/>
      <line num="238" type="stmt" count="1"/>
      <line num="241" type="stmt" count="5"/>
      <line num="242" type="stmt" count="5"/>
      <line num="243" type="stmt" count="1"/>
      <line num="246" type="stmt" count="4"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="258" type="stmt" count="2"/>
      <line num="260" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="280" type="method" name="onEmailUser" visibility="public" complexity="7" crap="7" count="7"/>
      <line num="281" type="stmt" count="7"/>
      <line num="282" type="stmt" count="2"/>
      <line num="285" type="stmt" count="5"/>
      <line num="286" type="stmt" count="1"/>
      <line num="289" type="stmt" count="4"/>
      <line num="290" type="stmt" count="4"/>
      <line num="292" type="stmt" count="4"/>
      <line num="293" type="stmt" count="2"/>
      <line num="296" type="stmt" count="2"/>
      <line num="297" type="stmt" count="2"/>
      <line num="298" type="stmt" count="2"/>
      <line num="299" type="stmt" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="304" type="stmt" count="2"/>
      <line num="305" type="stmt" count="2"/>
      <line num="306" type="stmt" count="2"/>
      <line num="307" type="stmt" count="2"/>
      <line num="308" type="stmt" count="2"/>
      <line num="309" type="stmt" count="2"/>
      <line num="311" type="stmt" count="2"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="315" type="stmt" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="317" type="stmt" count="1"/>
      <line num="318" type="stmt" count="1"/>
      <line num="319" type="stmt" count="1"/>
      <line num="320" type="stmt" count="1"/>
      <line num="332" type="method" name="onAuthManagerLoginAuthenticateAudit" visibility="public" complexity="20" crap="20" count="18"/>
      <line num="333" type="stmt" count="18"/>
      <line num="334" type="stmt" count="3"/>
      <line num="337" type="stmt" count="15"/>
      <line num="338" type="stmt" count="1"/>
      <line num="341" type="stmt" count="15"/>
      <line num="342" type="stmt" count="1"/>
      <line num="346" type="stmt" count="14"/>
      <line num="347" type="stmt" count="14"/>
      <line num="348" type="stmt" count="14"/>
      <line num="350" type="stmt" count="1"/>
      <line num="353" type="stmt" count="13"/>
      <line num="355" type="stmt" count="5"/>
      <line num="356" type="stmt" count="5"/>
      <line num="359" type="stmt" count="5"/>
      <line num="360" type="stmt" count="5"/>
      <line num="361" type="stmt" count="5"/>
      <line num="364" type="stmt" count="3"/>
      <line num="367" type="stmt" count="3"/>
      <line num="368" type="stmt" count="3"/>
      <line num="369" type="stmt" count="3"/>
      <line num="370" type="stmt" count="3"/>
      <line num="371" type="stmt" count="3"/>
      <line num="372" type="stmt" count="3"/>
      <line num="383" type="stmt" count="1"/>
      <line num="386" type="stmt" count="8"/>
      <line num="387" type="stmt" count="4"/>
      <line num="388" type="stmt" count="4"/>
      <line num="391" type="stmt" count="4"/>
      <line num="394" type="stmt" count="9"/>
      <line num="395" type="stmt" count="1"/>
      <line num="396" type="stmt" count="1"/>
      <line num="397" type="stmt" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="1"/>
      <line num="400" type="stmt" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="402" type="stmt" count="1"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="408" type="stmt" count="9"/>
      <line num="409" type="stmt" count="9"/>
      <line num="410" type="stmt" count="9"/>
      <line num="411" type="stmt" count="9"/>
      <line num="412" type="stmt" count="9"/>
      <line num="413" type="stmt" count="9"/>
      <line num="414" type="stmt" count="9"/>
      <line num="415" type="stmt" count="9"/>
      <line num="416" type="stmt" count="9"/>
      <line num="417" type="stmt" count="9"/>
      <line num="419" type="stmt" count="9"/>
      <line num="420" type="stmt" count="1"/>
      <line num="423" type="stmt" count="8"/>
      <line num="424" type="stmt" count="8"/>
      <line num="427" type="stmt" count="5"/>
      <line num="428" type="stmt" count="5"/>
      <line num="429" type="stmt" count="5"/>
      <line num="430" type="stmt" count="5"/>
      <line num="431" type="stmt" count="5"/>
      <line num="436" type="stmt" count="3"/>
      <line num="445" type="method" name="onUserLogoutComplete" visibility="public" complexity="6" crap="6" count="9"/>
      <line num="446" type="stmt" count="9"/>
      <line num="448" type="stmt" count="1"/>
      <line num="451" type="stmt" count="8"/>
      <line num="452" type="stmt" count="8"/>
      <line num="453" type="stmt" count="1"/>
      <line num="456" type="stmt" count="7"/>
      <line num="457" type="stmt" count="7"/>
      <line num="458" type="stmt" count="7"/>
      <line num="459" type="stmt" count="7"/>
      <line num="462" type="stmt" count="7"/>
      <line num="463" type="stmt" count="7"/>
      <line num="464" type="stmt" count="7"/>
      <line num="465" type="stmt" count="7"/>
      <line num="466" type="stmt" count="7"/>
      <line num="467" type="stmt" count="7"/>
      <line num="470" type="stmt" count="7"/>
      <line num="471" type="stmt" count="1"/>
      <line num="472" type="stmt" count="1"/>
      <line num="473" type="stmt" count="1"/>
      <line num="474" type="stmt" count="1"/>
      <line num="475" type="stmt" count="1"/>
      <line num="476" type="stmt" count="6"/>
      <line num="479" type="stmt" count="5"/>
      <line num="480" type="stmt" count="5"/>
      <line num="481" type="stmt" count="5"/>
      <line num="487" type="method" name="onMarkPatrolledAudit" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="489" type="stmt" count="1"/>
      <line num="490" type="stmt" count="1"/>
      <line num="491" type="stmt" count="1"/>
      <line num="492" type="stmt" count="1"/>
      <line num="493" type="stmt" count="1"/>
      <line num="495" type="stmt" count="1"/>
      <line num="496" type="stmt" count="1"/>
      <line num="497" type="stmt" count="1"/>
      <line num="498" type="stmt" count="1"/>
      <line num="499" type="stmt" count="1"/>
      <line num="500" type="stmt" count="1"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <metrics loc="510" ncloc="397" classes="1" methods="10" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="231" coveredstatements="227" elements="241" coveredelements="237"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/ClientHints.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\ClientHints" namespace="global">
        <metrics complexity="34" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="87" coveredstatements="87" elements="95" coveredelements="95"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="31"/>
      <line num="46" type="stmt" count="31"/>
      <line num="49" type="method" name="onSpecialPageBeforeExecute" visibility="public" complexity="8" crap="8" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="1"/>
      <line num="54" type="stmt" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="2"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" 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="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="1"/>
      <line num="83" type="method" name="onBeforePageDisplay" visibility="public" complexity="9" crap="9" count="8"/>
      <line num="84" type="stmt" count="8"/>
      <line num="85" type="stmt" count="1"/>
      <line num="91" type="stmt" count="7"/>
      <line num="93" type="stmt" count="7"/>
      <line num="94" type="stmt" count="7"/>
      <line num="95" type="stmt" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="1"/>
      <line num="105" type="stmt" count="3"/>
      <line num="109" type="stmt" count="1"/>
      <line num="115" type="stmt" count="6"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="5"/>
      <line num="119" type="stmt" count="5"/>
      <line num="120" type="stmt" count="5"/>
      <line num="130" type="method" name="addJsClientHintsModule" visibility="private" complexity="1" crap="1" count="7"/>
      <line num="131" type="stmt" count="7"/>
      <line num="135" type="stmt" count="7"/>
      <line num="136" type="stmt" count="7"/>
      <line num="137" type="stmt" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="139" type="stmt" count="7"/>
      <line num="140" type="stmt" count="7"/>
      <line num="141" type="stmt" count="7"/>
      <line num="142" type="stmt" count="7"/>
      <line num="146" type="method" name="onAPIGetAllowedParams" visibility="public" complexity="6" crap="6" count="9"/>
      <line num="147" type="stmt" count="9"/>
      <line num="148" type="stmt" count="2"/>
      <line num="150" type="stmt" count="7"/>
      <line num="151" type="stmt" count="7"/>
      <line num="152" type="stmt" count="7"/>
      <line num="154" type="stmt" count="7"/>
      <line num="155" type="stmt" count="7"/>
      <line num="156" type="stmt" count="7"/>
      <line num="157" type="stmt" count="7"/>
      <line num="158" type="stmt" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="167" type="method" name="onPageSaveComplete" visibility="public" complexity="7" crap="7" count="10"/>
      <line num="170" type="stmt" count="10"/>
      <line num="171" type="stmt" count="1"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="9"/>
      <line num="176" type="stmt" count="9"/>
      <line num="179" type="stmt" count="9"/>
      <line num="182" type="stmt" count="9"/>
      <line num="183" type="stmt" count="9"/>
      <line num="185" type="stmt" count="2"/>
      <line num="189" type="stmt" count="7"/>
      <line num="190" type="stmt" count="3"/>
      <line num="193" type="stmt" count="4"/>
      <line num="194" type="stmt" count="4"/>
      <line num="195" type="stmt" count="3"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="210" type="method" name="getClientHintsHeaderString" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="213" type="stmt" count="3"/>
      <line num="214" type="stmt" count="3"/>
      <line num="215" type="stmt" count="3"/>
      <line num="221" type="method" name="getEmptyClientHintsHeaderString" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="222" type="stmt" count="6"/>
      <metrics loc="226" ncloc="187" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="87" coveredstatements="87" elements="95" coveredelements="95"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/ConditionalRegistrationHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\ConditionalRegistrationHandler" namespace="global">
        <metrics complexity="14" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="67" elements="71" coveredelements="71"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="29" type="stmt" count="13"/>
      <line num="32" type="method" name="onSpecialPage_initList" visibility="public" complexity="8" crap="8" count="10"/>
      <line num="33" type="stmt" count="10"/>
      <line num="34" type="stmt" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="36" type="stmt" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" 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="58" type="stmt" count="10"/>
      <line num="61" type="stmt" count="10"/>
      <line num="62" type="stmt" count="10"/>
      <line num="64" type="stmt" count="10"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <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="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="87" type="stmt" count="10"/>
      <line num="88" type="stmt" count="10"/>
      <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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="103" type="stmt" count="10"/>
      <line num="107" type="method" name="onApiQuery__moduleManager" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <line num="113" type="stmt" count="3"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="129" type="method" name="areGlobalContributionsDependenciesMet" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="130" type="stmt" count="6"/>
      <line num="131" type="stmt" count="6"/>
      <metrics loc="134" ncloc="117" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="67" elements="71" coveredelements="71"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/DurationMessages.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\DurationMessages" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="22" coveredelements="22"/>
      </class>
      <line num="28" type="method" name="getTranslatedDurations" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="42" type="stmt" count="2"/>
      <line num="53" type="method" name="getTranslatedMaxDuration" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="68" type="method" name="getAutoRevealMaximumExpiry" visibility="public" complexity="1" crap="1" 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="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <metrics loc="80" ncloc="50" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="22" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/GlobalBlockingHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\GlobalBlockingHandler" namespace="global">
        <metrics complexity="20" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="78" elements="82" coveredelements="80"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="25" type="stmt" count="9"/>
      <line num="28" type="method" name="onGlobalBlockingGetRetroactiveAutoblockIPs" visibility="public" complexity="10" crap="10" count="9"/>
      <line num="29" type="stmt" count="9"/>
      <line num="34" type="stmt" count="9"/>
      <line num="35" type="stmt" count="9"/>
      <line num="36" type="stmt" count="1"/>
      <line num="40" type="stmt" count="8"/>
      <line num="41" type="stmt" count="8"/>
      <line num="42" type="stmt" count="1"/>
      <line num="45" 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="52" type="stmt" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="7"/>
      <line num="57" type="stmt" count="7"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="63" type="stmt" count="7"/>
      <line num="66" type="stmt" count="2"/>
      <line num="68" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="71" type="stmt" count="7"/>
      <line num="72" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="77" type="stmt" count="3"/>
      <line num="82" type="stmt" count="6"/>
      <line num="85" type="stmt" count="6"/>
      <line num="86" type="stmt" count="6"/>
      <line num="87" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="5"/>
      <line num="99" type="stmt" count="6"/>
      <line num="100" type="stmt" count="6"/>
      <line num="102" type="stmt" count="6"/>
      <line num="105" type="stmt" count="7"/>
      <line num="106" type="stmt" count="7"/>
      <line num="109" type="stmt" count="7"/>
      <line num="126" type="method" name="fetchIPAddressesFromLocalWiki" visibility="private" complexity="9" crap="9" count="6"/>
      <line num="134" type="stmt" count="6"/>
      <line num="138" type="stmt" count="6"/>
      <line num="139" type="stmt" count="6"/>
      <line num="141" type="stmt" count="6"/>
      <line num="142" type="stmt" count="6"/>
      <line num="143" type="stmt" count="6"/>
      <line num="145" type="stmt" count="1"/>
      <line num="148" type="stmt" count="5"/>
      <line num="149" type="stmt" count="5"/>
      <line num="152" type="stmt" count="5"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="156" type="stmt" count="5"/>
      <line num="157" type="stmt" count="5"/>
      <line num="158" type="stmt" count="5"/>
      <line num="159" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="167" type="stmt" count="5"/>
      <line num="168" type="stmt" count="5"/>
      <line num="169" type="stmt" count="1"/>
      <line num="171" type="stmt" count="5"/>
      <line num="172" type="stmt" count="0"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="5"/>
      <line num="178" type="stmt" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="184" type="stmt" count="5"/>
      <line num="186" type="stmt" count="5"/>
      <metrics loc="191" ncloc="150" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="78" elements="82" coveredelements="80"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/GlobalPreferencesHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\GlobalPreferencesHandler" namespace="global">
        <metrics complexity="9" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="24" coveredelements="24"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="16" type="stmt" count="13"/>
      <line num="21" type="method" name="onGlobalPreferencesSetGlobalPreferences" visibility="public" complexity="8" crap="8" count="13"/>
      <line num="27" type="stmt" count="13"/>
      <line num="28" type="stmt" count="13"/>
      <line num="30" type="stmt" count="13"/>
      <line num="31" type="stmt" count="13"/>
      <line num="34" type="stmt" count="13"/>
      <line num="35" type="stmt" count="13"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="39" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="46" type="stmt" count="13"/>
      <line num="47" type="stmt" count="13"/>
      <line num="48" type="stmt" count="13"/>
      <line num="50" type="stmt" count="13"/>
      <line num="51" type="stmt" count="13"/>
      <line num="52" type="stmt" count="13"/>
      <line num="54" type="stmt" count="13"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="3"/>
      <line num="59" type="stmt" count="1"/>
      <metrics loc="65" ncloc="60" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="24" coveredelements="24"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/GroupsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\GroupsHandler" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="21" type="stmt" count="4"/>
      <line num="28" type="method" name="onUserGroupsChanged" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="39" type="stmt" count="1"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="1"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="50" 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="59" type="stmt" count="1"/>
      <metrics loc="62" ncloc="53" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/IPInfoHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\IPInfoHandler" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="16" type="stmt" count="5"/>
      <line num="21" type="method" name="onIPInfoHandlerRun" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="27" type="stmt" count="5"/>
      <line num="28" type="stmt" count="1"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="3"/>
      <line num="36" type="stmt" count="3"/>
      <line num="37" type="stmt" count="3"/>
      <line num="38" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <metrics loc="45" ncloc="41" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/LogDisplayHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\LogDisplayHandler" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="16" coveredelements="16"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="26" type="method" name="onChangesListInsertLogEntry" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="31" type="method" name="onLogEventsListLineEnding" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="32" type="stmt" count="6"/>
      <line num="44" type="method" name="handleLogDisplayHook" visibility="private" complexity="6" crap="6" count="7"/>
      <line num="46" type="stmt" count="7"/>
      <line num="47" type="stmt" count="1"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="57" type="stmt" count="2"/>
      <line num="61" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="1"/>
      <line num="68" type="stmt" count="3"/>
      <metrics loc="71" ncloc="53" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="16" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/PageDisplay.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\PageDisplay" namespace="global">
        <metrics complexity="57" methods="13" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="211" coveredstatements="211" elements="224" coveredelements="224"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="937"/>
      <line num="54" type="stmt" count="937"/>
      <line num="59" type="method" name="onBeforePageDisplay" visibility="public" complexity="1" crap="1" count="928"/>
      <line num="60" type="stmt" count="928"/>
      <line num="61" type="stmt" count="928"/>
      <line num="62" type="stmt" count="928"/>
      <line num="63" type="stmt" count="928"/>
      <line num="64" type="stmt" count="928"/>
      <line num="65" type="stmt" count="928"/>
      <line num="66" type="stmt" count="928"/>
      <line num="69" type="method" name="addSuggestedInvestigationsFeatures" visibility="private" complexity="6" crap="6" count="928"/>
      <line num="71" type="stmt" count="928"/>
      <line num="72" type="stmt" count="928"/>
      <line num="73" type="stmt" count="785"/>
      <line num="75" type="stmt" count="143"/>
      <line num="76" type="stmt" count="143"/>
      <line num="77" type="stmt" count="143"/>
      <line num="78" type="stmt" count="143"/>
      <line num="81" type="stmt" count="143"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="96" type="method" name="addIPRevealButtons" visibility="private" complexity="3" crap="3" count="928"/>
      <line num="97" type="stmt" count="928"/>
      <line num="98" type="stmt" count="754"/>
      <line num="101" type="stmt" count="174"/>
      <line num="102" type="stmt" count="174"/>
      <line num="103" type="stmt" count="174"/>
      <line num="106" type="stmt" count="174"/>
      <line num="107" type="stmt" count="174"/>
      <line num="108" type="stmt" count="36"/>
      <line num="109" type="stmt" count="36"/>
      <line num="110" type="stmt" count="36"/>
      <line num="111" type="stmt" count="36"/>
      <line num="114" type="stmt" count="174"/>
      <line num="115" type="stmt" count="174"/>
      <line num="117" type="stmt" count="174"/>
      <line num="118" type="stmt" count="174"/>
      <line num="119" type="stmt" count="174"/>
      <line num="120" type="stmt" count="174"/>
      <line num="121" type="stmt" count="174"/>
      <line num="125" type="stmt" count="174"/>
      <line num="126" type="stmt" count="174"/>
      <line num="127" type="stmt" count="174"/>
      <line num="128" type="stmt" count="174"/>
      <line num="129" type="stmt" count="174"/>
      <line num="138" type="method" name="addUserInfoCardConfigVars" visibility="private" complexity="4" crap="4" count="928"/>
      <line num="139" type="stmt" count="928"/>
      <line num="140" type="stmt" count="923"/>
      <line num="143" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="146" type="stmt" count="5"/>
      <line num="147" type="stmt" count="5"/>
      <line num="148" type="stmt" count="5"/>
      <line num="151" type="stmt" count="5"/>
      <line num="152" type="stmt" count="5"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="156" type="stmt" count="5"/>
      <line num="157" type="stmt" count="5"/>
      <line num="158" type="stmt" count="5"/>
      <line num="159" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="167" type="method" name="onOutputPageParserOutput" visibility="public" complexity="3" crap="3" count="11"/>
      <line num="168" type="stmt" count="11"/>
      <line num="169" type="stmt" count="11"/>
      <line num="170" type="stmt" count="11"/>
      <line num="171" type="stmt" count="11"/>
      <line num="172" type="stmt" count="1"/>
      <line num="175" type="stmt" count="10"/>
      <line num="176" type="stmt" count="10"/>
      <line num="177" type="stmt" count="10"/>
      <line num="178" type="stmt" count="10"/>
      <line num="185" type="method" name="addUserInfoCardForInterfaceMessages" visibility="private" complexity="2" crap="2" count="928"/>
      <line num="186" type="stmt" count="928"/>
      <line num="187" type="stmt" count="928"/>
      <line num="188" type="stmt" count="925"/>
      <line num="192" type="stmt" count="3"/>
      <line num="193" type="stmt" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="208" type="method" name="enableUserInfoCardForTargets" visibility="private" complexity="6" crap="6" count="11"/>
      <line num="209" type="stmt" count="11"/>
      <line num="210" type="stmt" count="11"/>
      <line num="211" type="stmt" count="4"/>
      <line num="214" type="stmt" count="9"/>
      <line num="215" type="stmt" count="9"/>
      <line num="216" type="stmt" count="9"/>
      <line num="217" type="stmt" count="9"/>
      <line num="219" type="stmt" count="9"/>
      <line num="225" type="stmt" count="9"/>
      <line num="226" type="stmt" count="9"/>
      <line num="227" type="stmt" count="9"/>
      <line num="228" type="stmt" count="9"/>
      <line num="229" type="stmt" count="9"/>
      <line num="230" type="stmt" count="9"/>
      <line num="231" type="stmt" count="9"/>
      <line num="232" type="stmt" count="9"/>
      <line num="233" type="stmt" count="9"/>
      <line num="234" type="stmt" count="5"/>
      <line num="238" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="240" type="stmt" count="4"/>
      <line num="242" type="stmt" count="4"/>
      <line num="248" type="method" name="hasEnabledUserInfoCard" visibility="private" complexity="2" crap="2" count="936"/>
      <line num="249" type="stmt" count="936"/>
      <line num="251" type="stmt" count="936"/>
      <line num="252" type="stmt" count="936"/>
      <line num="253" type="stmt" count="936"/>
      <line num="254" type="stmt" count="936"/>
      <line num="265" type="method" name="getGlobalPreferenceValue" visibility="private" complexity="5" crap="5" count="133"/>
      <line num="267" type="stmt" count="133"/>
      <line num="268" type="stmt" count="133"/>
      <line num="274" type="stmt" count="68"/>
      <line num="275" type="stmt" count="68"/>
      <line num="276" type="stmt" count="68"/>
      <line num="277" type="stmt" count="68"/>
      <line num="280" type="stmt" count="65"/>
      <line num="291" type="method" name="addTemporaryAccountsOnboardingDialog" visibility="private" complexity="10" crap="10" count="928"/>
      <line num="292" type="stmt" count="928"/>
      <line num="293" type="stmt" count="234"/>
      <line num="296" type="stmt" count="694"/>
      <line num="297" type="stmt" count="694"/>
      <line num="299" type="stmt" count="694"/>
      <line num="300" type="stmt" count="694"/>
      <line num="301" type="stmt" count="694"/>
      <line num="303" type="stmt" count="473"/>
      <line num="306" type="stmt" count="221"/>
      <line num="307" type="stmt" count="221"/>
      <line num="308" type="stmt" count="221"/>
      <line num="309" type="stmt" count="221"/>
      <line num="310" type="stmt" count="72"/>
      <line num="313" type="stmt" count="149"/>
      <line num="314" type="stmt" count="149"/>
      <line num="315" type="stmt" count="149"/>
      <line num="316" type="stmt" count="149"/>
      <line num="317" type="stmt" count="149"/>
      <line num="318" type="stmt" count="133"/>
      <line num="319" type="stmt" count="133"/>
      <line num="320" type="stmt" count="133"/>
      <line num="321" type="stmt" count="133"/>
      <line num="325" type="stmt" count="133"/>
      <line num="326" type="stmt" count="133"/>
      <line num="327" type="stmt" count="133"/>
      <line num="328" type="stmt" count="133"/>
      <line num="329" type="stmt" count="133"/>
      <line num="330" type="stmt" count="133"/>
      <line num="331" type="stmt" count="133"/>
      <line num="332" type="stmt" count="133"/>
      <line num="333" type="stmt" count="133"/>
      <line num="334" type="stmt" count="133"/>
      <line num="335" type="stmt" count="133"/>
      <line num="336" type="stmt" count="133"/>
      <line num="337" type="stmt" count="133"/>
      <line num="338" type="stmt" count="133"/>
      <line num="339" type="stmt" count="133"/>
      <line num="340" type="stmt" count="133"/>
      <line num="341" type="stmt" count="133"/>
      <line num="342" type="stmt" count="133"/>
      <line num="343" type="stmt" count="133"/>
      <line num="347" type="stmt" count="133"/>
      <line num="348" type="stmt" count="133"/>
      <line num="349" type="stmt" count="133"/>
      <line num="350" type="stmt" count="133"/>
      <line num="351" type="stmt" count="133"/>
      <line num="363" type="method" name="loadIPInfoGlobalContributionsLink" visibility="private" complexity="8" crap="8" count="928"/>
      <line num="364" type="stmt" count="928"/>
      <line num="365" type="stmt" count="489"/>
      <line num="370" type="stmt" count="439"/>
      <line num="371" type="stmt" count="439"/>
      <line num="372" type="stmt" count="436"/>
      <line num="376" type="stmt" count="3"/>
      <line num="378" type="stmt" count="3"/>
      <line num="379" type="stmt" count="3"/>
      <line num="380" type="stmt" count="3"/>
      <line num="382" type="stmt" count="1"/>
      <line num="387" type="stmt" count="2"/>
      <line num="388" type="stmt" count="2"/>
      <line num="389" type="stmt" count="2"/>
      <line num="390" type="stmt" count="2"/>
      <line num="392" type="stmt" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="404" type="method" name="instrumentSuggestedInvestigations" visibility="private" complexity="6" crap="6" count="928"/>
      <line num="406" type="stmt" count="928"/>
      <line num="407" type="stmt" count="921"/>
      <line num="412" type="stmt" count="7"/>
      <line num="413" type="stmt" count="1"/>
      <line num="417" type="stmt" count="6"/>
      <line num="418" type="stmt" count="6"/>
      <line num="419" type="stmt" count="6"/>
      <line num="420" type="stmt" count="6"/>
      <line num="421" type="stmt" count="4"/>
      <line num="425" type="stmt" count="2"/>
      <line num="426" type="stmt" count="2"/>
      <line num="427" type="stmt" count="2"/>
      <line num="431" type="stmt" count="2"/>
      <line num="432" type="stmt" count="1"/>
      <line num="433" type="stmt" count="1"/>
      <line num="434" type="stmt" count="1"/>
      <line num="435" type="stmt" count="1"/>
      <line num="437" type="stmt" count="1"/>
      <line num="438" type="stmt" count="1"/>
      <line num="439" type="stmt" count="1"/>
      <line num="440" type="stmt" count="1"/>
      <line num="441" type="stmt" count="1"/>
      <line num="442" type="stmt" count="1"/>
      <line num="443" type="stmt" count="1"/>
      <line num="444" type="stmt" count="1"/>
      <line num="445" type="stmt" count="1"/>
      <line num="446" type="stmt" count="1"/>
      <line num="447" type="stmt" count="1"/>
      <line num="452" type="stmt" count="2"/>
      <line num="453" type="stmt" count="2"/>
      <line num="454" type="stmt" count="2"/>
      <line num="455" type="stmt" count="2"/>
      <line num="456" type="stmt" count="2"/>
      <line num="457" type="stmt" count="2"/>
      <line num="458" type="stmt" count="2"/>
      <line num="459" type="stmt" count="2"/>
      <metrics loc="462" ncloc="358" classes="1" methods="13" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="211" coveredstatements="211" elements="224" coveredelements="224"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/ParserFunctionsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\ParserFunctionsHandler" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="50" type="stmt" count="20"/>
      <line num="53" type="method" name="onParserFirstCallInit" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="54" type="stmt" count="13"/>
      <line num="74" type="method" name="renderUserInfoCardButton" visibility="public" complexity="3" crap="3" count="19"/>
      <line num="75" type="stmt" count="19"/>
      <line num="76" type="stmt" count="19"/>
      <line num="77" type="stmt" count="19"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="5"/>
      <line num="81" type="stmt" count="4"/>
      <line num="83" type="stmt" count="9"/>
      <line num="86" type="stmt" count="10"/>
      <line num="87" type="stmt" count="10"/>
      <line num="88" type="stmt" count="10"/>
      <line num="89" type="stmt" count="10"/>
      <line num="90" type="stmt" count="10"/>
      <line num="91" type="stmt" count="10"/>
      <line num="92" type="stmt" count="10"/>
      <line num="94" type="stmt" count="10"/>
      <line num="95" type="stmt" count="10"/>
      <line num="96" type="stmt" count="10"/>
      <line num="97" type="stmt" count="10"/>
      <line num="99" type="stmt" count="10"/>
      <line num="105" type="method" name="getRecordedUserInfoCardTargets" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="106" type="stmt" count="8"/>
      <line num="115" type="method" name="clearRecordedUserInfoCardTargets" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="116" type="stmt" count="20"/>
      <metrics loc="119" ncloc="69" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/PerformRetroactiveAutoblockHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\PerformRetroactiveAutoblockHandler" namespace="global">
        <metrics complexity="9" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="42" elements="44" coveredelements="44"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="24" type="stmt" count="8"/>
      <line num="34" type="method" name="onPerformRetroactiveAutoblock" visibility="public" complexity="8" crap="8" count="8"/>
      <line num="37" type="stmt" count="8"/>
      <line num="38" type="stmt" count="8"/>
      <line num="39" type="stmt" count="1"/>
      <line num="45" type="stmt" count="7"/>
      <line num="46" type="stmt" count="7"/>
      <line num="47" type="stmt" count="1"/>
      <line num="52" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" 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="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="68" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="84" type="stmt" count="2"/>
      <line num="90" type="stmt" count="6"/>
      <line num="91" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="103" type="stmt" count="6"/>
      <metrics loc="106" ncloc="86" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="42" elements="44" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/Preferences.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\Preferences" namespace="global">
        <metrics complexity="25" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="107" elements="112" coveredelements="112"/>
      </class>
      <line num="56" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="64" type="stmt" count="28"/>
      <line num="69" type="method" name="onGetPreferences" visibility="public" complexity="12" crap="12" count="12"/>
      <line num="70" type="stmt" count="12"/>
      <line num="71" type="stmt" count="12"/>
      <line num="72" type="stmt" count="12"/>
      <line num="74" type="stmt" count="12"/>
      <line num="75" type="stmt" count="12"/>
      <line num="76" type="stmt" count="12"/>
      <line num="78" type="stmt" count="12"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="87" type="stmt" count="12"/>
      <line num="89" type="stmt" count="12"/>
      <line num="90" type="stmt" count="12"/>
      <line num="91" type="stmt" count="12"/>
      <line num="92" type="stmt" count="12"/>
      <line num="93" type="stmt" count="12"/>
      <line num="94" type="stmt" count="12"/>
      <line num="95" type="stmt" count="12"/>
      <line num="96" type="stmt" count="12"/>
      <line num="97" type="stmt" count="12"/>
      <line num="98" type="stmt" count="12"/>
      <line num="100" type="stmt" count="12"/>
      <line num="101" type="stmt" count="12"/>
      <line num="102" type="stmt" count="12"/>
      <line num="103" type="stmt" count="12"/>
      <line num="104" type="stmt" count="12"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="134" type="stmt" count="12"/>
      <line num="135" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="150" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <line num="172" type="stmt" count="3"/>
      <line num="173" type="stmt" count="3"/>
      <line num="174" type="stmt" count="3"/>
      <line num="175" type="stmt" count="3"/>
      <line num="176" type="stmt" count="3"/>
      <line num="177" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="180" type="stmt" count="3"/>
      <line num="181" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="192" type="method" name="onSaveUserOptions" visibility="public" complexity="7" crap="7" count="15"/>
      <line num="193" type="stmt" count="15"/>
      <line num="194" type="stmt" count="15"/>
      <line num="200" type="stmt" count="15"/>
      <line num="201" type="stmt" count="15"/>
      <line num="202" type="stmt" count="15"/>
      <line num="205" type="stmt" count="15"/>
      <line num="206" type="stmt" count="15"/>
      <line num="208" type="stmt" count="7"/>
      <line num="209" type="stmt" count="7"/>
      <line num="210" type="stmt" count="3"/>
      <line num="212" type="stmt" count="4"/>
      <line num="218" type="method" name="onUserGetDefaultOptions" visibility="public" complexity="1" crap="1" count="28"/>
      <line num="219" type="stmt" count="28"/>
      <line num="220" type="stmt" count="28"/>
      <line num="221" type="stmt" count="28"/>
      <line num="236" type="method" name="validateAutoRevealPreferenceValue" visibility="private" complexity="4" crap="4" count="4"/>
      <line num="241" type="stmt" count="4"/>
      <line num="242" type="stmt" count="1"/>
      <line num="245" type="stmt" count="3"/>
      <line num="246" type="stmt" count="1"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <metrics loc="256" ncloc="203" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="107" elements="112" coveredelements="112"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/RLRegisterModulesHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\RLRegisterModulesHandler" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="188" elements="190" coveredelements="190"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="20" type="stmt" count="5"/>
      <line num="25" type="method" name="onResourceLoaderRegisterModules" visibility="public" complexity="9" crap="9" count="5"/>
      <line num="26" type="stmt" count="5"/>
      <line num="27" type="stmt" count="5"/>
      <line num="29" type="stmt" count="5"/>
      <line num="30" type="stmt" count="5"/>
      <line num="31" type="stmt" count="5"/>
      <line num="32" type="stmt" count="5"/>
      <line num="33" type="stmt" count="5"/>
      <line num="34" type="stmt" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="39" type="stmt" count="5"/>
      <line num="40" type="stmt" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="45" type="stmt" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <line num="47" type="stmt" count="5"/>
      <line num="48" type="stmt" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="50" type="stmt" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="54" type="stmt" count="5"/>
      <line num="55" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="64" type="stmt" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="83" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="88" type="stmt" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="90" type="stmt" count="5"/>
      <line num="91" type="stmt" count="5"/>
      <line num="92" type="stmt" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="95" type="stmt" count="5"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="99" type="stmt" count="5"/>
      <line num="100" type="stmt" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="102" type="stmt" count="5"/>
      <line num="103" type="stmt" count="5"/>
      <line num="104" type="stmt" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="124" type="stmt" count="5"/>
      <line num="125" type="stmt" count="5"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="128" type="stmt" count="5"/>
      <line num="129" type="stmt" count="5"/>
      <line num="130" type="stmt" count="5"/>
      <line num="131" type="stmt" count="5"/>
      <line num="132" type="stmt" count="5"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="136" type="stmt" count="5"/>
      <line num="137" type="stmt" count="5"/>
      <line num="138" type="stmt" count="5"/>
      <line num="139" type="stmt" count="5"/>
      <line num="140" type="stmt" count="5"/>
      <line num="141" type="stmt" count="5"/>
      <line num="142" type="stmt" count="5"/>
      <line num="143" type="stmt" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="146" type="stmt" count="5"/>
      <line num="147" type="stmt" count="5"/>
      <line num="148" type="stmt" count="5"/>
      <line num="149" type="stmt" count="5"/>
      <line num="150" type="stmt" count="5"/>
      <line num="151" type="stmt" count="5"/>
      <line num="152" type="stmt" count="5"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="156" type="stmt" count="5"/>
      <line num="157" type="stmt" count="5"/>
      <line num="158" type="stmt" count="5"/>
      <line num="159" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="167" type="stmt" count="5"/>
      <line num="168" type="stmt" count="5"/>
      <line num="169" type="stmt" count="5"/>
      <line num="170" type="stmt" count="5"/>
      <line num="171" type="stmt" count="5"/>
      <line num="172" type="stmt" count="5"/>
      <line num="174" type="stmt" count="5"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="195" type="stmt" count="5"/>
      <line num="196" type="stmt" count="3"/>
      <line num="197" type="stmt" count="3"/>
      <line num="203" type="stmt" count="5"/>
      <line num="204" type="stmt" count="5"/>
      <line num="205" type="stmt" count="5"/>
      <line num="206" type="stmt" count="5"/>
      <line num="207" type="stmt" count="5"/>
      <line num="208" type="stmt" 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="219" type="stmt" count="5"/>
      <line num="220" type="stmt" count="5"/>
      <line num="221" type="stmt" count="5"/>
      <line num="222" type="stmt" count="5"/>
      <line num="223" type="stmt" count="5"/>
      <line num="224" type="stmt" count="5"/>
      <line num="225" type="stmt" count="5"/>
      <line num="226" type="stmt" count="5"/>
      <line num="227" type="stmt" count="5"/>
      <line num="228" type="stmt" count="5"/>
      <line num="229" type="stmt" count="5"/>
      <line num="230" type="stmt" count="5"/>
      <line num="231" type="stmt" count="5"/>
      <line num="232" type="stmt" count="5"/>
      <line num="233" type="stmt" count="5"/>
      <line num="235" type="stmt" count="5"/>
      <line num="236" type="stmt" count="5"/>
      <metrics loc="241" ncloc="230" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="188" elements="190" coveredelements="190"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/RecentChangeSaveHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\RecentChangeSaveHandler" namespace="global">
        <metrics complexity="6" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="19" coveredelements="19"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="20" type="stmt" count="7"/>
      <line num="28" type="method" name="onRecentChange_save" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="45" type="method" name="mtRand" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="54" type="method" name="maybePruneIPData" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="2"/>
      <line num="66" type="method" name="pruneIPData" visibility="private" complexity="1" crap="1" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <metrics loc="77" ncloc="48" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="19" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/RenameUserSQLHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\RenameUserSQLHandler" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="12" type="method" name="onRenameUserSQL" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="13" type="stmt" count="1"/>
      <metrics loc="16" ncloc="15" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SchemaChangesHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SchemaChangesHandler" namespace="global">
        <metrics complexity="12" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="363" ncloc="323" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SidebarLinksHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SidebarLinksHandler" namespace="global">
        <metrics complexity="15" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="59" elements="65" coveredelements="65"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="35" type="stmt" count="15"/>
      <line num="38" type="method" name="onSidebarBeforeOutput" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="39" type="stmt" count="15"/>
      <line num="40" type="stmt" count="15"/>
      <line num="55" type="method" name="addGlobalContributions" visibility="private" complexity="3" crap="3" count="15"/>
      <line num="56" type="stmt" count="15"/>
      <line num="57" type="stmt" count="10"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="64" type="stmt" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="67" type="stmt" count="5"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="79" type="stmt" count="2"/>
      <line num="90" type="method" name="shouldLinkToGlobalContributions" visibility="private" complexity="4" crap="4" count="15"/>
      <line num="91" type="stmt" count="15"/>
      <line num="92" type="stmt" count="15"/>
      <line num="93" type="stmt" count="8"/>
      <line num="97" type="stmt" count="7"/>
      <line num="98" type="stmt" count="7"/>
      <line num="100" type="stmt" count="1"/>
      <line num="103" type="stmt" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="108" type="stmt" count="6"/>
      <line num="119" type="method" name="addIPAutoReveal" visibility="private" complexity="3" crap="3" count="15"/>
      <line num="120" type="stmt" count="15"/>
      <line num="121" type="stmt" count="12"/>
      <line num="124" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="2"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="155" type="method" name="shouldAddIPAutoReveal" visibility="private" complexity="3" crap="3" count="15"/>
      <line num="156" type="stmt" count="15"/>
      <line num="157" type="stmt" count="15"/>
      <line num="158" type="stmt" count="11"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="164" type="stmt" count="4"/>
      <metrics loc="167" ncloc="124" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="59" elements="65" coveredelements="65"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SpecialContributionsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SpecialContributionsHandler" namespace="global">
        <metrics complexity="50" methods="10" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="208" coveredstatements="137" elements="218" coveredelements="141"/>
      </class>
      <line num="56" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="66" type="stmt" count="20"/>
      <line num="69" type="method" name="onSpecialContributionsBeforeMainOutput" visibility="public" complexity="4" crap="4.07" count="11"/>
      <line num="70" type="stmt" count="11"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="stmt" count="11"/>
      <line num="75" type="stmt" count="4"/>
      <line num="77" type="stmt" count="11"/>
      <line num="78" type="stmt" count="2"/>
      <line num="82" type="method" name="shouldShowCountFromAssociatedIPs" visibility="private" complexity="5" crap="5" count="11"/>
      <line num="83" type="stmt" count="11"/>
      <line num="84" type="stmt" count="6"/>
      <line num="89" type="stmt" count="5"/>
      <line num="90" type="stmt" count="1"/>
      <line num="93" type="stmt" count="4"/>
      <line num="96" type="method" name="shouldShowCountFromThisIP" visibility="private" complexity="4" crap="4" count="11"/>
      <line num="98" type="stmt" count="11"/>
      <line num="99" type="stmt" count="11"/>
      <line num="100" type="stmt" count="11"/>
      <line num="102" type="stmt" count="9"/>
      <line num="106" type="stmt" count="2"/>
      <line num="109" type="method" name="addCountFromAssociatedIPs" visibility="private" complexity="13" crap="34.71" count="4"/>
      <line num="111" type="stmt" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="113" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="115" type="stmt" count="4"/>
      <line num="116" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="127" type="stmt" count="4"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="152" type="stmt" count="2"/>
      <line num="153" type="stmt" count="2"/>
      <line num="154" type="stmt" count="2"/>
      <line num="155" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="157" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" 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="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" 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="189" type="stmt" count="0"/>
      <line num="190" 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="196" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="2"/>
      <line num="236" type="stmt" count="2"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="243" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="2"/>
      <line num="253" type="stmt" count="0"/>
      <line num="260" type="stmt" count="2"/>
      <line num="261" type="stmt" count="2"/>
      <line num="262" type="stmt" count="2"/>
      <line num="264" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="267" type="stmt" count="2"/>
      <line num="271" type="method" name="addCountFromThisIPSubtitle" visibility="private" complexity="4" crap="4.43" count="2"/>
      <line num="272" type="stmt" count="2"/>
      <line num="274" type="stmt" count="2"/>
      <line num="275" type="stmt" count="2"/>
      <line num="277" type="stmt" count="1"/>
      <line num="279" 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="285" type="stmt" count="1"/>
      <line num="286" type="stmt" count="1"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="304" type="method" name="countBlockedAccounts" visibility="private" complexity="5" crap="5.14" count="1"/>
      <line num="305" type="stmt" count="1"/>
      <line num="306" type="stmt" count="0"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="315" type="stmt" count="0"/>
      <line num="318" type="stmt" count="1"/>
      <line num="319" type="stmt" count="1"/>
      <line num="320" type="stmt" count="1"/>
      <line num="322" type="stmt" count="1"/>
      <line num="323" type="stmt" count="1"/>
      <line num="324" type="stmt" count="1"/>
      <line num="325" type="stmt" count="0"/>
      <line num="328" type="stmt" count="1"/>
      <line num="332" type="method" name="onSpecialContributions__getForm__filters" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="333" type="stmt" count="4"/>
      <line num="335" type="stmt" count="4"/>
      <line num="336" type="stmt" count="3"/>
      <line num="339" type="stmt" count="1"/>
      <line num="340" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="343" type="stmt" count="1"/>
      <line num="347" type="method" name="onContribsPager__getQueryInfo" visibility="public" complexity="8" crap="8.41" count="5"/>
      <line num="348" type="stmt" count="5"/>
      <line num="349" type="stmt" count="5"/>
      <line num="350" type="stmt" count="0"/>
      <line num="352" type="stmt" count="5"/>
      <line num="353" type="stmt" count="5"/>
      <line num="354" type="stmt" count="0"/>
      <line num="357" type="stmt" count="5"/>
      <line num="358" type="stmt" count="5"/>
      <line num="360" type="stmt" count="5"/>
      <line num="361" type="stmt" count="5"/>
      <line num="362" type="stmt" count="5"/>
      <line num="363" type="stmt" count="5"/>
      <line num="364" type="stmt" count="5"/>
      <line num="365" type="stmt" count="3"/>
      <line num="368" type="stmt" count="2"/>
      <line num="371" type="stmt" count="0"/>
      <line num="374" type="stmt" count="2"/>
      <line num="375" type="stmt" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="377" type="stmt" count="1"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="0"/>
      <line num="383" type="stmt" count="1"/>
      <line num="384" type="stmt" count="1"/>
      <line num="385" type="stmt" count="1"/>
      <line num="386" type="stmt" count="0"/>
      <line num="389" type="stmt" count="1"/>
      <line num="393" type="method" name="canShowRelatedTemporaryAccounts" visibility="private" complexity="4" crap="4.02" count="13"/>
      <line num="398" type="stmt" count="13"/>
      <line num="399" type="stmt" count="4"/>
      <line num="402" type="stmt" count="9"/>
      <line num="403" type="stmt" count="0"/>
      <line num="406" type="stmt" count="9"/>
      <line num="407" type="stmt" count="9"/>
      <line num="408" type="stmt" count="9"/>
      <line num="409" type="stmt" count="9"/>
      <line num="410" type="stmt" count="4"/>
      <line num="413" type="stmt" count="5"/>
      <metrics loc="416" ncloc="372" classes="1" methods="10" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="208" coveredstatements="137" elements="218" coveredelements="141"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SpecialLogAddIPRevealLogTypeAliasHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SpecialLogAddIPRevealLogTypeAliasHandler" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="16" coveredelements="16"/>
      </class>
      <line num="32" type="method" name="onSpecialLogResolveLogType" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="1"/>
      <line num="42" type="method" name="onSpecialLogGetSubpagesForPrefixSearch" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="2"/>
      <line num="51" type="method" name="canAccessIPRevealLog" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="1"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <metrics loc="66" ncloc="52" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="16" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SpecialPageBeforeExecuteHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SpecialPageBeforeExecuteHandler" namespace="global">
        <metrics complexity="6" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="25" coveredelements="25"/>
      </class>
      <line num="21" type="method" name="onSpecialPageBeforeExecute" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="22" type="stmt" count="6"/>
      <line num="23" type="stmt" count="6"/>
      <line num="24" type="stmt" count="6"/>
      <line num="26" type="stmt" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="28" type="stmt" count="6"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="1"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="55" type="stmt" count="2"/>
      <metrics loc="58" ncloc="47" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="25" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SuggestedInvestigationsAutoCloseOnGlobalBlockHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SuggestedInvestigationsAutoCloseOnGlobalBlockHandler" namespace="global">
        <metrics complexity="7" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="11" coveredelements="11"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="27" type="stmt" count="8"/>
      <line num="31" type="method" name="onGlobalBlockingGlobalBlockAudit" visibility="public" complexity="6" crap="6" count="8"/>
      <line num="32" type="stmt" count="8"/>
      <line num="33" type="stmt" count="1"/>
      <line num="36" type="stmt" count="7"/>
      <line num="37" type="stmt" count="7"/>
      <line num="38" type="stmt" count="3"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="2"/>
      <line num="45" type="stmt" count="4"/>
      <metrics loc="49" ncloc="47" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="11" coveredelements="11"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SuggestedInvestigationsAutoCloseOnGlobalLockHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SuggestedInvestigationsAutoCloseOnGlobalLockHandler" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="12" coveredelements="12"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="28" type="stmt" count="5"/>
      <line num="32" type="method" name="onCentralAuthGlobalUserLockStatusChanged" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="1"/>
      <line num="44" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="2"/>
      <line num="51" type="stmt" count="1"/>
      <metrics loc="55" ncloc="53" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SuggestedInvestigationsAutoCloseOnUsersBlockedHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SuggestedInvestigationsAutoCloseOnUsersBlockedHandler" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="7" coveredelements="7"/>
      </class>
      <line num="15" type="method" name="onBlockIpComplete" visibility="public" complexity="5" crap="5" count="7"/>
      <line num="16" type="stmt" count="7"/>
      <line num="17" type="stmt" count="1"/>
      <line num="20" type="stmt" count="6"/>
      <line num="21" type="stmt" count="6"/>
      <line num="22" type="stmt" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <metrics loc="29" ncloc="28" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="7" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SuggestedInvestigationsCasePropertiesHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SuggestedInvestigationsCasePropertiesHandler" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="20" type="stmt" count="3"/>
      <line num="25" type="method" name="onRevisionFromEditComplete" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="28" type="stmt" count="1"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <metrics loc="44" ncloc="38" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/SuggestedInvestigationsHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\SuggestedInvestigationsHandler" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="27" coveredelements="27"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="30" type="method" name="onLocalUserCreated" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="40" type="method" name="onPageSaveComplete" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="55" type="method" name="onUserSetEmail" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="63" type="method" name="onUserSetEmailAuthenticationTimestamp" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <metrics loc="70" ncloc="61" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="27" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/ToolLinksHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\ToolLinksHandler" namespace="global">
        <metrics complexity="41" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="146" elements="153" coveredelements="153"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="34"/>
      <line num="46" type="stmt" count="34"/>
      <line num="55" type="method" name="userCanRevealIP" visibility="private" complexity="3" crap="3" count="13"/>
      <line num="56" type="stmt" count="13"/>
      <line num="57" type="stmt" count="13"/>
      <line num="58" type="stmt" count="13"/>
      <line num="59" type="stmt" count="13"/>
      <line num="60" type="stmt" count="13"/>
      <line num="61" type="stmt" count="13"/>
      <line num="62" type="stmt" count="13"/>
      <line num="63" type="stmt" count="13"/>
      <line num="64" type="stmt" count="13"/>
      <line num="65" type="stmt" count="13"/>
      <line num="66" type="stmt" count="13"/>
      <line num="67" type="stmt" count="13"/>
      <line num="68" type="stmt" count="13"/>
      <line num="69" type="stmt" count="13"/>
      <line num="75" type="method" name="isMobile" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="85" type="method" name="userCanSeeDeleted" visibility="private" complexity="1" crap="1" count="7"/>
      <line num="86" type="stmt" count="7"/>
      <line num="90" type="method" name="onSpecialContributionsBeforeMainOutput" visibility="public" complexity="10" crap="10" count="12"/>
      <line num="91" type="stmt" count="12"/>
      <line num="92" type="stmt" count="1"/>
      <line num="96" type="stmt" count="11"/>
      <line num="97" type="stmt" count="11"/>
      <line num="98" type="stmt" count="11"/>
      <line num="100" type="stmt" count="3"/>
      <line num="103" type="stmt" count="8"/>
      <line num="104" type="stmt" count="8"/>
      <line num="105" type="stmt" count="8"/>
      <line num="106" type="stmt" count="2"/>
      <line num="110" type="stmt" count="6"/>
      <line num="111" type="stmt" count="6"/>
      <line num="112" type="stmt" count="6"/>
      <line num="113" type="stmt" count="6"/>
      <line num="114" type="stmt" count="6"/>
      <line num="115" type="stmt" count="6"/>
      <line num="116" type="stmt" count="6"/>
      <line num="117" type="stmt" count="6"/>
      <line num="118" type="stmt" count="6"/>
      <line num="119" type="stmt" count="6"/>
      <line num="123" type="stmt" count="6"/>
      <line num="124" type="stmt" count="6"/>
      <line num="125" type="stmt" count="1"/>
      <line num="128" type="stmt" count="6"/>
      <line num="129" type="stmt" count="6"/>
      <line num="130" type="stmt" count="6"/>
      <line num="131" type="stmt" count="6"/>
      <line num="132" type="stmt" count="6"/>
      <line num="133" type="stmt" count="6"/>
      <line num="134" type="stmt" count="6"/>
      <line num="135" type="stmt" count="6"/>
      <line num="136" type="stmt" count="6"/>
      <line num="137" type="stmt" count="6"/>
      <line num="138" type="stmt" count="6"/>
      <line num="139" type="stmt" count="6"/>
      <line num="140" type="stmt" count="6"/>
      <line num="141" type="stmt" count="6"/>
      <line num="144" type="stmt" count="6"/>
      <line num="153" type="method" name="onContributionsToolLinks" visibility="public" complexity="19" crap="19" count="15"/>
      <line num="159" type="stmt" count="15"/>
      <line num="160" type="stmt" count="15"/>
      <line num="161" type="stmt" count="15"/>
      <line num="164" type="stmt" count="15"/>
      <line num="165" type="stmt" count="15"/>
      <line num="166" type="stmt" count="15"/>
      <line num="168" type="stmt" count="7"/>
      <line num="169" type="stmt" count="4"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="176" type="stmt" count="3"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="186" type="stmt" count="7"/>
      <line num="187" type="stmt" count="7"/>
      <line num="188" type="stmt" count="7"/>
      <line num="189" type="stmt" count="7"/>
      <line num="191" type="stmt" count="7"/>
      <line num="192" type="stmt" count="3"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="3"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="207" type="stmt" count="2"/>
      <line num="212" type="stmt" count="15"/>
      <line num="213" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="220" type="stmt" count="15"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="238" type="stmt" count="15"/>
      <line num="239" type="stmt" count="15"/>
      <line num="240" type="stmt" count="15"/>
      <line num="241" type="stmt" count="15"/>
      <line num="244" type="stmt" count="1"/>
      <line num="246" type="stmt" count="1"/>
      <line num="247" type="stmt" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="250" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="263" type="method" name="onUserToolLinksEdit" visibility="public" complexity="5" crap="5" count="7"/>
      <line num="264" type="stmt" count="7"/>
      <line num="266" type="stmt" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="269" type="stmt" count="5"/>
      <line num="270" type="stmt" count="5"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="4"/>
      <line num="276" type="stmt" count="1"/>
      <line num="277" 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"/>
      <metrics loc="286" ncloc="252" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="146" elements="153" coveredelements="153"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserInfoCardCacheInvalidationHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserInfoCardCacheInvalidationHandler" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="14" coveredelements="14"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="19" type="stmt" count="5"/>
      <line num="22" type="method" name="onBlockIpComplete" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="23" type="stmt" count="3"/>
      <line num="24" type="stmt" count="1"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="28" type="stmt" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="34" type="method" name="onUnblockUserComplete" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <metrics loc="42" ncloc="40" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserInfoCardCacheInvalidationOnGlobalBlockHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserInfoCardCacheInvalidationOnGlobalBlockHandler" namespace="global">
        <metrics complexity="7" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="12" coveredelements="12"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="23" type="method" name="onGlobalBlockingGlobalBlockAudit" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="32" type="method" name="onGlobalBlockingGlobalUnblockAudit" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <metrics loc="40" ncloc="38" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserInfoCardCacheInvalidationOnGlobalLockHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserInfoCardCacheInvalidationOnGlobalLockHandler" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="4" coveredelements="4"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="18" type="stmt" count="2"/>
      <line num="21" type="method" name="onCentralAuthGlobalUserLockStatusChanged" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <metrics loc="28" ncloc="27" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="2" elements="4" coveredelements="4"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserInfoCardNavigationHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserInfoCardNavigationHandler" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="31" elements="34" coveredelements="34"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="21" type="stmt" count="13"/>
      <line num="24" type="method" name="onSkinTemplateNavigation__Universal" visibility="public" complexity="2" crap="2" count="13"/>
      <line num="25" type="stmt" count="13"/>
      <line num="26" type="stmt" count="6"/>
      <line num="29" type="stmt" count="7"/>
      <line num="30" type="stmt" count="7"/>
      <line num="31" type="stmt" count="7"/>
      <line num="33" type="stmt" count="7"/>
      <line num="34" type="stmt" count="7"/>
      <line num="35" type="stmt" count="7"/>
      <line num="36" type="stmt" count="7"/>
      <line num="37" 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="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="7"/>
      <line num="59" type="method" name="shouldAddUserInfoCard" visibility="private" complexity="5" crap="5" count="13"/>
      <line num="60" type="stmt" count="13"/>
      <line num="61" type="stmt" count="2"/>
      <line num="64" type="stmt" count="11"/>
      <line num="65" type="stmt" count="11"/>
      <line num="66" type="stmt" count="2"/>
      <line num="69" type="stmt" count="9"/>
      <line num="70" type="stmt" count="9"/>
      <line num="71" type="stmt" count="1"/>
      <line num="74" type="stmt" count="8"/>
      <line num="75" type="stmt" count="8"/>
      <line num="76" type="stmt" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <metrics loc="80" ncloc="66" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="31" elements="34" coveredelements="34"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserInfoCardVariablesHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserInfoCardVariablesHandler" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="19" coveredelements="19"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="12" type="stmt" count="3"/>
      <line num="18" type="method" name="onMakeGlobalVariablesScript" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="19" type="stmt" count="3"/>
      <line num="20" type="stmt" count="3"/>
      <line num="21" type="stmt" count="3"/>
      <line num="22" type="stmt" count="3"/>
      <line num="23" type="stmt" count="1"/>
      <line num="26" type="stmt" count="2"/>
      <line num="28" type="stmt" count="2"/>
      <line num="29" type="stmt" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <metrics loc="45" ncloc="41" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="19" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserLinkRendererUserLinkPostRenderHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserLinkRendererUserLinkPostRenderHandler" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="21" elements="23" coveredelements="23"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="20" type="stmt" count="9"/>
      <line num="22" type="method" name="onUserLinkRendererUserLinkPostRender" visibility="public" complexity="3" crap="3" count="9"/>
      <line num="29" type="stmt" count="9"/>
      <line num="30" type="stmt" count="1"/>
      <line num="32" type="stmt" count="8"/>
      <line num="33" type="stmt" count="7"/>
      <line num="34" type="stmt" count="7"/>
      <line num="35" type="stmt" count="7"/>
      <line num="37" type="stmt" count="7"/>
      <line num="38" type="stmt" count="7"/>
      <line num="39" type="stmt" count="7"/>
      <line num="40" type="stmt" count="7"/>
      <line num="41" type="stmt" count="7"/>
      <line num="42" type="stmt" count="7"/>
      <line num="43" type="stmt" count="7"/>
      <line num="44" type="stmt" count="7"/>
      <line num="45" 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"/>
      <metrics loc="56" ncloc="55" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="21" elements="23" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/HookHandler/UserMergeHandler.php">
      <class name="MediaWiki\Extension\CheckUser\HookHandler\UserMergeHandler" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="26" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="onUserMergeAccountFields" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="12" type="stmt" count="0"/>
      <line num="13" type="stmt" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" 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="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" 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="36" type="stmt" count="0"/>
      <metrics loc="39" ncloc="38" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="26" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/IPContributions/IPContributionsPager.php">
      <class name="MediaWiki\Extension\CheckUser\IPContributions\IPContributionsPager" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="95" elements="100" coveredelements="98"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="1"/>
      <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="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="81" type="method" name="doQuery" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="97" type="method" name="getRevisionQuery" visibility="protected" complexity="3" crap="3" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="127" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="156" type="stmt" count="4"/>
      <line num="157" type="stmt" count="4"/>
      <line num="158" type="stmt" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="4"/>
      <line num="166" type="stmt" count="4"/>
      <line num="167" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="169" type="stmt" count="4"/>
      <line num="171" type="stmt" count="4"/>
      <line num="172" type="stmt" count="4"/>
      <line num="174" type="stmt" count="4"/>
      <line num="180" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="181" type="stmt" count="4"/>
      <metrics loc="186" ncloc="157" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="95" elements="100" coveredelements="98"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/IPContributions/IPContributionsPagerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\IPContributions\IPContributionsPagerFactory" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="21" coveredelements="21"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="48" type="method" name="createPager" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <metrics loc="74" ncloc="68" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="21" coveredelements="21"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/IPContributions/SpecialIPContributions.php">
      <class name="MediaWiki\Extension\CheckUser\IPContributions\SpecialIPContributions" namespace="global">
        <metrics complexity="28" methods="12" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="115" elements="131" coveredelements="126"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="51" type="stmt" count="15"/>
      <line num="52" type="stmt" count="15"/>
      <line num="53" type="stmt" count="15"/>
      <line num="54" type="stmt" count="15"/>
      <line num="55" type="stmt" count="15"/>
      <line num="56" type="stmt" count="15"/>
      <line num="57" type="stmt" count="15"/>
      <line num="58" type="stmt" count="15"/>
      <line num="59" type="stmt" count="15"/>
      <line num="60" type="stmt" count="15"/>
      <line num="61" type="stmt" count="15"/>
      <line num="62" type="stmt" count="15"/>
      <line num="63" type="stmt" count="15"/>
      <line num="77" type="method" name="getTargetField" visibility="protected" complexity="2" crap="2" count="9"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="81" type="stmt" count="9"/>
      <line num="82" type="stmt" count="9"/>
      <line num="83" type="stmt" count="9"/>
      <line num="84" type="stmt" count="9"/>
      <line num="85" type="stmt" count="9"/>
      <line num="86" type="stmt" count="9"/>
      <line num="87" type="stmt" count="9"/>
      <line num="88" type="stmt" count="5"/>
      <line num="89" type="stmt" count="1"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="9"/>
      <line num="93" type="stmt" count="9"/>
      <line num="94" type="stmt" count="9"/>
      <line num="95" type="stmt" count="9"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="9"/>
      <line num="98" type="stmt" count="9"/>
      <line num="99" type="stmt" count="9"/>
      <line num="111" type="method" name="userCanExecute" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="126" type="method" name="checkPermissions" visibility="public" complexity="6" crap="6.17" count="13"/>
      <line num="133" type="stmt" count="13"/>
      <line num="134" type="stmt" count="13"/>
      <line num="135" type="stmt" count="13"/>
      <line num="137" type="stmt" count="13"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" 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="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="155" type="stmt" count="2"/>
      <line num="158" type="stmt" count="10"/>
      <line num="159" type="stmt" count="10"/>
      <line num="160" type="stmt" count="10"/>
      <line num="161" type="stmt" count="10"/>
      <line num="163" type="stmt" count="10"/>
      <line num="164" type="stmt" count="1"/>
      <line num="171" type="method" name="execute" visibility="public" complexity="6" crap="6" count="14"/>
      <line num="175" type="stmt" count="14"/>
      <line num="178" type="stmt" count="14"/>
      <line num="180" type="stmt" count="13"/>
      <line num="184" type="stmt" count="9"/>
      <line num="185" type="stmt" count="9"/>
      <line num="186" type="stmt" count="9"/>
      <line num="187" type="stmt" count="9"/>
      <line num="189" type="stmt" count="9"/>
      <line num="190" type="stmt" count="9"/>
      <line num="191" type="stmt" count="3"/>
      <line num="192" type="stmt" count="3"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="3"/>
      <line num="199" type="stmt" count="6"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="205" type="stmt" count="5"/>
      <line num="212" type="method" name="isArchive" visibility="protected" complexity="1" crap="1" count="14"/>
      <line num="213" type="stmt" count="14"/>
      <line num="219" type="method" name="getPager" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="220" type="stmt" count="4"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="225" type="stmt" count="4"/>
      <line num="226" type="stmt" count="4"/>
      <line num="227" type="stmt" count="4"/>
      <line num="228" type="stmt" count="4"/>
      <line num="229" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="4"/>
      <line num="232" type="stmt" count="4"/>
      <line num="233" type="stmt" count="4"/>
      <line num="234" type="stmt" count="4"/>
      <line num="236" type="stmt" count="4"/>
      <line num="237" type="stmt" count="4"/>
      <line num="238" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="240" type="stmt" count="4"/>
      <line num="243" type="stmt" count="4"/>
      <line num="249" type="method" name="getDescription" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="250" type="stmt" count="13"/>
      <line num="256" type="method" name="getFormWrapperLegendMessageKey" visibility="protected" complexity="1" crap="1" count="9"/>
      <line num="257" type="stmt" count="9"/>
      <line num="263" type="method" name="getResultsPageTitleMessageKey" visibility="protected" complexity="2" crap="2" count="8"/>
      <line num="264" type="stmt" count="8"/>
      <line num="265" type="stmt" count="1"/>
      <line num="266" type="stmt" count="8"/>
      <line num="270" type="method" name="contributionsSub" visibility="protected" complexity="1" crap="1" count="8"/>
      <line num="271" type="stmt" count="8"/>
      <line num="275" type="stmt" count="8"/>
      <line num="276" type="stmt" count="8"/>
      <line num="277" type="stmt" count="8"/>
      <line num="278" type="stmt" count="8"/>
      <line num="280" type="stmt" count="8"/>
      <line num="284" type="method" name="shouldShowBlockLogExtract" visibility="public" complexity="2" crap="2" count="8"/>
      <line num="285" type="stmt" count="8"/>
      <line num="286" type="stmt" count="8"/>
      <metrics loc="289" ncloc="231" classes="1" methods="12" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="115" elements="131" coveredelements="126"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/ComparePager.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\ComparePager" namespace="global">
        <metrics complexity="64" methods="17" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="213" coveredstatements="209" elements="230" coveredelements="225"/>
      </class>
      <line num="87" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="44"/>
      <line num="98" type="stmt" count="44"/>
      <line num="100" type="stmt" count="44"/>
      <line num="101" type="stmt" count="44"/>
      <line num="102" type="stmt" count="44"/>
      <line num="103" type="stmt" count="44"/>
      <line num="104" type="stmt" count="44"/>
      <line num="105" type="stmt" count="44"/>
      <line num="106" type="stmt" count="44"/>
      <line num="107" type="stmt" count="44"/>
      <line num="109" type="stmt" count="44"/>
      <line num="110" type="stmt" count="44"/>
      <line num="116" type="method" name="getTableClass" visibility="protected" complexity="3" crap="3" count="4"/>
      <line num="117" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="120" type="stmt" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="129" type="method" name="getCellAttrs" visibility="public" complexity="18" crap="18" count="15"/>
      <line num="130" type="stmt" count="15"/>
      <line num="131" type="stmt" count="15"/>
      <line num="133" type="stmt" count="15"/>
      <line num="135" type="stmt" count="15"/>
      <line num="136" type="stmt" count="7"/>
      <line num="137" type="stmt" count="7"/>
      <line num="138" type="stmt" count="6"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" type="stmt" count="4"/>
      <line num="145" type="stmt" count="7"/>
      <line num="146" type="stmt" count="7"/>
      <line num="147" type="stmt" count="7"/>
      <line num="148" type="stmt" count="7"/>
      <line num="149" type="stmt" count="7"/>
      <line num="150" type="stmt" count="7"/>
      <line num="151" type="stmt" count="7"/>
      <line num="152" type="stmt" count="7"/>
      <line num="153" type="stmt" count="7"/>
      <line num="154" type="stmt" count="12"/>
      <line num="156" type="stmt" count="8"/>
      <line num="157" type="stmt" count="1"/>
      <line num="160" type="stmt" count="8"/>
      <line num="161" type="stmt" count="8"/>
      <line num="162" type="stmt" count="8"/>
      <line num="163" type="stmt" count="2"/>
      <line num="165" type="stmt" count="8"/>
      <line num="166" type="stmt" count="8"/>
      <line num="167" type="stmt" count="6"/>
      <line num="168" type="stmt" count="4"/>
      <line num="170" type="stmt" count="6"/>
      <line num="171" type="stmt" count="2"/>
      <line num="173" type="stmt" count="6"/>
      <line num="174" type="stmt" count="6"/>
      <line num="178" type="stmt" count="8"/>
      <line num="179" type="stmt" count="8"/>
      <line num="180" type="stmt" count="8"/>
      <line num="181" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="184" type="stmt" count="5"/>
      <line num="185" type="stmt" count="5"/>
      <line num="188" type="stmt" count="5"/>
      <line num="189" type="stmt" count="5"/>
      <line num="190" type="stmt" count="7"/>
      <line num="191" type="stmt" count="6"/>
      <line num="192" type="stmt" count="6"/>
      <line num="193" type="stmt" count="6"/>
      <line num="194" type="stmt" count="6"/>
      <line num="195" type="stmt" count="6"/>
      <line num="196" type="stmt" count="6"/>
      <line num="197" type="stmt" count="6"/>
      <line num="198" type="stmt" count="6"/>
      <line num="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="203" type="stmt" count="5"/>
      <line num="204" type="stmt" count="5"/>
      <line num="206" type="stmt" count="6"/>
      <line num="207" type="stmt" count="5"/>
      <line num="208" type="stmt" 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="216" type="stmt" count="15"/>
      <line num="218" type="stmt" count="15"/>
      <line num="226" type="method" name="formatValue" visibility="public" complexity="15" crap="15" count="21"/>
      <line num="227" type="stmt" count="21"/>
      <line num="228" type="stmt" count="21"/>
      <line num="231" type="stmt" count="21"/>
      <line num="233" type="stmt" count="9"/>
      <line num="234" type="stmt" count="1"/>
      <line num="238" type="stmt" count="9"/>
      <line num="239" type="stmt" count="9"/>
      <line num="240" type="stmt" count="2"/>
      <line num="242" type="stmt" count="7"/>
      <line num="243" type="stmt" count="3"/>
      <line num="245" type="stmt" count="4"/>
      <line num="247" type="stmt" count="7"/>
      <line num="248" type="stmt" count="16"/>
      <line num="249" type="stmt" count="5"/>
      <line num="250" type="stmt" count="5"/>
      <line num="251" type="stmt" count="5"/>
      <line num="252" type="stmt" count="5"/>
      <line num="253" type="stmt" count="5"/>
      <line num="256" type="stmt" count="5"/>
      <line num="257" type="stmt" count="5"/>
      <line num="258" type="stmt" count="5"/>
      <line num="261" type="stmt" count="5"/>
      <line num="262" type="stmt" count="5"/>
      <line num="263" type="stmt" count="5"/>
      <line num="264" type="stmt" count="5"/>
      <line num="265" type="stmt" count="5"/>
      <line num="266" type="stmt" count="5"/>
      <line num="267" type="stmt" count="5"/>
      <line num="268" type="stmt" count="5"/>
      <line num="269" type="stmt" count="5"/>
      <line num="272" type="stmt" count="5"/>
      <line num="273" type="stmt" count="5"/>
      <line num="274" type="stmt" count="5"/>
      <line num="275" type="stmt" count="5"/>
      <line num="276" type="stmt" count="5"/>
      <line num="277" type="stmt" count="5"/>
      <line num="278" type="stmt" count="5"/>
      <line num="279" type="stmt" count="5"/>
      <line num="281" type="stmt" count="5"/>
      <line num="282" type="stmt" count="15"/>
      <line num="283" type="stmt" count="7"/>
      <line num="284" type="stmt" count="7"/>
      <line num="285" type="stmt" count="12"/>
      <line num="286" type="stmt" count="10"/>
      <line num="287" type="stmt" count="10"/>
      <line num="288" type="stmt" count="6"/>
      <line num="289" type="stmt" count="5"/>
      <line num="290" type="stmt" count="5"/>
      <line num="291" type="stmt" count="5"/>
      <line num="292" type="stmt" count="5"/>
      <line num="294" type="stmt" count="1"/>
      <line num="297" type="stmt" count="20"/>
      <line num="303" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="44"/>
      <line num="304" type="stmt" count="44"/>
      <line num="310" type="method" name="getFieldNames" visibility="public" complexity="3" crap="3" count="44"/>
      <line num="311" type="stmt" count="44"/>
      <line num="312" type="stmt" count="44"/>
      <line num="313" type="stmt" count="44"/>
      <line num="314" type="stmt" count="44"/>
      <line num="315" type="stmt" count="44"/>
      <line num="316" type="stmt" count="44"/>
      <line num="317" type="stmt" count="44"/>
      <line num="318" type="stmt" count="44"/>
      <line num="319" type="stmt" count="44"/>
      <line num="320" type="stmt" count="44"/>
      <line num="323" type="stmt" count="44"/>
      <line num="331" type="method" name="doQuery" visibility="public" complexity="2" crap="2" count="15"/>
      <line num="333" type="stmt" count="15"/>
      <line num="334" type="stmt" count="1"/>
      <line num="335" type="stmt" count="1"/>
      <line num="336" type="stmt" count="1"/>
      <line num="339" type="stmt" count="14"/>
      <line num="345" type="method" name="doBatchLookups" visibility="protected" complexity="4" crap="4" count="5"/>
      <line num="346" type="stmt" count="5"/>
      <line num="347" type="stmt" count="5"/>
      <line num="348" type="stmt" count="5"/>
      <line num="350" type="stmt" count="5"/>
      <line num="351" type="stmt" count="5"/>
      <line num="352" type="stmt" count="5"/>
      <line num="353" type="stmt" count="1"/>
      <line num="355" type="stmt" count="5"/>
      <line num="356" type="stmt" count="5"/>
      <line num="359" type="stmt" count="5"/>
      <line num="360" type="stmt" count="5"/>
      <line num="361" type="stmt" count="5"/>
      <line num="362" type="stmt" count="5"/>
      <line num="363" type="stmt" count="5"/>
      <line num="366" type="method" name="formatClientHintsValue" visibility="private" complexity="2" crap="2" count="10"/>
      <line num="367" type="stmt" count="10"/>
      <line num="368" type="stmt" count="10"/>
      <line num="369" type="stmt" count="7"/>
      <line num="371" type="stmt" count="3"/>
      <line num="372" type="stmt" count="3"/>
      <line num="373" type="stmt" count="3"/>
      <line num="374" type="stmt" count="3"/>
      <line num="375" type="stmt" count="3"/>
      <line num="381" type="method" name="getFormattedClientHints" visibility="private" complexity="5" crap="5" count="12"/>
      <line num="382" type="stmt" count="12"/>
      <line num="383" type="stmt" count="12"/>
      <line num="384" type="stmt" count="12"/>
      <line num="385" type="stmt" count="9"/>
      <line num="386" type="stmt" count="9"/>
      <line num="387" type="stmt" count="9"/>
      <line num="388" type="stmt" count="9"/>
      <line num="389" type="stmt" count="9"/>
      <line num="390" type="stmt" count="9"/>
      <line num="391" type="stmt" count="4"/>
      <line num="396" type="stmt" count="12"/>
      <line num="399" type="method" name="addClientHintsReferences" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="403" type="stmt" count="5"/>
      <line num="404" type="stmt" count="4"/>
      <line num="408" type="method" name="getClientHintsReferenceIds" visibility="private" complexity="3" crap="3" count="13"/>
      <line num="409" type="stmt" count="13"/>
      <line num="410" type="stmt" count="13"/>
      <line num="411" type="stmt" count="13"/>
      <line num="412" type="stmt" count="13"/>
      <line num="413" type="stmt" count="4"/>
      <line num="415" type="stmt" count="9"/>
      <line num="416" type="stmt" count="9"/>
      <line num="418" type="stmt" count="13"/>
      <line num="424" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="425" type="stmt" count="14"/>
      <line num="426" type="stmt" count="14"/>
      <line num="427" type="stmt" count="14"/>
      <line num="428" type="stmt" count="14"/>
      <line num="429" type="stmt" count="14"/>
      <line num="430" type="stmt" count="14"/>
      <line num="438" type="method" name="getTargetsOverLimit" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="439" type="stmt" count="4"/>
      <line num="440" type="stmt" count="4"/>
      <line num="441" type="stmt" count="4"/>
      <line num="442" type="stmt" count="4"/>
      <line num="443" type="stmt" count="4"/>
      <line num="449" type="method" name="isFieldSortable" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="450" type="stmt" count="4"/>
      <line num="456" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="1" count="44"/>
      <line num="457" type="stmt" count="44"/>
      <line num="465" type="method" name="getPagingQueries" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <metrics loc="472" ncloc="367" classes="1" methods="17" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="213" coveredstatements="209" elements="230" coveredelements="225"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/ComparePagerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\ComparePagerFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="33" type="method" name="createPager" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <metrics loc="47" ncloc="44" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="12" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/PagerFactory.php">
      <metrics loc="15" ncloc="12" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/PreliminaryCheckPager.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\PreliminaryCheckPager" namespace="global">
        <metrics complexity="38" methods="13" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="129" coveredstatements="113" elements="142" coveredelements="123"/>
      </class>
      <line num="53" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="64" type="stmt" count="4"/>
      <line num="67" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="76" type="method" name="getTableClass" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="85" type="method" name="getCellAttrs" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <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="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="120" type="method" name="formatValue" visibility="public" complexity="17" crap="18.22" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" 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="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="196" type="stmt" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="210" type="method" name="getIndexField" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="211" type="stmt" count="7"/>
      <line num="217" type="method" name="getFieldNames" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="218" type="stmt" count="7"/>
      <line num="219" type="stmt" count="7"/>
      <line num="220" type="stmt" count="7"/>
      <line num="221" type="stmt" count="7"/>
      <line num="222" type="stmt" count="7"/>
      <line num="223" type="stmt" count="7"/>
      <line num="224" type="stmt" count="7"/>
      <line num="225" type="stmt" count="7"/>
      <line num="226" type="stmt" count="7"/>
      <line num="228" type="stmt" count="7"/>
      <line num="229" type="stmt" count="3"/>
      <line num="232" type="stmt" count="7"/>
      <line num="233" type="stmt" count="7"/>
      <line num="236" type="stmt" count="7"/>
      <line num="242" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="243" type="stmt" count="5"/>
      <line num="244" type="stmt" count="5"/>
      <line num="246" type="stmt" count="5"/>
      <line num="252" type="method" name="preprocessResults" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="253" type="stmt" count="4"/>
      <line num="254" type="stmt" count="4"/>
      <line num="255" type="stmt" count="4"/>
      <line num="258" type="method" name="isGlobalCheck" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="259" type="stmt" count="6"/>
      <line num="260" type="stmt" count="6"/>
      <line num="263" type="method" name="getCentralReplicaDB" visibility="protected" complexity="2" crap="2.15" count="4"/>
      <line num="264" type="stmt" count="4"/>
      <line num="265" type="stmt" count="4"/>
      <line num="267" type="stmt" count="0"/>
      <line num="273" type="method" name="isFieldSortable" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="274" type="stmt" count="2"/>
      <line num="280" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="281" type="stmt" count="7"/>
      <line num="289" type="method" name="getPagingQueries" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <metrics loc="296" ncloc="235" classes="1" methods="13" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="129" coveredstatements="113" elements="142" coveredelements="123"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/PreliminaryCheckPagerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\PreliminaryCheckPagerFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="12" coveredelements="12"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="29" type="method" name="createPager" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <metrics loc="41" ncloc="38" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="10" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/TimelinePager.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\TimelinePager" namespace="global">
        <metrics complexity="23" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="85" coveredstatements="81" elements="94" coveredelements="89"/>
      </class>
      <line num="59" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="72" type="stmt" count="18"/>
      <line num="74" type="stmt" count="18"/>
      <line num="75" type="stmt" count="18"/>
      <line num="76" type="stmt" count="18"/>
      <line num="77" type="stmt" count="18"/>
      <line num="78" type="stmt" count="18"/>
      <line num="79" type="stmt" count="18"/>
      <line num="80" type="stmt" count="18"/>
      <line num="81" type="stmt" count="18"/>
      <line num="82" type="stmt" count="18"/>
      <line num="83" type="stmt" count="18"/>
      <line num="91" type="method" name="reallyDoQuery" visibility="public" complexity="2" crap="2" count="11"/>
      <line num="93" type="stmt" count="11"/>
      <line num="94" type="stmt" count="2"/>
      <line num="96" type="stmt" count="9"/>
      <line num="102" type="method" name="getQueryInfo" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="103" type="stmt" count="10"/>
      <line num="104" type="stmt" count="10"/>
      <line num="105" type="stmt" count="10"/>
      <line num="106" type="stmt" count="10"/>
      <line num="107" type="stmt" count="10"/>
      <line num="108" type="stmt" count="10"/>
      <line num="109" type="stmt" count="10"/>
      <line num="115" type="method" name="doBatchLookups" visibility="protected" complexity="6" crap="6" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="1"/>
      <line num="125" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="147" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="148" type="stmt" count="18"/>
      <line num="154" type="method" name="formatRow" visibility="public" complexity="8" crap="8" count="6"/>
      <line num="155" type="stmt" count="6"/>
      <line num="156" type="stmt" count="6"/>
      <line num="157" type="stmt" count="6"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="4"/>
      <line num="162" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="171" type="stmt" count="6"/>
      <line num="172" type="stmt" count="6"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="179" type="stmt" count="6"/>
      <line num="181" type="stmt" count="6"/>
      <line num="183" type="stmt" count="6"/>
      <line num="184" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="191" type="stmt" count="5"/>
      <line num="193" type="stmt" count="5"/>
      <line num="194" type="stmt" count="5"/>
      <line num="195" type="stmt" count="5"/>
      <line num="196" type="stmt" count="5"/>
      <line num="198" type="stmt" count="5"/>
      <line num="199" type="stmt" count="5"/>
      <line num="200" type="stmt" count="5"/>
      <line num="201" type="stmt" count="5"/>
      <line num="202" type="stmt" count="5"/>
      <line num="204" type="stmt" count="5"/>
      <line num="212" type="method" name="getPagingQueries" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="222" type="method" name="getFullOutput" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="231" type="method" name="getEndBody" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="232" type="stmt" count="3"/>
      <metrics loc="235" ncloc="185" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="85" coveredstatements="81" elements="94" coveredelements="89"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/TimelinePagerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\TimelinePagerFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="20" coveredelements="20"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="36" type="method" name="createPager" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" 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"/>
      <metrics loc="57" ncloc="54" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="20" coveredelements="20"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/TimelineRowFormatter.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\TimelineRowFormatter" namespace="global">
        <metrics complexity="70" methods="19" coveredmethods="18" conditionals="0" coveredconditionals="0" statements="209" coveredstatements="208" elements="228" coveredelements="226"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="46" type="stmt" count="21"/>
      <line num="56" type="method" name="getFormattedRowItems" visibility="public" complexity="8" crap="8" count="21"/>
      <line num="58" type="stmt" count="21"/>
      <line num="59" type="stmt" count="19"/>
      <line num="62" type="stmt" count="21"/>
      <line num="63" type="stmt" count="21"/>
      <line num="64" type="stmt" count="21"/>
      <line num="67" type="stmt" count="21"/>
      <line num="68" type="stmt" count="21"/>
      <line num="69" type="stmt" count="21"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="18"/>
      <line num="72" type="stmt" count="2"/>
      <line num="75" type="stmt" count="21"/>
      <line num="76" type="stmt" count="21"/>
      <line num="77" type="stmt" count="21"/>
      <line num="78" type="stmt" count="21"/>
      <line num="79" type="stmt" count="21"/>
      <line num="80" type="stmt" count="21"/>
      <line num="81" type="stmt" count="21"/>
      <line num="82" type="stmt" count="21"/>
      <line num="83" type="stmt" count="21"/>
      <line num="84" type="stmt" count="21"/>
      <line num="85" type="stmt" count="21"/>
      <line num="86" type="stmt" count="21"/>
      <line num="87" type="stmt" count="21"/>
      <line num="88" type="stmt" count="21"/>
      <line num="89" type="stmt" count="21"/>
      <line num="90" type="stmt" count="21"/>
      <line num="91" type="stmt" count="21"/>
      <line num="92" type="stmt" count="21"/>
      <line num="93" type="stmt" count="21"/>
      <line num="94" type="stmt" count="21"/>
      <line num="106" type="method" name="getComment" visibility="private" complexity="4" crap="4" count="21"/>
      <line num="108" type="stmt" count="21"/>
      <line num="109" type="stmt" count="21"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="18"/>
      <line num="112" type="stmt" count="2"/>
      <line num="114" type="stmt" count="21"/>
      <line num="115" type="stmt" count="18"/>
      <line num="117" type="stmt" count="3"/>
      <line num="120" type="stmt" count="21"/>
      <line num="123" type="method" name="getIpInfo" visibility="private" complexity="2" crap="2.15" count="21"/>
      <line num="124" type="stmt" count="21"/>
      <line num="125" type="stmt" count="0"/>
      <line num="129" type="stmt" count="21"/>
      <line num="132" type="method" name="getUserAgent" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="133" type="stmt" count="21"/>
      <line num="136" type="method" name="getClientHints" visibility="private" complexity="3" crap="3" count="21"/>
      <line num="137" type="stmt" count="21"/>
      <line num="138" type="stmt" count="20"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="151" type="method" name="getActionText" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="154" type="stmt" count="21"/>
      <line num="155" type="stmt" count="19"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="164" type="method" name="getTitleLink" visibility="private" complexity="5" crap="5" count="21"/>
      <line num="165" type="stmt" count="21"/>
      <line num="166" type="stmt" count="7"/>
      <line num="169" type="stmt" count="14"/>
      <line num="171" type="stmt" count="14"/>
      <line num="172" type="stmt" count="1"/>
      <line num="176" type="stmt" count="13"/>
      <line num="177" type="stmt" count="2"/>
      <line num="180" type="stmt" count="11"/>
      <line num="181" type="stmt" count="11"/>
      <line num="182" type="stmt" count="11"/>
      <line num="183" type="stmt" count="11"/>
      <line num="184" type="stmt" count="11"/>
      <line num="192" type="method" name="getLogsLink" visibility="private" complexity="7" crap="7" count="21"/>
      <line num="193" type="stmt" count="21"/>
      <line num="194" type="stmt" count="14"/>
      <line num="197" type="stmt" count="7"/>
      <line num="199" type="stmt" count="7"/>
      <line num="200" type="stmt" count="1"/>
      <line num="204" type="stmt" count="6"/>
      <line num="205" type="stmt" count="1"/>
      <line num="211" type="stmt" count="5"/>
      <line num="212" type="stmt" count="5"/>
      <line num="214" type="stmt" count="1"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" type="stmt" count="4"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="225" type="stmt" count="4"/>
      <line num="232" type="method" name="getLogLink" visibility="private" complexity="3" crap="3" count="21"/>
      <line num="234" type="stmt" count="21"/>
      <line num="235" type="stmt" count="19"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="242" type="stmt" count="2"/>
      <line num="243" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="2"/>
      <line num="253" type="method" name="getDiffLink" visibility="private" complexity="6" crap="6" count="21"/>
      <line num="254" type="stmt" count="21"/>
      <line num="255" type="stmt" count="10"/>
      <line num="258" type="stmt" count="11"/>
      <line num="260" type="stmt" count="11"/>
      <line num="261" type="stmt" count="1"/>
      <line num="265" type="stmt" count="10"/>
      <line num="266" type="stmt" count="1"/>
      <line num="269" type="stmt" count="9"/>
      <line num="270" type="stmt" count="9"/>
      <line num="271" type="stmt" count="9"/>
      <line num="272" type="stmt" count="9"/>
      <line num="273" type="stmt" count="9"/>
      <line num="274" type="stmt" count="9"/>
      <line num="275" type="stmt" count="9"/>
      <line num="276" type="stmt" count="9"/>
      <line num="277" type="stmt" count="9"/>
      <line num="278" type="stmt" count="9"/>
      <line num="279" type="stmt" count="9"/>
      <line num="280" type="stmt" count="9"/>
      <line num="281" type="stmt" count="9"/>
      <line num="284" type="method" name="getHistoryLink" visibility="private" complexity="6" crap="6" count="21"/>
      <line num="285" type="stmt" count="21"/>
      <line num="286" type="stmt" count="10"/>
      <line num="289" type="stmt" count="11"/>
      <line num="291" type="stmt" count="11"/>
      <line num="292" type="stmt" count="1"/>
      <line num="296" type="stmt" count="10"/>
      <line num="297" type="stmt" count="1"/>
      <line num="300" type="stmt" count="9"/>
      <line num="301" type="stmt" count="9"/>
      <line num="302" type="stmt" count="9"/>
      <line num="303" type="stmt" count="9"/>
      <line num="304" type="stmt" count="9"/>
      <line num="305" type="stmt" count="9"/>
      <line num="306" type="stmt" count="9"/>
      <line num="307" type="stmt" count="9"/>
      <line num="308" type="stmt" count="9"/>
      <line num="309" type="stmt" count="9"/>
      <line num="310" type="stmt" count="9"/>
      <line num="311" type="stmt" count="9"/>
      <line num="314" type="method" name="getNewPageFlag" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="315" type="stmt" count="21"/>
      <line num="316" type="stmt" count="3"/>
      <line num="317" type="stmt" count="3"/>
      <line num="318" type="stmt" count="3"/>
      <line num="319" type="stmt" count="3"/>
      <line num="320" type="stmt" count="3"/>
      <line num="322" type="stmt" count="18"/>
      <line num="325" type="method" name="getMinorFlag" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="326" type="stmt" count="21"/>
      <line num="327" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="330" type="stmt" count="1"/>
      <line num="331" type="stmt" count="1"/>
      <line num="333" type="stmt" count="20"/>
      <line num="336" type="method" name="getTime" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="337" type="stmt" count="21"/>
      <line num="338" type="stmt" count="21"/>
      <line num="339" type="stmt" count="21"/>
      <line num="348" type="method" name="getUserLinks" visibility="private" complexity="11" crap="11" count="21"/>
      <line num="349" type="stmt" count="21"/>
      <line num="350" type="stmt" count="21"/>
      <line num="351" type="stmt" count="21"/>
      <line num="352" type="stmt" count="1"/>
      <line num="356" type="stmt" count="21"/>
      <line num="357" type="stmt" count="21"/>
      <line num="359" type="stmt" count="3"/>
      <line num="360" type="stmt" count="3"/>
      <line num="361" type="stmt" count="3"/>
      <line num="362" type="stmt" count="3"/>
      <line num="363" type="stmt" count="3"/>
      <line num="364" type="stmt" count="3"/>
      <line num="365" type="stmt" count="1"/>
      <line num="370" type="stmt" count="21"/>
      <line num="371" type="stmt" count="21"/>
      <line num="373" type="stmt" count="2"/>
      <line num="374" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <line num="376" type="stmt" count="2"/>
      <line num="377" type="stmt" count="2"/>
      <line num="378" type="stmt" count="2"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="381" type="stmt" count="1"/>
      <line num="385" type="stmt" count="21"/>
      <line num="386" type="stmt" count="3"/>
      <line num="387" type="stmt" count="3"/>
      <line num="388" type="stmt" count="3"/>
      <line num="389" type="stmt" count="3"/>
      <line num="390" type="stmt" count="3"/>
      <line num="392" type="stmt" count="18"/>
      <line num="393" type="stmt" count="18"/>
      <line num="394" type="stmt" count="1"/>
      <line num="397" type="stmt" count="17"/>
      <line num="400" type="stmt" count="18"/>
      <line num="401" type="stmt" count="18"/>
      <line num="402" type="stmt" count="18"/>
      <line num="403" type="stmt" count="18"/>
      <line num="404" type="stmt" count="18"/>
      <line num="406" type="stmt" count="18"/>
      <line num="407" type="stmt" count="18"/>
      <line num="408" type="stmt" count="18"/>
      <line num="409" type="stmt" count="18"/>
      <line num="410" type="stmt" count="18"/>
      <line num="412" type="stmt" count="18"/>
      <line num="420" type="method" name="preCacheMessages" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="421" type="stmt" count="21"/>
      <line num="422" type="stmt" count="21"/>
      <line num="423" type="stmt" count="21"/>
      <line num="424" type="stmt" count="21"/>
      <line num="425" type="stmt" count="21"/>
      <line num="426" type="stmt" count="21"/>
      <line num="435" type="method" name="msg" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="436" type="stmt" count="21"/>
      <line num="445" type="method" name="isUserHidden" visibility="private" complexity="3" crap="3" count="21"/>
      <line num="446" type="stmt" count="21"/>
      <line num="447" type="stmt" count="21"/>
      <metrics loc="450" ncloc="378" classes="1" methods="19" coveredmethods="18" conditionals="0" coveredconditionals="0" statements="209" coveredstatements="208" elements="228" coveredelements="226"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Pagers/TimelineRowFormatterFactory.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Pagers\TimelineRowFormatterFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="38" type="method" name="createRowFormatter" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <metrics loc="53" ncloc="46" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Services/ChangeService.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Services\ChangeService" namespace="global">
        <metrics complexity="19" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="68" coveredelements="68"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="32"/>
      <line num="25" type="stmt" count="32"/>
      <line num="36" type="method" name="buildTargetExprMultiple" visibility="protected" complexity="2" crap="2" count="14"/>
      <line num="37" type="stmt" count="14"/>
      <line num="38" type="stmt" count="11"/>
      <line num="39" type="stmt" count="14"/>
      <line num="42" type="stmt" count="14"/>
      <line num="44" type="stmt" count="14"/>
      <line num="47" type="stmt" count="4"/>
      <line num="50" type="stmt" count="10"/>
      <line num="62" type="method" name="buildTargetExpr" visibility="protected" complexity="3" crap="3" count="23"/>
      <line num="63" type="stmt" count="23"/>
      <line num="64" type="stmt" count="16"/>
      <line num="68" type="stmt" count="18"/>
      <line num="69" type="stmt" count="18"/>
      <line num="70" type="stmt" count="17"/>
      <line num="74" type="stmt" count="2"/>
      <line num="85" type="method" name="buildExcludeTargetsExpr" visibility="protected" complexity="8" crap="8" count="22"/>
      <line num="86" type="stmt" count="22"/>
      <line num="87" type="stmt" count="22"/>
      <line num="89" type="stmt" count="22"/>
      <line num="90" type="stmt" count="6"/>
      <line num="91" type="stmt" count="4"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="100" type="stmt" count="22"/>
      <line num="102" type="stmt" count="16"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="107" type="stmt" count="6"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="111" type="stmt" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="114" type="stmt" count="6"/>
      <line num="115" type="stmt" count="3"/>
      <line num="116" type="stmt" count="3"/>
      <line num="117" type="stmt" count="3"/>
      <line num="120" type="stmt" count="6"/>
      <line num="131" type="method" name="buildStartExpr" visibility="protected" complexity="2" crap="2" count="22"/>
      <line num="132" type="stmt" count="22"/>
      <line num="134" type="stmt" count="17"/>
      <line num="138" type="stmt" count="5"/>
      <line num="139" type="stmt" count="5"/>
      <line num="152" type="method" name="excludeTempAccountsFromQuery" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="157" type="stmt" count="4"/>
      <line num="158" type="stmt" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="4"/>
      <line num="165" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="172" type="stmt" count="4"/>
      <line num="173" type="stmt" count="4"/>
      <line num="174" type="stmt" count="4"/>
      <line num="179" type="stmt" count="4"/>
      <line num="180" type="stmt" count="4"/>
      <line num="181" type="stmt" count="4"/>
      <line num="183" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="187" type="stmt" count="4"/>
      <line num="200" type="method" name="removeTempNamesFromArray" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="201" type="stmt" count="7"/>
      <line num="202" type="stmt" count="7"/>
      <line num="203" type="stmt" count="7"/>
      <line num="204" type="stmt" count="7"/>
      <metrics loc="207" ncloc="135" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="68" coveredelements="68"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Services/CompareService.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Services\CompareService" namespace="global">
        <metrics complexity="38" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="193" coveredstatements="192" elements="202" coveredelements="200"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="37" type="stmt" count="17"/>
      <line num="38" type="stmt" count="17"/>
      <line num="39" type="stmt" count="17"/>
      <line num="40" type="stmt" count="17"/>
      <line num="41" type="stmt" count="17"/>
      <line num="42" type="stmt" count="17"/>
      <line num="44" type="stmt" count="17"/>
      <line num="45" type="stmt" count="17"/>
      <line num="54" type="method" name="getTotalActionsFromIP" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="80" type="method" name="getQueryInfo" visibility="public" complexity="11" crap="11" count="10"/>
      <line num="86" type="stmt" count="10"/>
      <line num="88" type="stmt" count="10"/>
      <line num="89" type="stmt" count="1"/>
      <line num="91" type="stmt" count="9"/>
      <line num="93" type="stmt" count="9"/>
      <line num="94" type="stmt" count="9"/>
      <line num="95" type="stmt" count="9"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="9"/>
      <line num="98" type="stmt" count="9"/>
      <line num="99" type="stmt" count="9"/>
      <line num="100" type="stmt" count="9"/>
      <line num="101" type="stmt" count="9"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="9"/>
      <line num="106" type="stmt" count="9"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="114" type="stmt" count="9"/>
      <line num="116" type="stmt" count="9"/>
      <line num="118" type="stmt" count="9"/>
      <line num="119" type="stmt" count="9"/>
      <line num="120" type="stmt" count="9"/>
      <line num="121" type="stmt" count="9"/>
      <line num="122" type="stmt" count="9"/>
      <line num="123" type="stmt" count="9"/>
      <line num="124" type="stmt" count="9"/>
      <line num="129" type="stmt" count="9"/>
      <line num="131" type="stmt" count="9"/>
      <line num="132" type="stmt" count="9"/>
      <line num="133" type="stmt" count="9"/>
      <line num="134" type="stmt" count="9"/>
      <line num="135" type="stmt" count="9"/>
      <line num="136" type="stmt" count="9"/>
      <line num="137" type="stmt" count="9"/>
      <line num="138" type="stmt" count="9"/>
      <line num="139" type="stmt" count="9"/>
      <line num="140" type="stmt" count="9"/>
      <line num="141" type="stmt" count="9"/>
      <line num="142" type="stmt" count="9"/>
      <line num="143" type="stmt" count="9"/>
      <line num="144" type="stmt" count="9"/>
      <line num="145" type="stmt" count="9"/>
      <line num="146" type="stmt" count="9"/>
      <line num="147" type="stmt" count="9"/>
      <line num="148" type="stmt" count="9"/>
      <line num="149" type="stmt" count="9"/>
      <line num="150" type="stmt" count="9"/>
      <line num="151" type="stmt" count="9"/>
      <line num="152" type="stmt" count="9"/>
      <line num="165" type="method" name="getPartialQueryBuilderForCuChanges" visibility="private" complexity="3" crap="3" count="9"/>
      <line num="170" type="stmt" count="9"/>
      <line num="171" type="stmt" count="9"/>
      <line num="172" type="stmt" count="1"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="9"/>
      <line num="176" type="stmt" count="9"/>
      <line num="177" type="stmt" count="9"/>
      <line num="178" type="stmt" count="9"/>
      <line num="179" type="stmt" count="9"/>
      <line num="180" type="stmt" count="9"/>
      <line num="181" type="stmt" count="9"/>
      <line num="182" type="stmt" count="9"/>
      <line num="183" type="stmt" count="9"/>
      <line num="184" type="stmt" count="9"/>
      <line num="185" type="stmt" count="9"/>
      <line num="186" type="stmt" count="9"/>
      <line num="187" type="stmt" count="9"/>
      <line num="188" type="stmt" count="9"/>
      <line num="189" type="stmt" count="9"/>
      <line num="190" type="stmt" count="9"/>
      <line num="191" type="stmt" count="9"/>
      <line num="192" type="stmt" count="9"/>
      <line num="193" type="stmt" count="9"/>
      <line num="195" type="stmt" count="9"/>
      <line num="197" type="stmt" count="9"/>
      <line num="210" type="method" name="getPartialQueryBuilderForCuLogEvent" visibility="private" complexity="3" crap="3" count="9"/>
      <line num="215" type="stmt" count="9"/>
      <line num="216" type="stmt" count="9"/>
      <line num="217" type="stmt" count="1"/>
      <line num="219" type="stmt" count="9"/>
      <line num="220" type="stmt" count="9"/>
      <line num="221" type="stmt" count="9"/>
      <line num="222" type="stmt" count="9"/>
      <line num="223" type="stmt" count="9"/>
      <line num="224" type="stmt" count="9"/>
      <line num="225" type="stmt" count="9"/>
      <line num="226" type="stmt" count="9"/>
      <line num="227" type="stmt" count="9"/>
      <line num="228" type="stmt" count="9"/>
      <line num="229" type="stmt" count="9"/>
      <line num="230" type="stmt" count="9"/>
      <line num="231" type="stmt" count="9"/>
      <line num="232" type="stmt" count="9"/>
      <line num="233" type="stmt" count="9"/>
      <line num="234" type="stmt" count="9"/>
      <line num="235" type="stmt" count="9"/>
      <line num="236" type="stmt" count="9"/>
      <line num="237" type="stmt" count="9"/>
      <line num="238" type="stmt" count="9"/>
      <line num="240" type="stmt" count="9"/>
      <line num="242" type="stmt" count="9"/>
      <line num="255" type="method" name="getPartialQueryBuilderForCuPrivateEvent" visibility="private" complexity="4" crap="4" count="9"/>
      <line num="260" type="stmt" count="9"/>
      <line num="261" type="stmt" count="9"/>
      <line num="262" type="stmt" count="9"/>
      <line num="263" type="stmt" count="9"/>
      <line num="264" type="stmt" count="9"/>
      <line num="265" type="stmt" count="9"/>
      <line num="266" type="stmt" count="9"/>
      <line num="267" type="stmt" count="1"/>
      <line num="269" type="stmt" count="9"/>
      <line num="270" type="stmt" count="9"/>
      <line num="271" type="stmt" count="9"/>
      <line num="272" type="stmt" count="9"/>
      <line num="273" type="stmt" count="9"/>
      <line num="274" type="stmt" count="9"/>
      <line num="275" type="stmt" count="9"/>
      <line num="276" type="stmt" count="9"/>
      <line num="277" type="stmt" count="9"/>
      <line num="278" type="stmt" count="9"/>
      <line num="279" type="stmt" count="9"/>
      <line num="280" type="stmt" count="9"/>
      <line num="281" type="stmt" count="9"/>
      <line num="282" type="stmt" count="9"/>
      <line num="283" type="stmt" count="9"/>
      <line num="284" type="stmt" count="9"/>
      <line num="285" type="stmt" count="9"/>
      <line num="286" type="stmt" count="9"/>
      <line num="287" type="stmt" count="9"/>
      <line num="290" type="stmt" count="6"/>
      <line num="294" type="stmt" count="6"/>
      <line num="296" type="stmt" count="9"/>
      <line num="298" type="stmt" count="9"/>
      <line num="300" type="stmt" count="9"/>
      <line num="318" type="method" name="buildExprForSingleTarget" visibility="private" complexity="4" crap="4" count="12"/>
      <line num="324" type="stmt" count="12"/>
      <line num="325" type="stmt" count="12"/>
      <line num="326" type="stmt" count="1"/>
      <line num="329" type="stmt" count="12"/>
      <line num="332" type="stmt" count="12"/>
      <line num="333" type="stmt" count="12"/>
      <line num="334" type="stmt" count="5"/>
      <line num="337" type="stmt" count="12"/>
      <line num="338" type="stmt" count="12"/>
      <line num="339" type="stmt" count="4"/>
      <line num="342" type="stmt" count="12"/>
      <line num="354" type="method" name="getLimitPerQuery" visibility="private" complexity="1" crap="1" count="12"/>
      <line num="355" type="stmt" count="12"/>
      <line num="366" type="method" name="getTargetsOverLimit" visibility="public" complexity="9" crap="9" count="5"/>
      <line num="371" type="stmt" count="5"/>
      <line num="372" type="stmt" count="1"/>
      <line num="375" type="stmt" count="4"/>
      <line num="379" type="stmt" count="4"/>
      <line num="380" type="stmt" count="1"/>
      <line num="383" type="stmt" count="3"/>
      <line num="384" type="stmt" count="3"/>
      <line num="386" type="stmt" count="3"/>
      <line num="387" type="stmt" count="3"/>
      <line num="388" type="stmt" count="3"/>
      <line num="389" type="stmt" count="3"/>
      <line num="390" type="stmt" count="3"/>
      <line num="391" type="stmt" count="3"/>
      <line num="392" type="stmt" count="3"/>
      <line num="393" type="stmt" count="3"/>
      <line num="394" type="stmt" count="3"/>
      <line num="395" type="stmt" count="3"/>
      <line num="396" type="stmt" count="3"/>
      <line num="397" type="stmt" count="3"/>
      <line num="398" type="stmt" count="3"/>
      <line num="401" type="stmt" count="2"/>
      <line num="405" type="stmt" count="3"/>
      <line num="407" type="stmt" count="3"/>
      <line num="408" type="stmt" count="2"/>
      <line num="411" type="stmt" count="2"/>
      <line num="417" type="stmt" count="3"/>
      <metrics loc="420" ncloc="322" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="193" coveredstatements="192" elements="202" coveredelements="200"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Services/PreliminaryCheckService.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Services\PreliminaryCheckService" namespace="global">
        <metrics complexity="14" methods="9" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="58" elements="67" coveredelements="67"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="24" type="stmt" count="8"/>
      <line num="34" type="method" name="getQueryInfo" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="36" type="stmt" count="1"/>
      <line num="38" type="stmt" count="2"/>
      <line num="40" type="stmt" count="3"/>
      <line num="49" type="method" name="getGlobalQueryInfo" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="50" 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="66" type="method" name="getLocalQueryInfo" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="71" type="stmt" count="4"/>
      <line num="72" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <line num="74" type="stmt" count="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="84" type="method" name="buildUserConds" visibility="protected" complexity="2" crap="2" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="1"/>
      <line num="88" type="stmt" count="4"/>
      <line num="99" type="method" name="preprocessResults" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="106" type="stmt" count="1"/>
      <line num="109" type="stmt" count="3"/>
      <line num="119" type="method" name="getLocalUserData" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="138" type="method" name="getAdditionalLocalData" visibility="protected" complexity="2" crap="2" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="142" type="stmt" count="1"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="163" type="method" name="isUserBlocked" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <metrics loc="169" ncloc="116" classes="1" methods="9" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="58" elements="67" coveredelements="67"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Services/TimelineService.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Services\TimelineService" namespace="global">
        <metrics complexity="41" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="228" coveredstatements="227" elements="237" coveredelements="235"/>
      </class>
      <line num="25" type="method" name="getQueryInfo" visibility="public" complexity="13" crap="13" count="21"/>
      <line num="34" type="stmt" count="21"/>
      <line num="35" type="stmt" count="21"/>
      <line num="37" type="stmt" count="21"/>
      <line num="38" type="stmt" count="21"/>
      <line num="41" type="stmt" count="21"/>
      <line num="42" type="stmt" count="21"/>
      <line num="45" type="stmt" count="21"/>
      <line num="46" type="stmt" count="9"/>
      <line num="47" type="stmt" count="9"/>
      <line num="48" type="stmt" count="9"/>
      <line num="49" type="stmt" count="9"/>
      <line num="50" type="stmt" count="9"/>
      <line num="51" type="stmt" count="9"/>
      <line num="52" type="stmt" count="9"/>
      <line num="53" type="stmt" count="9"/>
      <line num="54" type="stmt" count="9"/>
      <line num="55" type="stmt" count="9"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="63" type="stmt" count="9"/>
      <line num="64" type="stmt" count="9"/>
      <line num="67" type="stmt" count="21"/>
      <line num="68" type="stmt" count="17"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="10"/>
      <line num="72" type="stmt" count="17"/>
      <line num="73" type="stmt" count="17"/>
      <line num="74" type="stmt" count="17"/>
      <line num="75" type="stmt" count="17"/>
      <line num="76" type="stmt" count="17"/>
      <line num="77" type="stmt" count="17"/>
      <line num="78" type="stmt" count="17"/>
      <line num="79" type="stmt" count="17"/>
      <line num="80" type="stmt" count="17"/>
      <line num="81" type="stmt" count="12"/>
      <line num="82" type="stmt" count="12"/>
      <line num="87" type="stmt" count="21"/>
      <line num="90" type="stmt" count="5"/>
      <line num="91" type="stmt" count="5"/>
      <line num="92" type="stmt" count="5"/>
      <line num="102" type="stmt" count="3"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="110" type="stmt" count="19"/>
      <line num="112" type="stmt" count="19"/>
      <line num="113" type="stmt" count="19"/>
      <line num="114" type="stmt" count="19"/>
      <line num="115" type="stmt" count="19"/>
      <line num="117" type="stmt" count="19"/>
      <line num="118" type="stmt" count="19"/>
      <line num="119" type="stmt" count="19"/>
      <line num="120" type="stmt" count="19"/>
      <line num="121" type="stmt" count="19"/>
      <line num="122" type="stmt" count="19"/>
      <line num="125" type="method" name="getDummyQueryBuilder" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="151" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="177" type="method" name="getQueryBuilderForTable" visibility="private" complexity="9" crap="9" count="20"/>
      <line num="187" type="stmt" count="20"/>
      <line num="188" type="stmt" count="20"/>
      <line num="189" type="stmt" count="20"/>
      <line num="190" type="stmt" count="20"/>
      <line num="191" type="stmt" count="20"/>
      <line num="192" type="stmt" count="20"/>
      <line num="193" type="stmt" count="20"/>
      <line num="196" type="stmt" count="20"/>
      <line num="197" type="stmt" count="5"/>
      <line num="200" type="stmt" count="16"/>
      <line num="201" type="stmt" count="16"/>
      <line num="202" type="stmt" count="1"/>
      <line num="205" type="stmt" count="16"/>
      <line num="206" type="stmt" count="16"/>
      <line num="207" type="stmt" count="1"/>
      <line num="210" type="stmt" count="16"/>
      <line num="211" type="stmt" count="16"/>
      <line num="212" type="stmt" count="16"/>
      <line num="213" type="stmt" count="16"/>
      <line num="214" type="stmt" count="16"/>
      <line num="216" type="stmt" count="16"/>
      <line num="218" type="stmt" count="16"/>
      <line num="228" type="method" name="getPartialQueryBuilderForCuChanges" visibility="private" complexity="3" crap="3" count="20"/>
      <line num="229" type="stmt" count="20"/>
      <line num="231" type="stmt" count="20"/>
      <line num="232" type="stmt" count="5"/>
      <line num="239" type="stmt" count="16"/>
      <line num="240" type="stmt" count="16"/>
      <line num="241" type="stmt" count="16"/>
      <line num="242" type="stmt" count="16"/>
      <line num="243" type="stmt" count="16"/>
      <line num="244" type="stmt" count="16"/>
      <line num="246" type="stmt" count="16"/>
      <line num="247" type="stmt" count="16"/>
      <line num="248" type="stmt" count="16"/>
      <line num="249" type="stmt" count="16"/>
      <line num="250" type="stmt" count="16"/>
      <line num="251" type="stmt" count="16"/>
      <line num="252" type="stmt" count="16"/>
      <line num="253" type="stmt" count="16"/>
      <line num="254" type="stmt" count="16"/>
      <line num="256" type="stmt" count="16"/>
      <line num="257" type="stmt" count="16"/>
      <line num="258" type="stmt" count="16"/>
      <line num="259" type="stmt" count="16"/>
      <line num="260" type="stmt" count="16"/>
      <line num="261" type="stmt" count="16"/>
      <line num="262" type="stmt" count="16"/>
      <line num="263" type="stmt" count="16"/>
      <line num="264" type="stmt" count="16"/>
      <line num="265" type="stmt" count="16"/>
      <line num="266" type="stmt" count="16"/>
      <line num="267" type="stmt" count="16"/>
      <line num="268" type="stmt" count="16"/>
      <line num="270" type="stmt" count="16"/>
      <line num="272" type="stmt" count="16"/>
      <line num="282" type="method" name="getPartialQueryBuilderForCuLogEvent" visibility="private" complexity="3" crap="3" count="20"/>
      <line num="283" type="stmt" count="20"/>
      <line num="285" type="stmt" count="20"/>
      <line num="286" type="stmt" count="5"/>
      <line num="293" type="stmt" count="16"/>
      <line num="294" type="stmt" count="16"/>
      <line num="295" type="stmt" count="16"/>
      <line num="296" type="stmt" count="16"/>
      <line num="297" type="stmt" count="16"/>
      <line num="298" type="stmt" count="16"/>
      <line num="300" type="stmt" count="16"/>
      <line num="301" type="stmt" count="16"/>
      <line num="302" type="stmt" count="16"/>
      <line num="303" type="stmt" count="16"/>
      <line num="304" type="stmt" count="16"/>
      <line num="305" type="stmt" count="16"/>
      <line num="306" type="stmt" count="16"/>
      <line num="307" type="stmt" count="16"/>
      <line num="309" type="stmt" count="16"/>
      <line num="310" type="stmt" count="16"/>
      <line num="311" type="stmt" count="16"/>
      <line num="312" type="stmt" count="16"/>
      <line num="313" type="stmt" count="16"/>
      <line num="314" type="stmt" count="16"/>
      <line num="315" type="stmt" count="16"/>
      <line num="316" type="stmt" count="16"/>
      <line num="317" type="stmt" count="16"/>
      <line num="318" type="stmt" count="16"/>
      <line num="319" type="stmt" count="16"/>
      <line num="320" type="stmt" count="16"/>
      <line num="321" type="stmt" count="16"/>
      <line num="322" type="stmt" count="16"/>
      <line num="323" type="stmt" count="16"/>
      <line num="325" type="stmt" count="16"/>
      <line num="327" type="stmt" count="16"/>
      <line num="338" type="method" name="getPartialQueryBuilderForCuPrivateEvent" visibility="private" complexity="4" crap="4" count="20"/>
      <line num="342" type="stmt" count="20"/>
      <line num="344" type="stmt" count="20"/>
      <line num="345" type="stmt" count="5"/>
      <line num="352" type="stmt" count="16"/>
      <line num="353" type="stmt" count="16"/>
      <line num="354" type="stmt" count="16"/>
      <line num="355" type="stmt" count="16"/>
      <line num="356" type="stmt" count="16"/>
      <line num="357" type="stmt" count="16"/>
      <line num="359" type="stmt" count="16"/>
      <line num="360" type="stmt" count="16"/>
      <line num="361" type="stmt" count="16"/>
      <line num="362" type="stmt" count="16"/>
      <line num="363" type="stmt" count="16"/>
      <line num="364" type="stmt" count="16"/>
      <line num="365" type="stmt" count="16"/>
      <line num="366" type="stmt" count="16"/>
      <line num="368" type="stmt" count="16"/>
      <line num="369" type="stmt" count="16"/>
      <line num="370" type="stmt" count="16"/>
      <line num="373" type="stmt" count="16"/>
      <line num="375" type="stmt" count="16"/>
      <line num="376" type="stmt" count="16"/>
      <line num="377" type="stmt" count="16"/>
      <line num="378" type="stmt" count="16"/>
      <line num="379" type="stmt" count="16"/>
      <line num="380" type="stmt" count="16"/>
      <line num="381" type="stmt" count="16"/>
      <line num="382" type="stmt" count="16"/>
      <line num="383" type="stmt" count="16"/>
      <line num="384" type="stmt" count="16"/>
      <line num="387" type="stmt" count="9"/>
      <line num="391" type="stmt" count="12"/>
      <line num="393" type="stmt" count="16"/>
      <line num="395" type="stmt" count="16"/>
      <line num="397" type="stmt" count="16"/>
      <line num="409" type="method" name="containsOnlyTempNames" visibility="private" complexity="3" crap="3.14" count="3"/>
      <line num="410" type="stmt" count="3"/>
      <line num="411" type="stmt" count="3"/>
      <line num="412" type="stmt" count="0"/>
      <line num="416" type="stmt" count="3"/>
      <line num="433" type="method" name="markUnusedFieldsAsNull" visibility="private" complexity="2" crap="2" count="16"/>
      <line num="434" type="stmt" count="16"/>
      <line num="435" type="stmt" count="16"/>
      <line num="436" type="stmt" count="16"/>
      <line num="438" type="stmt" count="16"/>
      <line num="451" type="method" name="castValueToType" visibility="private" complexity="3" crap="3" count="20"/>
      <line num="452" type="stmt" count="20"/>
      <line num="453" type="stmt" count="20"/>
      <line num="454" type="stmt" count="1"/>
      <line num="456" type="stmt" count="19"/>
      <metrics loc="460" ncloc="323" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="228" coveredstatements="227" elements="237" coveredelements="235"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/SpecialInvestigate.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\SpecialInvestigate" namespace="global">
        <metrics complexity="87" methods="31" coveredmethods="30" conditionals="0" coveredconditionals="0" statements="470" coveredstatements="468" elements="501" coveredelements="498"/>
      </class>
      <line num="63" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="25"/>
      <line num="80" type="stmt" count="25"/>
      <line num="81" type="stmt" count="25"/>
      <line num="85" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="25"/>
      <line num="86" type="stmt" count="25"/>
      <line num="92" type="method" name="preHtml" visibility="protected" complexity="1" crap="1" count="22"/>
      <line num="94" type="stmt" count="22"/>
      <line num="95" type="stmt" count="22"/>
      <line num="96" type="stmt" count="22"/>
      <line num="97" type="stmt" count="22"/>
      <line num="100" type="stmt" count="22"/>
      <line num="102" type="stmt" count="22"/>
      <line num="108" type="method" name="execute" visibility="public" complexity="5" crap="5" count="23"/>
      <line num="110" type="stmt" count="23"/>
      <line num="114" type="stmt" count="22"/>
      <line num="115" type="stmt" count="2"/>
      <line num="118" type="stmt" count="20"/>
      <line num="123" type="stmt" count="20"/>
      <line num="125" type="stmt" count="14"/>
      <line num="126" type="stmt" count="14"/>
      <line num="127" type="stmt" count="14"/>
      <line num="128" type="stmt" count="14"/>
      <line num="129" type="stmt" count="4"/>
      <line num="132" type="stmt" count="14"/>
      <line num="133" type="stmt" count="14"/>
      <line num="134" type="stmt" count="14"/>
      <line num="135" type="stmt" count="14"/>
      <line num="139" type="stmt" count="20"/>
      <line num="140" type="stmt" count="20"/>
      <line num="141" type="stmt" count="20"/>
      <line num="142" type="stmt" count="20"/>
      <line num="143" type="stmt" count="20"/>
      <line num="149" type="method" name="getLayout" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="150" type="stmt" count="14"/>
      <line num="151" type="stmt" count="14"/>
      <line num="152" type="stmt" count="14"/>
      <line num="153" type="stmt" count="14"/>
      <line num="154" type="stmt" count="14"/>
      <line num="156" type="stmt" count="14"/>
      <line num="157" type="stmt" count="14"/>
      <line num="158" type="stmt" count="14"/>
      <line num="159" type="stmt" count="14"/>
      <line num="160" type="stmt" count="14"/>
      <line num="163" type="stmt" count="14"/>
      <line num="172" type="method" name="addTabs" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="173" type="stmt" count="14"/>
      <line num="176" type="stmt" count="14"/>
      <line num="178" type="stmt" count="14"/>
      <line num="180" type="stmt" count="14"/>
      <line num="181" type="stmt" count="14"/>
      <line num="182" type="stmt" count="14"/>
      <line num="183" type="stmt" count="14"/>
      <line num="184" type="stmt" count="14"/>
      <line num="185" type="stmt" count="14"/>
      <line num="186" type="stmt" count="14"/>
      <line num="187" type="stmt" count="14"/>
      <line num="188" type="stmt" count="14"/>
      <line num="189" type="stmt" count="14"/>
      <line num="190" type="stmt" count="14"/>
      <line num="191" type="stmt" count="14"/>
      <line num="192" type="stmt" count="14"/>
      <line num="193" type="stmt" count="14"/>
      <line num="194" type="stmt" count="14"/>
      <line num="195" type="stmt" count="14"/>
      <line num="196" type="stmt" count="14"/>
      <line num="197" type="stmt" count="14"/>
      <line num="199" type="stmt" count="14"/>
      <line num="201" type="stmt" count="14"/>
      <line num="207" type="method" name="getTokenWithoutPaginationData" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="208" type="stmt" count="14"/>
      <line num="209" type="stmt" count="14"/>
      <line num="210" type="stmt" count="14"/>
      <line num="211" type="stmt" count="14"/>
      <line num="213" type="stmt" count="14"/>
      <line num="222" type="method" name="addHtml" visibility="private" complexity="1" crap="1" count="14"/>
      <line num="223" type="stmt" count="14"/>
      <line num="226" type="stmt" count="14"/>
      <line num="228" type="stmt" count="14"/>
      <line num="229" type="stmt" count="14"/>
      <line num="230" type="stmt" count="14"/>
      <line num="231" type="stmt" count="14"/>
      <line num="232" type="stmt" count="14"/>
      <line num="234" type="stmt" count="14"/>
      <line num="243" type="method" name="addParserOutput" visibility="private" complexity="1" crap="1" count="7"/>
      <line num="244" type="stmt" count="7"/>
      <line num="245" type="stmt" count="7"/>
      <line num="246" type="stmt" count="7"/>
      <line num="247" type="stmt" count="7"/>
      <line num="249" type="stmt" count="7"/>
      <line num="258" type="method" name="addTabContent" visibility="private" complexity="17" crap="17" count="14"/>
      <line num="259" type="stmt" count="14"/>
      <line num="260" type="stmt" count="14"/>
      <line num="263" type="stmt" count="14"/>
      <line num="265" type="stmt" count="4"/>
      <line num="266" type="stmt" count="4"/>
      <line num="267" type="stmt" count="4"/>
      <line num="268" type="stmt" count="4"/>
      <line num="269" type="stmt" count="4"/>
      <line num="271" type="stmt" count="4"/>
      <line num="272" type="stmt" count="2"/>
      <line num="273" type="stmt" count="2"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="279" type="stmt" count="4"/>
      <line num="280" 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="293" type="stmt" count="4"/>
      <line num="294" type="stmt" count="4"/>
      <line num="295" type="stmt" count="4"/>
      <line num="296" type="stmt" count="4"/>
      <line num="297" type="stmt" count="4"/>
      <line num="298" type="stmt" count="4"/>
      <line num="300" type="stmt" count="4"/>
      <line num="302" type="stmt" count="10"/>
      <line num="304" type="stmt" count="7"/>
      <line num="305" type="stmt" count="7"/>
      <line num="307" type="stmt" count="7"/>
      <line num="308" type="stmt" count="4"/>
      <line num="309" type="stmt" count="4"/>
      <line num="311" type="stmt" count="2"/>
      <line num="312" type="stmt" count="2"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" type="stmt" count="2"/>
      <line num="316" type="stmt" count="2"/>
      <line num="318" type="stmt" count="1"/>
      <line num="321" type="stmt" count="2"/>
      <line num="322" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="325" type="stmt" count="2"/>
      <line num="326" type="stmt" count="2"/>
      <line num="327" type="stmt" count="2"/>
      <line num="328" type="stmt" count="2"/>
      <line num="330" type="stmt" count="4"/>
      <line num="332" type="stmt" count="3"/>
      <line num="333" type="stmt" count="2"/>
      <line num="334" type="stmt" count="2"/>
      <line num="335" type="stmt" count="2"/>
      <line num="337" type="stmt" count="1"/>
      <line num="338" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="341" type="stmt" count="3"/>
      <line num="342" type="stmt" count="3"/>
      <line num="343" type="stmt" count="3"/>
      <line num="344" type="stmt" count="3"/>
      <line num="347" type="stmt" count="7"/>
      <line num="348" type="stmt" count="7"/>
      <line num="349" type="stmt" count="7"/>
      <line num="350" type="stmt" count="7"/>
      <line num="351" type="stmt" count="7"/>
      <line num="352" type="stmt" count="7"/>
      <line num="354" type="stmt" count="7"/>
      <line num="356" type="stmt" count="3"/>
      <line num="358" type="stmt" count="3"/>
      <line num="359" type="stmt" count="3"/>
      <line num="361" type="stmt" count="3"/>
      <line num="362" type="stmt" count="1"/>
      <line num="364" type="stmt" count="2"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <line num="367" type="stmt" count="1"/>
      <line num="369" type="stmt" count="1"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="373" type="stmt" count="2"/>
      <line num="374" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <line num="376" type="stmt" count="2"/>
      <line num="379" type="stmt" count="3"/>
      <line num="380" type="stmt" count="3"/>
      <line num="381" type="stmt" count="3"/>
      <line num="382" type="stmt" count="3"/>
      <line num="383" type="stmt" count="3"/>
      <line num="384" type="stmt" count="3"/>
      <line num="386" type="stmt" count="3"/>
      <line num="389" type="stmt" count="14"/>
      <line num="395" type="method" name="getMaxCheckUserDataAgeForMessage" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="396" type="stmt" count="2"/>
      <line num="399" type="method" name="logQuery" visibility="private" complexity="1" crap="1" count="14"/>
      <line num="400" type="stmt" count="14"/>
      <line num="401" type="stmt" count="14"/>
      <line num="402" type="stmt" count="14"/>
      <line num="403" type="stmt" count="14"/>
      <line num="405" type="stmt" count="14"/>
      <line num="406" type="stmt" count="14"/>
      <line num="407" type="stmt" count="14"/>
      <line num="408" type="stmt" count="14"/>
      <line num="409" type="stmt" count="14"/>
      <line num="410" type="stmt" count="14"/>
      <line num="411" type="stmt" count="14"/>
      <line num="423" type="method" name="getTabParam" visibility="private" complexity="1" crap="1" count="16"/>
      <line num="424" type="stmt" count="16"/>
      <line num="425" type="stmt" count="16"/>
      <line num="435" type="method" name="getTabMessage" visibility="private" complexity="1" crap="1" count="16"/>
      <line num="440" type="stmt" count="16"/>
      <line num="446" type="method" name="getDescription" visibility="public" complexity="1" crap="1" count="23"/>
      <line num="447" type="stmt" count="23"/>
      <line num="453" type="method" name="getMessagePrefix" visibility="protected" complexity="1" crap="1" count="22"/>
      <line num="454" type="stmt" count="22"/>
      <line num="462" type="method" name="addBlockForm" visibility="private" complexity="3" crap="3" count="14"/>
      <line num="463" type="stmt" count="14"/>
      <line num="464" type="stmt" count="14"/>
      <line num="465" type="stmt" count="14"/>
      <line num="466" type="stmt" count="14"/>
      <line num="468" type="stmt" count="14"/>
      <line num="469" type="stmt" count="14"/>
      <line num="470" type="stmt" count="14"/>
      <line num="471" type="stmt" count="14"/>
      <line num="472" type="stmt" count="14"/>
      <line num="474" type="stmt" count="14"/>
      <line num="475" type="stmt" count="14"/>
      <line num="476" type="stmt" count="14"/>
      <line num="477" type="stmt" count="14"/>
      <line num="482" type="stmt" count="14"/>
      <line num="483" type="stmt" count="14"/>
      <line num="484" type="stmt" count="14"/>
      <line num="485" type="stmt" count="14"/>
      <line num="486" type="stmt" count="14"/>
      <line num="487" type="stmt" count="14"/>
      <line num="488" type="stmt" count="14"/>
      <line num="489" type="stmt" count="14"/>
      <line num="490" type="stmt" count="14"/>
      <line num="491" type="stmt" count="14"/>
      <line num="492" type="stmt" count="14"/>
      <line num="493" type="stmt" count="14"/>
      <line num="494" type="stmt" count="14"/>
      <line num="495" type="stmt" count="14"/>
      <line num="496" type="stmt" count="14"/>
      <line num="497" type="stmt" count="14"/>
      <line num="498" type="stmt" count="14"/>
      <line num="499" type="stmt" count="14"/>
      <line num="500" type="stmt" count="14"/>
      <line num="501" type="stmt" count="14"/>
      <line num="502" type="stmt" count="14"/>
      <line num="503" type="stmt" count="14"/>
      <line num="504" type="stmt" count="14"/>
      <line num="505" type="stmt" count="14"/>
      <line num="506" type="stmt" count="14"/>
      <line num="507" type="stmt" count="14"/>
      <line num="508" type="stmt" count="14"/>
      <line num="509" type="stmt" count="14"/>
      <line num="510" type="stmt" count="14"/>
      <line num="511" type="stmt" count="14"/>
      <line num="512" type="stmt" count="14"/>
      <line num="513" type="stmt" count="14"/>
      <line num="514" type="stmt" count="14"/>
      <line num="515" type="stmt" count="14"/>
      <line num="516" type="stmt" count="14"/>
      <line num="517" type="stmt" count="14"/>
      <line num="518" type="stmt" count="14"/>
      <line num="519" type="stmt" count="14"/>
      <line num="520" type="stmt" count="14"/>
      <line num="521" type="stmt" count="14"/>
      <line num="522" type="stmt" count="14"/>
      <line num="523" type="stmt" count="14"/>
      <line num="524" type="stmt" count="14"/>
      <line num="525" type="stmt" count="14"/>
      <line num="526" type="stmt" count="14"/>
      <line num="527" type="stmt" count="14"/>
      <line num="528" type="stmt" count="14"/>
      <line num="529" type="stmt" count="14"/>
      <line num="532" type="stmt" count="14"/>
      <line num="533" type="stmt" count="14"/>
      <line num="534" type="stmt" count="14"/>
      <line num="535" type="stmt" count="14"/>
      <line num="536" type="stmt" count="14"/>
      <line num="537" type="stmt" count="14"/>
      <line num="539" type="stmt" count="14"/>
      <line num="540" type="stmt" count="14"/>
      <line num="541" type="stmt" count="14"/>
      <line num="551" type="method" name="addIndicators" visibility="private" complexity="5" crap="5" count="22"/>
      <line num="552" type="stmt" count="22"/>
      <line num="553" type="stmt" count="22"/>
      <line num="554" type="stmt" count="22"/>
      <line num="555" type="stmt" count="22"/>
      <line num="556" type="stmt" count="22"/>
      <line num="557" type="stmt" count="22"/>
      <line num="558" type="stmt" count="22"/>
      <line num="559" type="stmt" count="22"/>
      <line num="562" type="stmt" count="22"/>
      <line num="563" type="stmt" count="14"/>
      <line num="564" type="stmt" count="14"/>
      <line num="565" type="stmt" count="14"/>
      <line num="566" type="stmt" count="14"/>
      <line num="567" type="stmt" count="14"/>
      <line num="570" type="stmt" count="22"/>
      <line num="571" type="stmt" count="22"/>
      <line num="572" type="stmt" count="22"/>
      <line num="573" type="stmt" count="22"/>
      <line num="574" type="stmt" count="22"/>
      <line num="575" type="stmt" count="22"/>
      <line num="576" type="stmt" count="22"/>
      <line num="583" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="1" count="22"/>
      <line num="584" type="stmt" count="22"/>
      <line num="590" type="method" name="getForm" visibility="protected" complexity="2" crap="2" count="22"/>
      <line num="591" type="stmt" count="22"/>
      <line num="592" type="stmt" count="22"/>
      <line num="595" type="stmt" count="22"/>
      <line num="601" type="method" name="getFormFields" visibility="protected" complexity="4" crap="4" count="22"/>
      <line num="602" type="stmt" count="22"/>
      <line num="604" type="stmt" count="22"/>
      <line num="605" type="stmt" count="22"/>
      <line num="606" type="stmt" count="22"/>
      <line num="607" type="stmt" count="22"/>
      <line num="608" type="stmt" count="22"/>
      <line num="609" type="stmt" count="22"/>
      <line num="610" type="stmt" count="22"/>
      <line num="611" type="stmt" count="22"/>
      <line num="612" type="stmt" count="22"/>
      <line num="613" type="stmt" count="22"/>
      <line num="614" type="stmt" count="22"/>
      <line num="616" type="stmt" count="22"/>
      <line num="617" type="stmt" count="22"/>
      <line num="619" type="stmt" count="22"/>
      <line num="620" type="stmt" count="7"/>
      <line num="622" type="stmt" count="7"/>
      <line num="623" type="stmt" count="7"/>
      <line num="624" type="stmt" count="7"/>
      <line num="625" type="stmt" count="7"/>
      <line num="626" type="stmt" count="7"/>
      <line num="627" type="stmt" count="7"/>
      <line num="628" type="stmt" count="7"/>
      <line num="629" type="stmt" count="7"/>
      <line num="630" type="stmt" count="7"/>
      <line num="631" type="stmt" count="7"/>
      <line num="632" type="stmt" count="7"/>
      <line num="633" type="stmt" count="7"/>
      <line num="634" type="stmt" count="7"/>
      <line num="635" type="stmt" count="7"/>
      <line num="636" type="stmt" count="7"/>
      <line num="637" type="stmt" count="7"/>
      <line num="638" type="stmt" count="7"/>
      <line num="639" type="stmt" count="7"/>
      <line num="640" type="stmt" count="7"/>
      <line num="641" type="stmt" count="7"/>
      <line num="642" type="stmt" count="7"/>
      <line num="643" type="stmt" count="7"/>
      <line num="644" type="stmt" count="7"/>
      <line num="645" type="stmt" count="7"/>
      <line num="646" type="stmt" count="7"/>
      <line num="647" type="stmt" count="7"/>
      <line num="648" type="stmt" count="7"/>
      <line num="649" type="stmt" count="7"/>
      <line num="652" type="stmt" count="15"/>
      <line num="655" type="stmt" count="15"/>
      <line num="656" type="stmt" count="15"/>
      <line num="657" type="stmt" count="15"/>
      <line num="660" type="stmt" count="15"/>
      <line num="661" type="stmt" count="11"/>
      <line num="662" type="stmt" count="11"/>
      <line num="663" type="stmt" count="11"/>
      <line num="664" type="stmt" count="11"/>
      <line num="665" type="stmt" count="11"/>
      <line num="666" type="stmt" count="11"/>
      <line num="667" type="stmt" count="11"/>
      <line num="668" type="stmt" count="11"/>
      <line num="669" type="stmt" count="11"/>
      <line num="670" type="stmt" count="11"/>
      <line num="671" type="stmt" count="11"/>
      <line num="672" type="stmt" count="11"/>
      <line num="673" type="stmt" count="11"/>
      <line num="674" type="stmt" count="11"/>
      <line num="675" type="stmt" count="11"/>
      <line num="676" type="stmt" count="11"/>
      <line num="677" type="stmt" count="11"/>
      <line num="678" type="stmt" count="11"/>
      <line num="679" type="stmt" count="11"/>
      <line num="680" type="stmt" count="11"/>
      <line num="681" type="stmt" count="11"/>
      <line num="684" type="stmt" count="15"/>
      <line num="685" type="stmt" count="8"/>
      <line num="686" type="stmt" count="8"/>
      <line num="687" type="stmt" count="8"/>
      <line num="688" type="stmt" count="8"/>
      <line num="691" type="stmt" count="15"/>
      <line num="697" type="method" name="alterForm" visibility="protected" complexity="3" crap="3" count="22"/>
      <line num="700" type="stmt" count="22"/>
      <line num="701" type="stmt" count="7"/>
      <line num="703" type="stmt" count="15"/>
      <line num="704" type="stmt" count="15"/>
      <line num="705" type="stmt" count="11"/>
      <line num="706" type="stmt" count="11"/>
      <line num="709" type="stmt" count="11"/>
      <line num="717" type="method" name="getTokenData" visibility="private" complexity="2" crap="2" count="22"/>
      <line num="718" type="stmt" count="22"/>
      <line num="719" type="stmt" count="22"/>
      <line num="722" type="stmt" count="22"/>
      <line num="728" type="method" name="onSubmit" visibility="public" complexity="9" crap="9" count="2"/>
      <line num="729" type="stmt" count="2"/>
      <line num="730" type="stmt" count="2"/>
      <line num="731" type="stmt" count="2"/>
      <line num="732" type="stmt" count="2"/>
      <line num="734" type="stmt" count="2"/>
      <line num="735" type="stmt" count="1"/>
      <line num="737" type="stmt" count="2"/>
      <line num="738" type="stmt" count="1"/>
      <line num="739" type="stmt" count="1"/>
      <line num="741" type="stmt" count="2"/>
      <line num="742" type="stmt" count="1"/>
      <line num="744" type="stmt" count="1"/>
      <line num="745" type="stmt" count="1"/>
      <line num="747" type="stmt" count="1"/>
      <line num="748" type="stmt" count="1"/>
      <line num="749" type="stmt" count="1"/>
      <line num="750" type="stmt" count="1"/>
      <line num="752" type="stmt" count="1"/>
      <line num="753" type="stmt" count="1"/>
      <line num="754" type="stmt" count="1"/>
      <line num="755" type="stmt" count="1"/>
      <line num="758" type="stmt" count="2"/>
      <line num="760" type="stmt" count="2"/>
      <line num="762" type="stmt" count="1"/>
      <line num="763" type="stmt" count="1"/>
      <line num="764" type="stmt" count="1"/>
      <line num="765" type="stmt" count="1"/>
      <line num="768" type="stmt" count="1"/>
      <line num="769" type="stmt" count="1"/>
      <line num="770" type="stmt" count="1"/>
      <line num="771" type="stmt" count="1"/>
      <line num="773" type="stmt" count="2"/>
      <line num="775" type="stmt" count="2"/>
      <line num="776" type="stmt" count="2"/>
      <line num="777" type="stmt" count="2"/>
      <line num="778" type="stmt" count="2"/>
      <line num="779" type="stmt" count="2"/>
      <line num="781" type="stmt" count="2"/>
      <line num="790" type="method" name="addLogEntries" visibility="protected" complexity="4" crap="4" count="1"/>
      <line num="791" type="stmt" count="1"/>
      <line num="792" type="stmt" count="1"/>
      <line num="794" type="stmt" count="1"/>
      <line num="795" type="stmt" count="1"/>
      <line num="796" type="stmt" count="1"/>
      <line num="797" type="stmt" count="1"/>
      <line num="800" type="stmt" count="1"/>
      <line num="801" type="stmt" count="1"/>
      <line num="802" type="stmt" count="1"/>
      <line num="805" type="stmt" count="1"/>
      <line num="806" type="stmt" count="1"/>
      <line num="807" type="stmt" count="1"/>
      <line num="808" type="stmt" count="1"/>
      <line num="809" type="stmt" count="1"/>
      <line num="810" type="stmt" count="1"/>
      <line num="811" type="stmt" count="1"/>
      <line num="812" type="stmt" count="1"/>
      <line num="833" type="method" name="getUpdatedToken" visibility="private" complexity="1" crap="1" count="16"/>
      <line num="834" type="stmt" count="16"/>
      <line num="835" type="stmt" count="16"/>
      <line num="836" type="stmt" count="16"/>
      <line num="837" type="stmt" count="16"/>
      <line num="846" type="method" name="getRedirectUrl" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="847" type="stmt" count="1"/>
      <line num="848" type="stmt" count="1"/>
      <line num="849" type="stmt" count="1"/>
      <line num="850" type="stmt" count="1"/>
      <line num="851" type="stmt" count="1"/>
      <line num="852" type="stmt" count="1"/>
      <line num="853" type="stmt" count="1"/>
      <line num="863" type="method" name="getArrayFromField" visibility="private" complexity="4" crap="4.37" count="2"/>
      <line num="864" type="stmt" count="2"/>
      <line num="865" type="stmt" count="0"/>
      <line num="868" type="stmt" count="2"/>
      <line num="869" type="stmt" count="0"/>
      <line num="872" type="stmt" count="2"/>
      <line num="873" type="stmt" count="1"/>
      <line num="876" type="stmt" count="1"/>
      <line num="882" type="method" name="usingFilters" visibility="private" complexity="3" crap="3" count="5"/>
      <line num="883" type="stmt" count="5"/>
      <line num="885" type="stmt" count="5"/>
      <line num="886" type="stmt" count="5"/>
      <line num="887" type="stmt" count="5"/>
      <line num="893" type="method" name="getDuration" visibility="private" complexity="1" crap="1" count="22"/>
      <line num="894" type="stmt" count="22"/>
      <line num="900" type="method" name="addSubtitle" visibility="private" complexity="4" crap="4" count="20"/>
      <line num="901" type="stmt" count="20"/>
      <line num="902" type="stmt" count="20"/>
      <line num="904" type="stmt" count="20"/>
      <line num="905" type="stmt" count="14"/>
      <line num="906" type="stmt" count="14"/>
      <line num="909" type="stmt" count="20"/>
      <line num="910" type="stmt" count="20"/>
      <line num="911" type="stmt" count="20"/>
      <line num="912" type="stmt" count="20"/>
      <line num="913" type="stmt" count="20"/>
      <line num="914" type="stmt" count="20"/>
      <line num="917" type="stmt" count="20"/>
      <line num="918" type="stmt" count="20"/>
      <line num="920" type="stmt" count="1"/>
      <line num="921" type="stmt" count="1"/>
      <line num="922" type="stmt" count="1"/>
      <line num="923" type="stmt" count="1"/>
      <line num="926" type="stmt" count="20"/>
      <line num="928" type="stmt" count="20"/>
      <line num="930" type="stmt" count="20"/>
      <metrics loc="933" ncloc="760" classes="1" methods="31" coveredmethods="30" conditionals="0" coveredconditionals="0" statements="470" coveredstatements="468" elements="501" coveredelements="498"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/SpecialInvestigateBlock.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\SpecialInvestigateBlock" namespace="global">
        <metrics complexity="53" methods="14" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="276" coveredstatements="275" elements="290" coveredelements="288"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="43" type="stmt" count="21"/>
      <line num="47" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="48" type="stmt" count="21"/>
      <line num="54" type="method" name="userCanExecute" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="62" type="method" name="checkPermissions" visibility="public" complexity="3" crap="3" count="19"/>
      <line num="63" type="stmt" count="19"/>
      <line num="64" type="stmt" count="19"/>
      <line num="65" type="stmt" count="1"/>
      <line num="69" type="stmt" count="18"/>
      <line num="70" type="stmt" count="1"/>
      <line num="77" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="1" count="15"/>
      <line num="78" type="stmt" count="15"/>
      <line num="84" type="method" name="getFormFields" visibility="public" complexity="10" crap="10" count="15"/>
      <line num="85" type="stmt" count="15"/>
      <line num="86" type="stmt" count="15"/>
      <line num="87" type="stmt" count="15"/>
      <line num="88" type="stmt" count="15"/>
      <line num="89" type="stmt" count="15"/>
      <line num="90" type="stmt" count="15"/>
      <line num="91" type="stmt" count="15"/>
      <line num="92" type="stmt" count="15"/>
      <line num="94" type="stmt" count="15"/>
      <line num="96" type="stmt" count="15"/>
      <line num="97" type="stmt" count="15"/>
      <line num="98" type="stmt" count="15"/>
      <line num="99" type="stmt" count="15"/>
      <line num="100" type="stmt" count="15"/>
      <line num="101" type="stmt" count="15"/>
      <line num="102" type="stmt" count="15"/>
      <line num="103" type="stmt" count="15"/>
      <line num="104" type="stmt" count="15"/>
      <line num="105" type="stmt" count="15"/>
      <line num="106" type="stmt" count="15"/>
      <line num="109" type="stmt" count="15"/>
      <line num="110" type="stmt" count="15"/>
      <line num="111" type="stmt" count="15"/>
      <line num="115" type="stmt" count="15"/>
      <line num="117" type="stmt" count="15"/>
      <line num="120" type="stmt" count="15"/>
      <line num="121" type="stmt" count="15"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="135" type="stmt" count="15"/>
      <line num="136" type="stmt" count="15"/>
      <line num="137" type="stmt" count="15"/>
      <line num="139" type="stmt" count="15"/>
      <line num="140" type="stmt" count="15"/>
      <line num="141" type="stmt" count="15"/>
      <line num="142" type="stmt" count="15"/>
      <line num="143" type="stmt" count="15"/>
      <line num="144" type="stmt" count="15"/>
      <line num="147" type="stmt" count="15"/>
      <line num="148" type="stmt" count="15"/>
      <line num="149" type="stmt" count="15"/>
      <line num="151" type="stmt" count="14"/>
      <line num="152" type="stmt" count="14"/>
      <line num="153" type="stmt" count="14"/>
      <line num="154" type="stmt" count="14"/>
      <line num="155" type="stmt" count="14"/>
      <line num="156" type="stmt" count="14"/>
      <line num="159" type="stmt" count="15"/>
      <line num="160" type="stmt" count="15"/>
      <line num="161" type="stmt" count="15"/>
      <line num="162" type="stmt" count="15"/>
      <line num="163" type="stmt" count="15"/>
      <line num="164" type="stmt" count="15"/>
      <line num="165" type="stmt" count="15"/>
      <line num="168" type="stmt" count="15"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="178" type="stmt" count="13"/>
      <line num="179" type="stmt" count="13"/>
      <line num="180" type="stmt" count="13"/>
      <line num="181" type="stmt" count="13"/>
      <line num="184" type="stmt" count="13"/>
      <line num="185" type="stmt" count="13"/>
      <line num="188" type="stmt" count="15"/>
      <line num="189" type="stmt" count="15"/>
      <line num="190" type="stmt" count="15"/>
      <line num="191" type="stmt" count="15"/>
      <line num="192" type="stmt" count="15"/>
      <line num="193" type="stmt" count="15"/>
      <line num="196" type="stmt" count="15"/>
      <line num="197" type="stmt" count="15"/>
      <line num="199" type="stmt" count="15"/>
      <line num="200" type="stmt" count="15"/>
      <line num="202" type="stmt" count="15"/>
      <line num="203" type="stmt" count="15"/>
      <line num="204" type="stmt" count="15"/>
      <line num="205" type="stmt" count="15"/>
      <line num="206" type="stmt" count="15"/>
      <line num="207" type="stmt" count="15"/>
      <line num="208" type="stmt" count="15"/>
      <line num="210" type="stmt" count="15"/>
      <line num="211" type="stmt" count="15"/>
      <line num="212" type="stmt" count="15"/>
      <line num="213" type="stmt" count="15"/>
      <line num="214" type="stmt" count="15"/>
      <line num="215" type="stmt" count="15"/>
      <line num="217" type="stmt" count="15"/>
      <line num="218" type="stmt" count="15"/>
      <line num="219" type="stmt" count="15"/>
      <line num="220" type="stmt" count="15"/>
      <line num="221" type="stmt" count="15"/>
      <line num="222" type="stmt" count="15"/>
      <line num="223" type="stmt" count="15"/>
      <line num="224" type="stmt" count="15"/>
      <line num="225" type="stmt" count="15"/>
      <line num="226" type="stmt" count="15"/>
      <line num="229" type="stmt" count="15"/>
      <line num="230" type="stmt" count="15"/>
      <line num="231" type="stmt" count="15"/>
      <line num="232" type="stmt" count="15"/>
      <line num="233" type="stmt" count="15"/>
      <line num="234" type="stmt" count="15"/>
      <line num="235" type="stmt" count="15"/>
      <line num="236" type="stmt" count="15"/>
      <line num="237" type="stmt" count="15"/>
      <line num="243" type="stmt" count="15"/>
      <line num="244" type="stmt" count="15"/>
      <line num="245" type="stmt" count="15"/>
      <line num="246" type="stmt" count="15"/>
      <line num="247" type="stmt" count="15"/>
      <line num="248" type="stmt" count="15"/>
      <line num="249" type="stmt" count="15"/>
      <line num="250" type="stmt" count="15"/>
      <line num="251" type="stmt" count="15"/>
      <line num="252" type="stmt" count="15"/>
      <line num="253" type="stmt" count="15"/>
      <line num="254" type="stmt" count="15"/>
      <line num="257" type="stmt" count="15"/>
      <line num="258" type="stmt" count="15"/>
      <line num="259" type="stmt" count="15"/>
      <line num="260" type="stmt" count="15"/>
      <line num="261" type="stmt" count="15"/>
      <line num="262" type="stmt" count="15"/>
      <line num="263" type="stmt" count="15"/>
      <line num="264" type="stmt" count="15"/>
      <line num="265" type="stmt" count="15"/>
      <line num="266" type="stmt" count="15"/>
      <line num="267" type="stmt" count="15"/>
      <line num="269" type="stmt" count="15"/>
      <line num="270" type="stmt" count="15"/>
      <line num="271" type="stmt" count="15"/>
      <line num="272" type="stmt" count="15"/>
      <line num="273" type="stmt" count="15"/>
      <line num="274" type="stmt" count="15"/>
      <line num="276" type="stmt" count="15"/>
      <line num="284" type="method" name="showConfirmationCheckbox" visibility="private" complexity="3" crap="3" count="15"/>
      <line num="288" type="stmt" count="15"/>
      <line num="289" type="stmt" count="15"/>
      <line num="290" type="stmt" count="15"/>
      <line num="300" type="method" name="checkForIPsAndUsersInTargetsParam" visibility="private" complexity="2" crap="2" count="12"/>
      <line num="302" type="stmt" count="12"/>
      <line num="305" type="stmt" count="12"/>
      <line num="306" type="stmt" count="12"/>
      <line num="312" type="method" name="getDescription" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="313" type="stmt" count="17"/>
      <line num="319" type="method" name="getMessagePrefix" visibility="protected" complexity="1" crap="1" count="15"/>
      <line num="320" type="stmt" count="15"/>
      <line num="334" type="method" name="onSubmit" visibility="public" complexity="16" crap="16" count="11"/>
      <line num="335" type="stmt" count="11"/>
      <line num="339" type="stmt" count="11"/>
      <line num="343" type="stmt" count="11"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="1"/>
      <line num="346" type="stmt" count="1"/>
      <line num="347" type="stmt" count="1"/>
      <line num="350" type="stmt" count="10"/>
      <line num="354" type="stmt" count="10"/>
      <line num="356" type="stmt" count="10"/>
      <line num="357" type="stmt" count="10"/>
      <line num="358" type="stmt" count="10"/>
      <line num="360" type="stmt" count="10"/>
      <line num="361" type="stmt" count="9"/>
      <line num="362" type="stmt" count="9"/>
      <line num="363" type="stmt" count="0"/>
      <line num="367" type="stmt" count="10"/>
      <line num="369" type="stmt" count="10"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="373" type="stmt" count="9"/>
      <line num="374" type="stmt" count="9"/>
      <line num="377" type="stmt" count="10"/>
      <line num="378" type="stmt" count="10"/>
      <line num="379" type="stmt" count="10"/>
      <line num="380" type="stmt" count="10"/>
      <line num="381" type="stmt" count="10"/>
      <line num="382" type="stmt" count="10"/>
      <line num="383" type="stmt" count="10"/>
      <line num="384" type="stmt" count="10"/>
      <line num="385" type="stmt" count="10"/>
      <line num="386" type="stmt" count="10"/>
      <line num="387" type="stmt" count="10"/>
      <line num="388" type="stmt" count="10"/>
      <line num="389" type="stmt" count="10"/>
      <line num="391" type="stmt" count="10"/>
      <line num="392" type="stmt" count="8"/>
      <line num="395" type="stmt" count="8"/>
      <line num="396" type="stmt" count="2"/>
      <line num="397" type="stmt" count="2"/>
      <line num="398" type="stmt" count="2"/>
      <line num="399" type="stmt" count="2"/>
      <line num="400" type="stmt" count="2"/>
      <line num="401" type="stmt" count="2"/>
      <line num="404" type="stmt" count="8"/>
      <line num="405" type="stmt" count="7"/>
      <line num="406" type="stmt" count="7"/>
      <line num="407" type="stmt" count="7"/>
      <line num="408" type="stmt" count="7"/>
      <line num="409" type="stmt" count="7"/>
      <line num="410" type="stmt" count="7"/>
      <line num="415" type="stmt" count="10"/>
      <line num="417" type="stmt" count="10"/>
      <line num="418" type="stmt" count="10"/>
      <line num="419" type="stmt" count="10"/>
      <line num="420" type="stmt" count="10"/>
      <line num="421" type="stmt" count="10"/>
      <line num="423" type="stmt" count="10"/>
      <line num="424" type="stmt" count="2"/>
      <line num="427" type="stmt" count="8"/>
      <line num="433" type="method" name="getTargetPage" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="434" type="stmt" count="7"/>
      <line num="435" type="stmt" count="1"/>
      <line num="438" type="stmt" count="7"/>
      <line num="450" type="method" name="addNoticeToPage" visibility="private" complexity="6" crap="6" count="7"/>
      <line num="458" type="stmt" count="7"/>
      <line num="459" type="stmt" count="3"/>
      <line num="460" type="stmt" count="1"/>
      <line num="461" type="stmt" count="2"/>
      <line num="462" type="stmt" count="1"/>
      <line num="466" type="stmt" count="7"/>
      <line num="467" type="stmt" count="7"/>
      <line num="468" type="stmt" count="7"/>
      <line num="469" type="stmt" count="7"/>
      <line num="470" type="stmt" count="7"/>
      <line num="471" type="stmt" count="7"/>
      <line num="472" type="stmt" count="7"/>
      <line num="474" type="stmt" count="7"/>
      <line num="475" type="stmt" count="7"/>
      <line num="476" type="stmt" count="7"/>
      <line num="477" type="stmt" count="7"/>
      <line num="479" type="stmt" count="7"/>
      <line num="480" type="stmt" count="7"/>
      <line num="482" type="stmt" count="7"/>
      <line num="483" type="stmt" count="7"/>
      <line num="486" type="stmt" count="7"/>
      <line num="487" type="stmt" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="495" type="method" name="onSuccess" visibility="public" complexity="2" crap="2" count="8"/>
      <line num="496" type="stmt" count="8"/>
      <line num="497" type="stmt" count="8"/>
      <line num="498" type="stmt" count="8"/>
      <line num="499" type="stmt" count="8"/>
      <line num="500" type="stmt" count="8"/>
      <line num="501" type="stmt" count="8"/>
      <line num="502" type="stmt" count="8"/>
      <line num="504" type="stmt" count="8"/>
      <line num="506" type="stmt" count="8"/>
      <line num="507" type="stmt" count="8"/>
      <line num="508" type="stmt" count="8"/>
      <line num="509" type="stmt" count="8"/>
      <line num="511" type="stmt" count="8"/>
      <line num="512" type="stmt" count="8"/>
      <line num="513" type="stmt" count="8"/>
      <line num="514" type="stmt" count="8"/>
      <line num="515" type="stmt" count="8"/>
      <line num="516" type="stmt" count="8"/>
      <line num="517" type="stmt" count="8"/>
      <line num="518" type="stmt" count="8"/>
      <line num="519" type="stmt" count="8"/>
      <line num="520" type="stmt" count="8"/>
      <line num="521" type="stmt" count="8"/>
      <line num="523" type="stmt" count="8"/>
      <line num="524" type="stmt" count="1"/>
      <line num="525" type="stmt" count="1"/>
      <metrics loc="537" ncloc="441" classes="1" methods="14" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="276" coveredstatements="275" elements="290" coveredelements="288"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Utilities/DurationManager.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Utilities\DurationManager" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="16" elements="21" coveredelements="18"/>
      </class>
      <line num="21" type="method" name="getFromRequest" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="22" type="stmt" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="2"/>
      <line num="28" type="stmt" count="2"/>
      <line num="37" type="method" name="getTimestampFromRequest" visibility="public" complexity="3" crap="3.14" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="58" type="method" name="isValid" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" type="stmt" count="1"/>
      <line num="66" type="stmt" count="6"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <metrics loc="73" ncloc="53" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="16" elements="21" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Investigate/Utilities/EventLogger.php">
      <class name="MediaWiki\Extension\CheckUser\Investigate\Utilities\EventLogger" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="24" type="method" name="logEvent" visibility="public" complexity="2" crap="6" 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="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <metrics loc="36" ncloc="28" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/LogTemporaryAccountAccessJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\LogTemporaryAccountAccessJob" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="30" elements="35" coveredelements="32"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="34" type="stmt" count="6"/>
      <line num="47" type="method" name="newSpec" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="52" type="stmt" count="16"/>
      <line num="53" type="stmt" count="16"/>
      <line num="54" type="stmt" count="16"/>
      <line num="55" type="stmt" count="16"/>
      <line num="56" type="stmt" count="16"/>
      <line num="57" type="stmt" count="16"/>
      <line num="58" type="stmt" count="16"/>
      <line num="59" type="stmt" count="16"/>
      <line num="60" type="stmt" count="16"/>
      <line num="61" type="stmt" count="16"/>
      <line num="62" type="stmt" count="16"/>
      <line num="68" type="method" name="run" visibility="public" complexity="6" crap="6.04" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="95" type="stmt" count="4"/>
      <metrics loc="98" ncloc="74" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="30" elements="35" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/PruneCheckUserDataJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\PruneCheckUserDataJob" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="24" coveredelements="24"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="36" type="stmt" count="5"/>
      <line num="40" type="method" name="run" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="45" type="stmt" count="5"/>
      <line num="46" type="stmt" count="1"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="1"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <metrics loc="87" ncloc="69" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="24" coveredelements="24"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/StoreClientHintsDataJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\StoreClientHintsDataJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="21" coveredelements="21"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="42" type="method" name="newSpec" visibility="public" complexity="1" crap="1" 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="60" type="method" name="run" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <metrics loc="71" ncloc="51" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="21" coveredelements="21"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/SuggestedInvestigationsAutoCloseForCaseJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\SuggestedInvestigationsAutoCloseForCaseJob" namespace="global">
        <metrics complexity="8" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="33" type="stmt" count="8"/>
      <line num="44" type="method" name="newFromGlobalState" visibility="public" complexity="1" crap="1" 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="58" type="stmt" count="1"/>
      <line num="65" type="method" name="newSpec" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="2"/>
      <line num="70" type="stmt" count="3"/>
      <line num="74" type="method" name="run" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="75" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="77" type="stmt" count="1"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="6"/>
      <line num="82" type="stmt" count="2"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <metrics loc="108" ncloc="95" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="39" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/SuggestedInvestigationsAutoCloseForUserJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\SuggestedInvestigationsAutoCloseForUserJob" namespace="global">
        <metrics complexity="7" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="21" coveredelements="21"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <line num="38" type="method" name="newSpec" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="43" type="method" name="run" visibility="public" complexity="5" crap="5" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="1"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="50" type="stmt" count="3"/>
      <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="56" type="stmt" count="2"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <metrics loc="70" ncloc="60" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="21" coveredelements="21"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/SuggestedInvestigationsMatchSignalsAgainstUserJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\SuggestedInvestigationsMatchSignalsAgainstUserJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="19" coveredelements="19"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="38" type="method" name="newSpec" visibility="public" complexity="1" crap="1" 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="55" type="method" name="run" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <metrics loc="65" ncloc="50" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="19" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Jobs/UpdateUserCentralIndexJob.php">
      <class name="MediaWiki\Extension\CheckUser\Jobs\UpdateUserCentralIndexJob" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="27" elements="30" coveredelements="28"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="37" type="method" name="run" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="0"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="61" type="stmt" count="1"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <metrics loc="81" ncloc="65" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="27" elements="30" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Logging/CheckUserPrivateEventLogFormatter.php">
      <class name="MediaWiki\Extension\CheckUser\Logging\CheckUserPrivateEventLogFormatter" namespace="global">
        <metrics complexity="25" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="55" elements="62" coveredelements="57"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="27" type="stmt" count="11"/>
      <line num="33" type="method" name="getMessageParameters" visibility="protected" complexity="12" crap="12" count="11"/>
      <line num="34" type="stmt" count="11"/>
      <line num="37" type="stmt" count="11"/>
      <line num="38" type="stmt" count="11"/>
      <line num="39" type="stmt" count="11"/>
      <line num="40" type="stmt" count="11"/>
      <line num="47" type="stmt" count="6"/>
      <line num="48" type="stmt" count="1"/>
      <line num="50" type="stmt" count="5"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="67" type="stmt" count="5"/>
      <line num="68" type="stmt" count="5"/>
      <line num="69" type="stmt" count="1"/>
      <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="75" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="4"/>
      <line num="83" type="stmt" count="1"/>
      <line num="86" type="stmt" count="11"/>
      <line num="90" type="method" name="getActionMessage" visibility="protected" complexity="2" crap="2" count="11"/>
      <line num="91" type="stmt" count="11"/>
      <line num="92" type="stmt" count="11"/>
      <line num="97" type="stmt" count="1"/>
      <line num="99" type="stmt" count="10"/>
      <line num="103" type="method" name="getParametersForApi" visibility="protected" complexity="10" crap="10.12" count="11"/>
      <line num="105" type="stmt" count="11"/>
      <line num="106" type="stmt" count="11"/>
      <line num="107" type="stmt" count="11"/>
      <line num="108" type="stmt" count="11"/>
      <line num="110" type="stmt" count="6"/>
      <line num="113" type="stmt" count="6"/>
      <line num="114" type="stmt" count="1"/>
      <line num="116" type="stmt" count="5"/>
      <line num="119" type="stmt" count="6"/>
      <line num="120" type="stmt" count="6"/>
      <line num="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="6"/>
      <line num="124" type="stmt" count="6"/>
      <line num="125" type="stmt" count="6"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="0"/>
      <line num="129" type="stmt" count="1"/>
      <line num="132" type="stmt" count="6"/>
      <line num="134" type="stmt" count="5"/>
      <metrics loc="137" ncloc="111" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="55" elements="62" coveredelements="57"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Logging/TemporaryAccountLogFormatter.php">
      <class name="MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogFormatter" namespace="global">
        <metrics complexity="21" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="44" coveredelements="44"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="22" type="stmt" count="11"/>
      <line num="28" type="method" name="getMessageParameters" visibility="protected" complexity="12" crap="12" count="11"/>
      <line num="29" type="stmt" count="11"/>
      <line num="32" type="stmt" count="11"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="9"/>
      <line num="38" type="stmt" count="2"/>
      <line num="39" type="stmt" count="1"/>
      <line num="42" type="stmt" count="7"/>
      <line num="43" type="stmt" count="7"/>
      <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="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="60" type="stmt" count="11"/>
      <line num="63" type="stmt" count="11"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="81" type="stmt" count="11"/>
      <line num="87" type="method" name="getMessageKey" visibility="protected" complexity="8" crap="8" count="11"/>
      <line num="88" type="stmt" count="11"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="96" type="stmt" count="9"/>
      <line num="97" type="stmt" count="9"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="2"/>
      <line num="103" type="stmt" count="1"/>
      <line num="105" type="stmt" count="6"/>
      <metrics loc="109" ncloc="92" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="44" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Logging/TemporaryAccountLogger.php">
      <class name="MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLogger" namespace="global">
        <metrics complexity="26" methods="17" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="90" coveredstatements="90" elements="107" coveredelements="107"/>
      </class>
      <line num="83" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="90" type="stmt" count="16"/>
      <line num="101" type="method" name="logViewTemporaryAccountsOnIP" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="124" type="method" name="logViewIPs" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="136" type="method" name="logViewIPsWithAutoReveal" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="154" type="method" name="logViewRelatedTemporaryAccounts" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="161" type="method" name="logAccessEnabled" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="168" type="method" name="logAccessDisabled" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="177" type="method" name="logGlobalAccessEnabled" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="186" type="method" name="logGlobalAccessDisabled" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="198" type="method" name="logAccessChanged" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="199" type="stmt" count="4"/>
      <line num="200" type="stmt" count="4"/>
      <line num="209" type="method" name="logAutoRevealAccessEnabled" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="213" type="stmt" count="1"/>
      <line num="214" type="stmt" count="1"/>
      <line num="222" type="method" name="logAutoRevealAccessDisabled" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="231" type="method" name="logAutoRevealChanged" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="242" type="method" name="debouncedLog" visibility="private" complexity="5" crap="5" count="7"/>
      <line num="249" type="stmt" 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="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="257" type="stmt" count="6"/>
      <line num="258" type="stmt" count="6"/>
      <line num="259" type="stmt" count="6"/>
      <line num="260" type="stmt" count="6"/>
      <line num="261" type="stmt" count="6"/>
      <line num="262" type="stmt" count="6"/>
      <line num="263" type="stmt" count="6"/>
      <line num="264" type="stmt" count="6"/>
      <line num="265" type="stmt" count="6"/>
      <line num="266" type="stmt" count="6"/>
      <line num="267" type="stmt" count="6"/>
      <line num="268" type="stmt" count="6"/>
      <line num="270" type="stmt" count="6"/>
      <line num="272" type="stmt" count="6"/>
      <line num="273" type="stmt" count="6"/>
      <line num="274" type="stmt" count="6"/>
      <line num="276" type="stmt" count="6"/>
      <line num="277" type="stmt" count="5"/>
      <line num="278" type="stmt" count="5"/>
      <line num="282" type="stmt" count="6"/>
      <line num="283" type="stmt" count="6"/>
      <line num="294" type="method" name="log" visibility="private" complexity="3" crap="3" count="15"/>
      <line num="301" type="stmt" count="15"/>
      <line num="302" type="stmt" count="15"/>
      <line num="303" type="stmt" count="15"/>
      <line num="304" type="stmt" count="15"/>
      <line num="306" type="stmt" count="15"/>
      <line num="307" type="stmt" count="9"/>
      <line num="311" type="stmt" count="15"/>
      <line num="312" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="1"/>
      <line num="315" type="stmt" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="317" type="stmt" count="1"/>
      <line num="328" type="method" name="logFromExternal" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="336" type="stmt" count="5"/>
      <line num="337" type="stmt" count="5"/>
      <line num="340" type="stmt" count="5"/>
      <line num="341" type="stmt" count="3"/>
      <line num="342" type="stmt" count="3"/>
      <line num="343" type="stmt" count="3"/>
      <line num="344" type="stmt" count="3"/>
      <line num="345" type="stmt" count="3"/>
      <line num="346" type="stmt" count="3"/>
      <line num="347" type="stmt" count="3"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="352" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="355" type="stmt" count="2"/>
      <line num="369" type="method" name="createManualLogEntry" visibility="protected" complexity="1" crap="1" count="12"/>
      <line num="370" type="stmt" count="12"/>
      <metrics loc="380" ncloc="233" classes="1" methods="17" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="90" coveredstatements="90" elements="107" coveredelements="107"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Logging/TemporaryAccountLoggerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\Logging\TemporaryAccountLoggerFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="33" type="method" name="getLogger" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <metrics loc="52" ncloc="38" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/RangeCalculator/SpecialRangeCalculator.php">
      <class name="MediaWiki\Extension\CheckUser\RangeCalculator\SpecialRangeCalculator" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="8" coveredelements="8"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="13" type="stmt" count="1"/>
      <line num="17" type="method" name="execute" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="21" type="stmt" count="1"/>
      <line num="22" type="stmt" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <metrics loc="34" ncloc="29" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="8" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ServiceWiring.php">
      <metrics loc="849" ncloc="838" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/AccountCreationDetailsLookup.php">
      <class name="MediaWiki\Extension\CheckUser\Services\AccountCreationDetailsLookup" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="43" elements="79" coveredelements="46"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="34" type="stmt" count="6"/>
      <line num="45" type="method" name="getIPAndUserAgentFromDB" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="50" type="stmt" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="54" type="stmt" count="5"/>
      <line num="55" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="2"/>
      <line num="63" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="3"/>
      <line num="86" type="method" name="getIPAndUserAgentForCreationByOtherUser" visibility="private" complexity="1" crap="1" 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="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="115" type="method" name="findPerformerAndLogId" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" 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="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" 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="144" 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="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="167" type="method" name="getAccountCreationIPAndUserAgent" visibility="public" complexity="4" crap="4.59" count="6"/>
      <line num="172" type="stmt" count="6"/>
      <line num="173" type="stmt" count="1"/>
      <line num="175" type="stmt" count="5"/>
      <line num="178" type="stmt" count="6"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="5"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="stmt" count="5"/>
      <line num="188" type="stmt" count="5"/>
      <metrics loc="199" ncloc="133" classes="1" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="43" elements="79" coveredelements="46"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/ApiQueryCheckUserResponseFactory.php">
      <class name="MediaWiki\Extension\CheckUser\Services\ApiQueryCheckUserResponseFactory" namespace="global">
        <metrics complexity="7" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="46" elements="48" coveredelements="48"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="38"/>
      <line num="39" type="stmt" count="38"/>
      <line num="45" type="method" name="newFromRequest" visibility="public" complexity="6" crap="6" count="23"/>
      <line num="47" type="stmt" count="23"/>
      <line num="48" type="stmt" count="23"/>
      <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="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="21"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="68" type="stmt" count="20"/>
      <line num="69" type="stmt" count="15"/>
      <line num="70" type="stmt" count="15"/>
      <line num="71" type="stmt" count="15"/>
      <line num="72" type="stmt" count="15"/>
      <line num="73" type="stmt" count="15"/>
      <line num="74" type="stmt" count="15"/>
      <line num="75" type="stmt" count="15"/>
      <line num="76" type="stmt" count="15"/>
      <line num="77" type="stmt" count="15"/>
      <line num="78" type="stmt" count="15"/>
      <line num="79" type="stmt" count="15"/>
      <line num="80" type="stmt" count="15"/>
      <line num="81" type="stmt" count="15"/>
      <line num="82" type="stmt" count="6"/>
      <line num="83" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="88" type="stmt" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="90" type="stmt" count="5"/>
      <line num="91" type="stmt" count="5"/>
      <line num="92" type="stmt" count="5"/>
      <line num="94" type="stmt" count="1"/>
      <metrics loc="98" ncloc="91" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="46" elements="48" coveredelements="48"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserCentralIndexLookup.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserCentralIndexLookup" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="40" elements="43" coveredelements="43"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="24" type="stmt" count="6"/>
      <line num="33" type="method" name="getUsersActiveSinceTimestamp" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="5"/>
      <line num="40" type="stmt" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="45" type="stmt" count="4"/>
      <line num="50" type="stmt" count="5"/>
      <line num="51" type="stmt" count="5"/>
      <line num="52" type="stmt" count="5"/>
      <line num="53" type="stmt" count="5"/>
      <line num="54" type="stmt" count="5"/>
      <line num="55" type="stmt" count="5"/>
      <line num="56" type="stmt" count="5"/>
      <line num="57" type="stmt" count="5"/>
      <line num="58" type="stmt" count="5"/>
      <line num="60" type="stmt" count="5"/>
      <line num="62" type="stmt" count="5"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="76" type="method" name="getActiveWikisForUser" visibility="public" complexity="2" crap="2" 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="80" type="stmt" count="1"/>
      <line num="81" 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="85" 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"/>
      <metrics loc="105" ncloc="80" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="40" elements="43" coveredelements="43"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserCentralIndexManager.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserCentralIndexManager" namespace="global">
        <metrics complexity="32" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="155" coveredstatements="155" elements="161" coveredelements="161"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="25"/>
      <line num="47" type="stmt" count="25"/>
      <line num="63" type="method" name="recordActionInCentralIndexes" visibility="public" complexity="3" crap="3" count="17"/>
      <line num="72" type="stmt" count="17"/>
      <line num="76" type="stmt" count="17"/>
      <line num="77" type="stmt" count="2"/>
      <line num="82" type="stmt" count="15"/>
      <line num="83" type="stmt" count="1"/>
      <line num="87" type="stmt" count="14"/>
      <line num="90" type="stmt" count="14"/>
      <line num="93" type="stmt" count="14"/>
      <line num="96" type="method" name="recordActionInTempEditCentralIndex" visibility="private" complexity="6" crap="6" count="14"/>
      <line num="106" type="stmt" count="14"/>
      <line num="107" type="stmt" count="14"/>
      <line num="110" type="stmt" count="4"/>
      <line num="113" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="115" type="stmt" count="4"/>
      <line num="116" type="stmt" count="4"/>
      <line num="117" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="120" type="stmt" count="4"/>
      <line num="124" type="stmt" count="4"/>
      <line num="125" type="stmt" count="4"/>
      <line num="126" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="154" type="method" name="recordActionInUserCentralIndex" visibility="private" complexity="14" crap="14" count="14"/>
      <line num="161" type="stmt" count="14"/>
      <line num="162" type="stmt" count="14"/>
      <line num="163" type="stmt" count="14"/>
      <line num="164" type="stmt" count="14"/>
      <line num="165" type="stmt" count="1"/>
      <line num="169" type="stmt" count="13"/>
      <line num="170" type="stmt" count="13"/>
      <line num="172" type="stmt" count="3"/>
      <line num="173" type="stmt" count="1"/>
      <line num="176" type="stmt" count="3"/>
      <line num="177" type="stmt" count="3"/>
      <line num="184" type="stmt" count="10"/>
      <line num="186" type="stmt" count="10"/>
      <line num="187" type="stmt" count="3"/>
      <line num="188" type="stmt" count="3"/>
      <line num="189" type="stmt" count="3"/>
      <line num="190" type="stmt" count="3"/>
      <line num="191" type="stmt" count="3"/>
      <line num="194" type="stmt" count="10"/>
      <line num="198" type="stmt" count="3"/>
      <line num="200" type="stmt" count="3"/>
      <line num="201" type="stmt" count="1"/>
      <line num="202" type="stmt" count="1"/>
      <line num="203" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="209" type="stmt" count="3"/>
      <line num="213" type="stmt" count="7"/>
      <line num="214" type="stmt" count="7"/>
      <line num="215" type="stmt" count="7"/>
      <line num="216" type="stmt" count="7"/>
      <line num="217" type="stmt" count="7"/>
      <line num="218" type="stmt" count="7"/>
      <line num="219" type="stmt" count="7"/>
      <line num="220" type="stmt" count="7"/>
      <line num="224" type="stmt" count="7"/>
      <line num="225" type="stmt" count="7"/>
      <line num="226" type="stmt" count="2"/>
      <line num="231" type="stmt" count="7"/>
      <line num="232" type="stmt" count="7"/>
      <line num="233" type="stmt" count="6"/>
      <line num="234" type="stmt" count="6"/>
      <line num="235" type="stmt" count="1"/>
      <line num="241" type="stmt" count="7"/>
      <line num="242" type="stmt" count="7"/>
      <line num="245" type="stmt" count="7"/>
      <line num="246" type="stmt" count="7"/>
      <line num="256" type="method" name="getWikiMapIdForDomainId" visibility="public" complexity="2" crap="2" count="19"/>
      <line num="258" type="stmt" count="19"/>
      <line num="259" type="stmt" count="19"/>
      <line num="260" type="stmt" count="19"/>
      <line num="261" type="stmt" count="19"/>
      <line num="262" type="stmt" count="19"/>
      <line num="263" type="stmt" count="19"/>
      <line num="264" type="stmt" count="19"/>
      <line num="265" type="stmt" count="19"/>
      <line num="266" type="stmt" count="15"/>
      <line num="272" type="stmt" count="8"/>
      <line num="276" type="stmt" count="8"/>
      <line num="277" type="stmt" count="8"/>
      <line num="278" type="stmt" count="8"/>
      <line num="279" type="stmt" count="8"/>
      <line num="280" type="stmt" count="8"/>
      <line num="281" type="stmt" count="8"/>
      <line num="284" type="stmt" count="8"/>
      <line num="285" type="stmt" count="8"/>
      <line num="286" type="stmt" count="8"/>
      <line num="287" type="stmt" count="8"/>
      <line num="288" type="stmt" count="8"/>
      <line num="289" type="stmt" count="8"/>
      <line num="303" type="method" name="purgeExpiredRows" visibility="public" complexity="6" crap="6" count="3"/>
      <line num="306" type="stmt" count="3"/>
      <line num="307" type="stmt" count="3"/>
      <line num="308" type="stmt" count="3"/>
      <line num="309" type="stmt" count="3"/>
      <line num="310" type="stmt" count="3"/>
      <line num="311" type="stmt" count="3"/>
      <line num="312" type="stmt" count="3"/>
      <line num="313" type="stmt" count="3"/>
      <line num="314" type="stmt" count="1"/>
      <line num="318" type="stmt" count="2"/>
      <line num="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="321" type="stmt" count="2"/>
      <line num="322" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="325" type="stmt" count="2"/>
      <line num="327" type="stmt" count="2"/>
      <line num="328" type="stmt" count="2"/>
      <line num="329" type="stmt" count="2"/>
      <line num="330" type="stmt" count="2"/>
      <line num="331" type="stmt" count="2"/>
      <line num="333" type="stmt" count="2"/>
      <line num="334" type="stmt" count="2"/>
      <line num="337" type="stmt" count="2"/>
      <line num="338" type="stmt" count="2"/>
      <line num="339" type="stmt" count="2"/>
      <line num="340" type="stmt" count="2"/>
      <line num="341" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="346" type="stmt" count="2"/>
      <line num="347" type="stmt" count="2"/>
      <line num="348" type="stmt" count="2"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="352" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="355" type="stmt" count="2"/>
      <line num="356" type="stmt" count="2"/>
      <line num="357" type="stmt" count="2"/>
      <line num="358" type="stmt" count="2"/>
      <line num="360" type="stmt" count="2"/>
      <line num="361" type="stmt" count="2"/>
      <line num="364" type="stmt" count="2"/>
      <line num="365" type="stmt" count="2"/>
      <line num="366" type="stmt" count="2"/>
      <line num="367" type="stmt" count="2"/>
      <line num="368" type="stmt" count="2"/>
      <line num="369" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <metrics loc="378" ncloc="283" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="155" coveredstatements="155" elements="161" coveredelements="161"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserDataPurger.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserDataPurger" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="28" coveredelements="28"/>
      </class>
      <line num="26" type="method" name="getPurgeLockKey" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="45" type="method" name="purgeDataFromLocalTable" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <line num="85" type="stmt" count="2"/>
      <line num="90" type="stmt" count="3"/>
      <metrics loc="93" ncloc="55" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="28" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserExpiredIdsLookupService.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserExpiredIdsLookupService" namespace="global">
        <metrics complexity="11" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="48" coveredelements="48"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="29" type="stmt" count="12"/>
      <line num="31" type="stmt" count="12"/>
      <line num="41" type="method" name="listExpiredRevisionIdsInSet" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="57" type="method" name="listExpiredLogIdsInSet" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="73" type="method" name="listExpiredAbuseLogIdsInSet" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="1"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="83" type="stmt" count="5"/>
      <line num="86" type="method" name="doListExpiredIdsInSet" visibility="private" complexity="4" crap="4" count="11"/>
      <line num="92" type="stmt" count="11"/>
      <line num="93" type="stmt" count="7"/>
      <line num="96" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="111" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="123" type="method" name="getCutoffTimestamp" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="124" type="stmt" count="4"/>
      <line num="132" type="method" name="hasCutoff" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="133" type="stmt" count="6"/>
      <metrics loc="136" ncloc="101" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="41" elements="48" coveredelements="48"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserIPRevealManager.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserIPRevealManager" namespace="global">
        <metrics complexity="16" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="930"/>
      <line num="25" type="stmt" count="930"/>
      <line num="35" type="method" name="shouldAddIPRevealButtons" visibility="public" complexity="15" crap="15" count="921"/>
      <line num="36" type="stmt" count="921"/>
      <line num="37" type="stmt" count="231"/>
      <line num="40" type="stmt" count="690"/>
      <line num="42" type="stmt" count="690"/>
      <line num="43" type="stmt" count="690"/>
      <line num="44" type="stmt" count="690"/>
      <line num="45" type="stmt" count="690"/>
      <line num="46" type="stmt" count="690"/>
      <line num="47" type="stmt" count="690"/>
      <line num="49" type="stmt" count="108"/>
      <line num="52" type="stmt" count="582"/>
      <line num="53" type="stmt" count="582"/>
      <line num="54" type="stmt" count="333"/>
      <line num="55" type="stmt" count="333"/>
      <line num="56" type="stmt" count="333"/>
      <line num="57" type="stmt" count="108"/>
      <line num="64" type="stmt" count="474"/>
      <line num="65" type="stmt" count="474"/>
      <line num="66" type="stmt" count="474"/>
      <line num="67" type="stmt" count="474"/>
      <line num="68" type="stmt" count="304"/>
      <line num="71" type="stmt" count="170"/>
      <metrics loc="74" ncloc="59" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserInsert.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserInsert" namespace="global">
        <metrics complexity="45" methods="10" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="288" coveredstatements="287" elements="298" coveredelements="296"/>
      </class>
      <line num="69" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="46"/>
      <line num="86" type="stmt" count="46"/>
      <line num="87" type="stmt" count="46"/>
      <line num="103" type="method" name="updateCheckUserData" visibility="public" complexity="11" crap="11" count="10"/>
      <line num="108" type="stmt" count="10"/>
      <line num="109" type="stmt" count="10"/>
      <line num="110" type="stmt" count="10"/>
      <line num="111" type="stmt" count="10"/>
      <line num="112" type="stmt" count="10"/>
      <line num="113" type="stmt" count="2"/>
      <line num="116" type="stmt" count="8"/>
      <line num="117" type="stmt" count="8"/>
      <line num="119" type="stmt" count="8"/>
      <line num="121" type="stmt" count="8"/>
      <line num="122" type="stmt" count="8"/>
      <line num="123" type="stmt" count="8"/>
      <line num="124" type="stmt" count="7"/>
      <line num="125" type="stmt" count="7"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="139" type="stmt" count="8"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="150" type="stmt" count="2"/>
      <line num="151" type="stmt" count="1"/>
      <line num="153" type="stmt" count="2"/>
      <line num="154" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="170" type="stmt" count="6"/>
      <line num="171" type="stmt" count="6"/>
      <line num="172" type="stmt" count="6"/>
      <line num="173" type="stmt" count="6"/>
      <line num="174" type="stmt" count="6"/>
      <line num="175" type="stmt" count="6"/>
      <line num="176" type="stmt" count="6"/>
      <line num="177" type="stmt" count="6"/>
      <line num="178" type="stmt" count="6"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="181" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="188" type="stmt" count="1"/>
      <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="200" type="stmt" count="1"/>
      <line num="201" type="stmt" count="1"/>
      <line num="204" type="stmt" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="220" type="method" name="recordActionInCentralTablesOnDeferredUpdate" visibility="private" complexity="2" crap="2" count="40"/>
      <line num="227" type="stmt" count="40"/>
      <line num="228" type="stmt" count="40"/>
      <line num="230" type="stmt" count="40"/>
      <line num="231" type="stmt" count="40"/>
      <line num="232" type="stmt" count="40"/>
      <line num="233" type="stmt" count="40"/>
      <line num="234" type="stmt" count="40"/>
      <line num="235" type="stmt" count="40"/>
      <line num="236" type="stmt" count="40"/>
      <line num="237" type="stmt" count="40"/>
      <line num="238" type="stmt" count="40"/>
      <line num="239" type="stmt" count="37"/>
      <line num="240" type="stmt" count="3"/>
      <line num="241" type="stmt" count="3"/>
      <line num="243" type="stmt" count="37"/>
      <line num="244" type="stmt" count="37"/>
      <line num="245" type="stmt" count="37"/>
      <line num="246" type="stmt" count="37"/>
      <line num="247" type="stmt" count="37"/>
      <line num="248" type="stmt" count="37"/>
      <line num="249" type="stmt" count="37"/>
      <line num="250" type="stmt" count="37"/>
      <line num="251" type="stmt" count="40"/>
      <line num="252" type="stmt" count="40"/>
      <line num="254" type="stmt" count="40"/>
      <line num="255" type="stmt" count="40"/>
      <line num="273" type="method" name="insertIntoCuLogEventTable" visibility="public" complexity="6" crap="6" count="17"/>
      <line num="280" type="stmt" count="17"/>
      <line num="281" type="stmt" count="17"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="286" type="stmt" count="17"/>
      <line num="288" type="stmt" count="17"/>
      <line num="289" type="stmt" count="17"/>
      <line num="291" type="stmt" count="17"/>
      <line num="292" type="stmt" count="17"/>
      <line num="293" type="stmt" count="17"/>
      <line num="298" type="stmt" count="17"/>
      <line num="299" type="stmt" count="17"/>
      <line num="301" type="stmt" count="17"/>
      <line num="302" type="stmt" count="17"/>
      <line num="303" type="stmt" count="17"/>
      <line num="304" type="stmt" count="17"/>
      <line num="305" type="stmt" count="17"/>
      <line num="306" type="stmt" count="17"/>
      <line num="307" type="stmt" count="17"/>
      <line num="308" type="stmt" count="17"/>
      <line num="311" type="stmt" count="17"/>
      <line num="312" type="stmt" count="17"/>
      <line num="313" type="stmt" count="17"/>
      <line num="317" type="stmt" count="17"/>
      <line num="319" type="stmt" count="17"/>
      <line num="320" type="stmt" count="17"/>
      <line num="321" type="stmt" count="17"/>
      <line num="322" type="stmt" count="17"/>
      <line num="323" type="stmt" count="17"/>
      <line num="326" type="stmt" count="17"/>
      <line num="327" type="stmt" count="17"/>
      <line num="328" type="stmt" count="17"/>
      <line num="329" type="stmt" count="17"/>
      <line num="330" type="stmt" count="17"/>
      <line num="331" type="stmt" count="17"/>
      <line num="332" type="stmt" count="17"/>
      <line num="334" type="stmt" count="17"/>
      <line num="355" type="method" name="insertIntoCuPrivateEventTable" visibility="public" complexity="7" crap="7" count="13"/>
      <line num="362" type="stmt" count="13"/>
      <line num="363" type="stmt" count="13"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="368" type="stmt" count="13"/>
      <line num="370" type="stmt" count="13"/>
      <line num="371" type="stmt" count="13"/>
      <line num="376" type="stmt" count="13"/>
      <line num="377" type="stmt" count="13"/>
      <line num="379" type="stmt" count="13"/>
      <line num="380" type="stmt" count="13"/>
      <line num="381" type="stmt" count="13"/>
      <line num="382" type="stmt" count="13"/>
      <line num="383" type="stmt" count="13"/>
      <line num="384" type="stmt" count="13"/>
      <line num="385" type="stmt" count="13"/>
      <line num="386" type="stmt" count="13"/>
      <line num="387" type="stmt" count="13"/>
      <line num="388" type="stmt" count="13"/>
      <line num="389" type="stmt" count="13"/>
      <line num="390" type="stmt" count="13"/>
      <line num="391" type="stmt" count="13"/>
      <line num="392" type="stmt" count="13"/>
      <line num="393" type="stmt" count="13"/>
      <line num="394" type="stmt" count="13"/>
      <line num="395" type="stmt" count="13"/>
      <line num="398" type="stmt" count="13"/>
      <line num="399" type="stmt" count="13"/>
      <line num="400" type="stmt" count="13"/>
      <line num="404" type="stmt" count="13"/>
      <line num="406" type="stmt" count="13"/>
      <line num="407" type="stmt" count="11"/>
      <line num="408" type="stmt" count="11"/>
      <line num="409" type="stmt" count="11"/>
      <line num="410" type="stmt" count="11"/>
      <line num="411" type="stmt" count="11"/>
      <line num="415" type="stmt" count="13"/>
      <line num="417" type="stmt" count="13"/>
      <line num="418" type="stmt" count="13"/>
      <line num="419" type="stmt" count="13"/>
      <line num="420" type="stmt" count="13"/>
      <line num="421" type="stmt" count="13"/>
      <line num="422" type="stmt" count="13"/>
      <line num="425" type="stmt" count="13"/>
      <line num="426" type="stmt" count="13"/>
      <line num="427" type="stmt" count="12"/>
      <line num="428" type="stmt" count="12"/>
      <line num="429" type="stmt" count="12"/>
      <line num="430" type="stmt" count="12"/>
      <line num="431" type="stmt" count="12"/>
      <line num="432" type="stmt" count="13"/>
      <line num="433" type="stmt" count="13"/>
      <line num="436" type="stmt" count="13"/>
      <line num="437" type="stmt" count="13"/>
      <line num="440" type="stmt" count="13"/>
      <line num="441" type="stmt" count="13"/>
      <line num="442" type="stmt" count="13"/>
      <line num="443" type="stmt" count="13"/>
      <line num="444" type="stmt" count="13"/>
      <line num="445" type="stmt" count="13"/>
      <line num="446" type="stmt" count="13"/>
      <line num="448" type="stmt" count="13"/>
      <line num="450" type="stmt" count="13"/>
      <line num="467" type="method" name="insertIntoCuChangesTable" visibility="public" complexity="7" crap="7" count="11"/>
      <line num="474" type="stmt" count="11"/>
      <line num="475" type="stmt" count="11"/>
      <line num="476" type="stmt" count="1"/>
      <line num="477" type="stmt" count="1"/>
      <line num="480" type="stmt" count="11"/>
      <line num="482" type="stmt" count="11"/>
      <line num="483" type="stmt" count="11"/>
      <line num="487" type="stmt" count="11"/>
      <line num="488" type="stmt" count="11"/>
      <line num="490" type="stmt" count="11"/>
      <line num="491" type="stmt" count="11"/>
      <line num="492" type="stmt" count="11"/>
      <line num="493" type="stmt" count="11"/>
      <line num="494" type="stmt" count="11"/>
      <line num="495" type="stmt" count="11"/>
      <line num="496" type="stmt" count="11"/>
      <line num="497" type="stmt" count="11"/>
      <line num="498" type="stmt" count="11"/>
      <line num="499" type="stmt" count="11"/>
      <line num="500" type="stmt" count="11"/>
      <line num="501" type="stmt" count="11"/>
      <line num="502" type="stmt" count="11"/>
      <line num="503" type="stmt" count="11"/>
      <line num="504" type="stmt" count="11"/>
      <line num="505" type="stmt" count="11"/>
      <line num="506" type="stmt" count="11"/>
      <line num="507" type="stmt" count="11"/>
      <line num="508" type="stmt" count="11"/>
      <line num="511" type="stmt" count="11"/>
      <line num="512" type="stmt" count="11"/>
      <line num="513" type="stmt" count="11"/>
      <line num="517" type="stmt" count="11"/>
      <line num="519" type="stmt" count="11"/>
      <line num="520" type="stmt" count="11"/>
      <line num="521" type="stmt" count="11"/>
      <line num="522" type="stmt" count="11"/>
      <line num="523" type="stmt" count="11"/>
      <line num="524" type="stmt" count="11"/>
      <line num="526" type="stmt" count="11"/>
      <line num="528" type="stmt" count="11"/>
      <line num="529" type="stmt" count="11"/>
      <line num="530" type="stmt" count="11"/>
      <line num="531" type="stmt" count="11"/>
      <line num="532" type="stmt" count="11"/>
      <line num="535" type="stmt" count="11"/>
      <line num="536" type="stmt" count="11"/>
      <line num="537" type="stmt" count="11"/>
      <line num="538" type="stmt" count="11"/>
      <line num="539" type="stmt" count="11"/>
      <line num="540" type="stmt" count="11"/>
      <line num="541" type="stmt" count="11"/>
      <line num="543" type="stmt" count="11"/>
      <line num="554" type="method" name="getAgent" visibility="private" complexity="2" crap="2" count="44"/>
      <line num="555" type="stmt" count="44"/>
      <line num="556" type="stmt" count="44"/>
      <line num="559" type="stmt" count="29"/>
      <line num="561" type="stmt" count="15"/>
      <line num="571" type="method" name="acquireUserAgentTableId" visibility="public" complexity="2" crap="2" count="40"/>
      <line num="572" type="stmt" count="40"/>
      <line num="573" type="stmt" count="40"/>
      <line num="574" type="stmt" count="40"/>
      <line num="575" type="stmt" count="40"/>
      <line num="576" type="stmt" count="40"/>
      <line num="577" type="stmt" count="40"/>
      <line num="578" type="stmt" count="40"/>
      <line num="579" type="stmt" count="40"/>
      <line num="580" type="stmt" count="31"/>
      <line num="581" type="stmt" count="31"/>
      <line num="582" type="stmt" count="31"/>
      <line num="583" type="stmt" count="31"/>
      <line num="584" type="stmt" count="31"/>
      <line num="585" type="stmt" count="31"/>
      <line num="586" type="stmt" count="31"/>
      <line num="589" type="stmt" count="40"/>
      <line num="610" type="method" name="acquireActorId" visibility="private" complexity="5" crap="5" count="40"/>
      <line num="611" type="stmt" count="40"/>
      <line num="612" type="stmt" count="40"/>
      <line num="613" type="stmt" count="3"/>
      <line num="614" type="stmt" count="1"/>
      <line num="616" type="stmt" count="2"/>
      <line num="617" type="stmt" count="2"/>
      <line num="618" type="stmt" count="2"/>
      <line num="621" type="stmt" count="37"/>
      <line num="632" type="method" name="getTypeFromRCSource" visibility="public" complexity="2" crap="2.15" count="1"/>
      <line num="633" type="stmt" count="1"/>
      <line num="634" type="stmt" count="0"/>
      <line num="637" type="stmt" count="1"/>
      <metrics loc="647" ncloc="481" classes="1" methods="10" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="288" coveredstatements="287" elements="298" coveredelements="296"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserLogService.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserLogService" namespace="global">
        <metrics complexity="20" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="114" coveredstatements="108" elements="119" coveredelements="112"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="52"/>
      <line num="42" type="stmt" count="52"/>
      <line num="56" type="method" name="addLogEntry" visibility="public" complexity="4" crap="4.02" count="20"/>
      <line num="64" type="stmt" count="20"/>
      <line num="65" type="stmt" count="15"/>
      <line num="66" type="stmt" count="15"/>
      <line num="67" type="stmt" count="15"/>
      <line num="68" type="stmt" count="14"/>
      <line num="69" type="stmt" count="14"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="5"/>
      <line num="77" type="stmt" count="20"/>
      <line num="78" type="stmt" count="20"/>
      <line num="80" type="stmt" count="20"/>
      <line num="81" type="stmt" count="20"/>
      <line num="82" type="stmt" count="20"/>
      <line num="83" type="stmt" count="20"/>
      <line num="84" type="stmt" count="20"/>
      <line num="85" type="stmt" count="20"/>
      <line num="86" type="stmt" count="20"/>
      <line num="87" type="stmt" count="20"/>
      <line num="88" type="stmt" count="20"/>
      <line num="90" type="stmt" count="20"/>
      <line num="92" type="stmt" count="20"/>
      <line num="93" type="stmt" count="20"/>
      <line num="94" type="stmt" count="20"/>
      <line num="96" type="stmt" count="20"/>
      <line num="97" type="stmt" count="20"/>
      <line num="98" type="stmt" count="20"/>
      <line num="99" type="stmt" count="20"/>
      <line num="100" type="stmt" count="20"/>
      <line num="101" type="stmt" count="20"/>
      <line num="102" type="stmt" count="20"/>
      <line num="103" type="stmt" count="20"/>
      <line num="104" type="stmt" count="20"/>
      <line num="105" type="stmt" count="20"/>
      <line num="106" type="stmt" count="20"/>
      <line num="108" type="stmt" count="20"/>
      <line num="109" type="stmt" count="20"/>
      <line num="110" type="stmt" count="20"/>
      <line num="111" type="stmt" count="20"/>
      <line num="112" type="stmt" count="20"/>
      <line num="113" type="stmt" count="20"/>
      <line num="114" type="stmt" count="20"/>
      <line num="115" type="stmt" count="20"/>
      <line num="116" type="stmt" count="20"/>
      <line num="117" type="stmt" count="20"/>
      <line num="118" type="stmt" count="20"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="20"/>
      <line num="127" type="stmt" count="20"/>
      <line num="136" type="method" name="getPlaintextReason" visibility="public" complexity="1" crap="1" count="30"/>
      <line num="137" type="stmt" count="30"/>
      <line num="138" type="stmt" count="30"/>
      <line num="139" type="stmt" count="30"/>
      <line num="140" type="stmt" count="30"/>
      <line num="141" type="stmt" count="30"/>
      <line num="142" type="stmt" count="30"/>
      <line num="143" type="stmt" count="30"/>
      <line num="144" type="stmt" count="30"/>
      <line num="145" type="stmt" count="30"/>
      <line num="154" type="method" name="getTargetSearchConds" visibility="public" complexity="9" crap="9" count="15"/>
      <line num="155" type="stmt" count="15"/>
      <line num="156" type="stmt" count="15"/>
      <line num="157" type="stmt" count="13"/>
      <line num="159" type="stmt" count="13"/>
      <line num="160" type="stmt" count="13"/>
      <line num="161" type="stmt" count="13"/>
      <line num="162" type="stmt" count="13"/>
      <line num="163" type="stmt" count="13"/>
      <line num="164" type="stmt" count="13"/>
      <line num="165" type="stmt" count="13"/>
      <line num="166" type="stmt" count="13"/>
      <line num="168" type="stmt" count="12"/>
      <line num="169" type="stmt" count="12"/>
      <line num="170" type="stmt" count="12"/>
      <line num="171" type="stmt" count="12"/>
      <line num="172" type="stmt" count="12"/>
      <line num="173" type="stmt" count="12"/>
      <line num="178" type="stmt" count="12"/>
      <line num="179" type="stmt" count="12"/>
      <line num="180" type="stmt" count="6"/>
      <line num="181" type="stmt" count="3"/>
      <line num="183" type="stmt" count="3"/>
      <line num="186" type="stmt" count="6"/>
      <line num="187" type="stmt" count="6"/>
      <line num="188" type="stmt" count="4"/>
      <line num="189" type="stmt" count="4"/>
      <line num="190" type="stmt" count="4"/>
      <line num="192" type="stmt" count="4"/>
      <line num="193" type="stmt" count="4"/>
      <line num="194" type="stmt" count="4"/>
      <line num="197" type="stmt" count="4"/>
      <line num="198" type="stmt" count="4"/>
      <line num="199" type="stmt" count="4"/>
      <line num="204" type="stmt" count="12"/>
      <line num="205" type="stmt" count="12"/>
      <line num="206" type="stmt" count="12"/>
      <line num="207" type="stmt" count="2"/>
      <line num="208" type="stmt" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="212" type="stmt" count="1"/>
      <line num="227" type="method" name="verifyTarget" visibility="public" complexity="5" crap="5" count="22"/>
      <line num="228" type="stmt" count="22"/>
      <line num="230" type="stmt" count="22"/>
      <line num="231" type="stmt" count="18"/>
      <line num="232" type="stmt" count="8"/>
      <line num="235" type="stmt" count="10"/>
      <line num="238" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="240" type="stmt" count="2"/>
      <line num="243" type="stmt" count="2"/>
      <metrics loc="246" ncloc="204" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="114" coveredstatements="108" elements="119" coveredelements="112"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserLookupUtils.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserLookupUtils" namespace="global">
        <metrics complexity="29" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="58" elements="69" coveredelements="66"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="36"/>
      <line num="37" type="stmt" count="36"/>
      <line num="38" type="stmt" count="36"/>
      <line num="48" type="method" name="isValidIPOrRange" visibility="public" complexity="5" crap="5" count="17"/>
      <line num="49" type="stmt" count="17"/>
      <line num="50" type="stmt" count="17"/>
      <line num="51" type="stmt" count="9"/>
      <line num="52" type="stmt" count="9"/>
      <line num="53" type="stmt" count="9"/>
      <line num="54" type="stmt" count="9"/>
      <line num="55" type="stmt" count="9"/>
      <line num="58" type="stmt" count="8"/>
      <line num="67" type="method" name="getRangeLimit" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="81" type="method" name="getIPTargetExpr" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="83" type="stmt" count="10"/>
      <line num="95" type="method" name="getIPTargetExprForColumn" visibility="public" complexity="3" crap="3" count="10"/>
      <line num="96" type="stmt" count="10"/>
      <line num="98" type="stmt" count="3"/>
      <line num="101" type="stmt" count="7"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="108" type="stmt" count="4"/>
      <line num="121" type="method" name="getIpHexColumn" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="122" type="stmt" count="14"/>
      <line num="123" type="stmt" count="14"/>
      <line num="134" type="method" name="getIndexName" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="165" type="method" name="getManualLogEntryFromRow" visibility="public" complexity="10" crap="10.05" count="7"/>
      <line num="166" type="stmt" count="7"/>
      <line num="167" type="stmt" count="7"/>
      <line num="171" type="stmt" count="7"/>
      <line num="172" type="stmt" count="7"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="7"/>
      <line num="180" type="stmt" count="7"/>
      <line num="182" type="stmt" count="7"/>
      <line num="183" type="stmt" count="7"/>
      <line num="184" type="stmt" count="2"/>
      <line num="187" type="stmt" count="5"/>
      <line num="188" type="stmt" count="5"/>
      <line num="190" type="stmt" count="2"/>
      <line num="192" type="stmt" count="7"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="3"/>
      <line num="196" type="stmt" count="3"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="3"/>
      <line num="199" type="stmt" count="3"/>
      <line num="201" type="stmt" count="7"/>
      <line num="203" type="stmt" count="7"/>
      <line num="204" type="stmt" count="7"/>
      <line num="205" type="stmt" count="7"/>
      <line num="215" type="method" name="getRevisionRecordFromRow" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="3"/>
      <line num="218" type="stmt" count="2"/>
      <line num="220" type="stmt" count="3"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="227" type="stmt" count="3"/>
      <metrics loc="237" ncloc="143" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="58" elements="69" coveredelements="66"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserPermissionManager.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserPermissionManager" namespace="global">
        <metrics complexity="18" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="52" coveredelements="52"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="19"/>
      <line num="27" type="stmt" count="19"/>
      <line num="34" type="method" name="canAccessTemporaryAccountIPAddresses" visibility="public" complexity="6" crap="6" count="9"/>
      <line num="37" type="stmt" count="9"/>
      <line num="38" type="stmt" count="4"/>
      <line num="39" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="1"/>
      <line num="54" type="stmt" count="5"/>
      <line num="64" type="method" name="canAutoRevealIPAddresses" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="1"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="92" type="method" name="canAccessUserGlobalContributions" visibility="public" complexity="6" crap="6" count="10"/>
      <line num="96" type="stmt" count="10"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="102" type="stmt" count="9"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="112" type="stmt" count="8"/>
      <line num="113" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="115" type="stmt" count="4"/>
      <line num="116" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="131" type="stmt" count="5"/>
      <line num="134" type="method" name="centralAuthUserExists" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <metrics loc="157" ncloc="116" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="47" elements="52" coveredelements="52"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserTemporaryAccountAutoRevealLookup.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserTemporaryAccountAutoRevealLookup" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="23" coveredelements="23"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="27" type="stmt" count="16"/>
      <line num="36" type="method" name="isAutoRevealAvailable" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="37" type="stmt" count="7"/>
      <line num="47" type="method" name="isAutoRevealExpiryValid" visibility="public" complexity="3" crap="3" count="11"/>
      <line num="48" type="stmt" count="11"/>
      <line num="49" type="stmt" count="1"/>
      <line num="52" type="stmt" count="10"/>
      <line num="53" type="stmt" count="10"/>
      <line num="54" type="stmt" count="10"/>
      <line num="55" type="stmt" count="10"/>
      <line num="56" type="stmt" count="10"/>
      <line num="68" type="method" name="isAutoRevealOn" visibility="public" complexity="5" crap="5" count="5"/>
      <line num="70" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="73" type="stmt" count="2"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <metrics loc="88" ncloc="61" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="19" elements="23" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserTemporaryAccountsByIPLookup.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserTemporaryAccountsByIPLookup" namespace="global">
        <metrics complexity="76" methods="17" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="286" coveredstatements="277" elements="303" coveredelements="290"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="41"/>
      <line num="52" type="stmt" count="41"/>
      <line num="66" type="method" name="get" visibility="public" complexity="7" crap="7.04" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="1"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <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="89" type="stmt" count="5"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="0"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="116" type="method" name="getTempAccountsFromIPAddress" visibility="private" complexity="2" crap="2" count="23"/>
      <line num="117" type="stmt" count="23"/>
      <line num="118" type="stmt" count="1"/>
      <line num="121" type="stmt" count="22"/>
      <line num="123" type="stmt" count="22"/>
      <line num="124" type="stmt" count="21"/>
      <line num="126" type="stmt" count="20"/>
      <line num="137" type="method" name="getTempAccountsFromCuChanges" visibility="private" complexity="4" crap="4" count="22"/>
      <line num="138" type="stmt" count="22"/>
      <line num="139" type="stmt" count="22"/>
      <line num="140" type="stmt" count="1"/>
      <line num="143" type="stmt" count="21"/>
      <line num="144" type="stmt" count="21"/>
      <line num="145" type="stmt" count="21"/>
      <line num="146" type="stmt" count="21"/>
      <line num="147" type="stmt" count="21"/>
      <line num="148" type="stmt" count="21"/>
      <line num="149" type="stmt" count="2"/>
      <line num="152" type="stmt" count="19"/>
      <line num="153" type="stmt" count="19"/>
      <line num="154" type="stmt" count="19"/>
      <line num="155" type="stmt" count="19"/>
      <line num="156" type="stmt" count="19"/>
      <line num="158" type="stmt" count="19"/>
      <line num="159" type="stmt" count="19"/>
      <line num="160" type="stmt" count="19"/>
      <line num="163" type="stmt" count="19"/>
      <line num="174" type="method" name="getTempAccountsFromCuLogEvent" visibility="private" complexity="4" crap="4" count="21"/>
      <line num="175" type="stmt" count="21"/>
      <line num="176" type="stmt" count="21"/>
      <line num="177" type="stmt" count="1"/>
      <line num="180" type="stmt" count="20"/>
      <line num="181" type="stmt" count="20"/>
      <line num="182" type="stmt" count="20"/>
      <line num="183" type="stmt" count="20"/>
      <line num="184" type="stmt" count="20"/>
      <line num="185" type="stmt" count="20"/>
      <line num="186" type="stmt" count="19"/>
      <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="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="197" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="212" type="method" name="collectTempAccountActorIdsBatched" visibility="private" complexity="11" crap="11.03" count="21"/>
      <line num="217" type="stmt" count="21"/>
      <line num="218" type="stmt" count="21"/>
      <line num="219" type="stmt" count="21"/>
      <line num="220" type="stmt" count="21"/>
      <line num="221" type="stmt" count="21"/>
      <line num="223" type="stmt" count="21"/>
      <line num="224" type="stmt" count="21"/>
      <line num="225" type="stmt" count="21"/>
      <line num="226" type="stmt" count="21"/>
      <line num="228" type="stmt" count="21"/>
      <line num="229" type="stmt" count="21"/>
      <line num="230" type="stmt" count="21"/>
      <line num="231" type="stmt" count="21"/>
      <line num="232" type="stmt" count="21"/>
      <line num="233" type="stmt" count="21"/>
      <line num="234" type="stmt" count="21"/>
      <line num="235" type="stmt" count="21"/>
      <line num="236" type="stmt" count="21"/>
      <line num="237" type="stmt" count="21"/>
      <line num="238" type="stmt" count="21"/>
      <line num="239" type="stmt" count="21"/>
      <line num="240" type="stmt" count="21"/>
      <line num="241" type="stmt" count="21"/>
      <line num="242" type="stmt" count="21"/>
      <line num="243" type="stmt" count="21"/>
      <line num="244" type="stmt" count="21"/>
      <line num="245" type="stmt" count="21"/>
      <line num="246" type="stmt" count="21"/>
      <line num="247" type="stmt" count="21"/>
      <line num="250" type="stmt" count="21"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="256" type="stmt" count="21"/>
      <line num="257" type="stmt" count="21"/>
      <line num="258" type="stmt" count="21"/>
      <line num="260" type="stmt" count="20"/>
      <line num="261" type="stmt" count="20"/>
      <line num="262" type="stmt" count="20"/>
      <line num="265" type="stmt" count="21"/>
      <line num="266" type="stmt" count="4"/>
      <line num="267" type="stmt" count="4"/>
      <line num="268" type="stmt" count="4"/>
      <line num="269" type="stmt" count="4"/>
      <line num="270" type="stmt" count="4"/>
      <line num="271" type="stmt" count="4"/>
      <line num="274" type="stmt" count="21"/>
      <line num="275" type="stmt" count="21"/>
      <line num="276" type="stmt" count="21"/>
      <line num="281" type="stmt" count="21"/>
      <line num="296" type="method" name="fetchPossibleMissingActorIds" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="302" type="stmt" count="4"/>
      <line num="303" type="stmt" count="4"/>
      <line num="304" type="stmt" count="4"/>
      <line num="305" type="stmt" count="4"/>
      <line num="306" type="stmt" count="4"/>
      <line num="308" type="stmt" count="4"/>
      <line num="309" type="stmt" count="4"/>
      <line num="310" type="stmt" count="4"/>
      <line num="311" type="stmt" count="4"/>
      <line num="312" type="stmt" count="4"/>
      <line num="313" type="stmt" count="4"/>
      <line num="314" type="stmt" count="4"/>
      <line num="315" type="stmt" count="4"/>
      <line num="316" type="stmt" count="4"/>
      <line num="317" type="stmt" count="4"/>
      <line num="318" type="stmt" count="4"/>
      <line num="320" type="stmt" count="4"/>
      <line num="322" type="stmt" count="4"/>
      <line num="333" type="method" name="getActorsMostRecentActionTimestamps" visibility="private" complexity="2" crap="2" count="20"/>
      <line num="338" type="stmt" count="20"/>
      <line num="339" type="stmt" count="20"/>
      <line num="340" type="stmt" count="20"/>
      <line num="342" type="stmt" count="20"/>
      <line num="343" type="stmt" count="20"/>
      <line num="344" type="stmt" count="20"/>
      <line num="345" type="stmt" count="20"/>
      <line num="346" type="stmt" count="20"/>
      <line num="347" type="stmt" count="20"/>
      <line num="348" type="stmt" count="20"/>
      <line num="349" type="stmt" count="20"/>
      <line num="350" type="stmt" count="20"/>
      <line num="351" type="stmt" count="20"/>
      <line num="352" type="stmt" count="20"/>
      <line num="353" type="stmt" count="20"/>
      <line num="355" type="stmt" count="20"/>
      <line num="356" type="stmt" count="20"/>
      <line num="358" type="stmt" count="20"/>
      <line num="361" type="stmt" count="20"/>
      <line num="374" type="method" name="getAggregateActiveTempAccountCount" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="375" type="stmt" count="5"/>
      <line num="376" type="stmt" count="4"/>
      <line num="394" type="method" name="getActiveTempAccountNames" visibility="public" complexity="8" crap="8" count="7"/>
      <line num="399" type="stmt" count="7"/>
      <line num="400" type="stmt" count="7"/>
      <line num="402" type="stmt" count="7"/>
      <line num="403" type="stmt" count="1"/>
      <line num="406" type="stmt" count="6"/>
      <line num="407" type="stmt" count="1"/>
      <line num="410" type="stmt" count="5"/>
      <line num="411" type="stmt" count="5"/>
      <line num="412" type="stmt" count="5"/>
      <line num="413" type="stmt" count="5"/>
      <line num="414" type="stmt" count="5"/>
      <line num="415" type="stmt" count="5"/>
      <line num="416" type="stmt" count="5"/>
      <line num="418" type="stmt" count="5"/>
      <line num="421" type="stmt" count="5"/>
      <line num="422" type="stmt" count="1"/>
      <line num="423" type="stmt" count="1"/>
      <line num="424" type="stmt" count="1"/>
      <line num="427" type="stmt" count="1"/>
      <line num="430" type="stmt" count="5"/>
      <line num="431" type="stmt" count="0"/>
      <line num="434" type="stmt" count="5"/>
      <line num="451" type="method" name="getActiveTempAccounts" visibility="private" complexity="7" crap="7" count="10"/>
      <line num="452" type="stmt" count="10"/>
      <line num="453" type="stmt" count="1"/>
      <line num="456" type="stmt" count="9"/>
      <line num="458" type="stmt" count="9"/>
      <line num="459" type="stmt" count="9"/>
      <line num="460" type="stmt" count="9"/>
      <line num="461" type="stmt" count="2"/>
      <line num="464" type="stmt" count="9"/>
      <line num="468" type="stmt" count="5"/>
      <line num="469" type="stmt" count="5"/>
      <line num="471" type="stmt" count="9"/>
      <line num="472" type="stmt" count="9"/>
      <line num="473" type="stmt" count="9"/>
      <line num="477" type="stmt" count="9"/>
      <line num="499" type="method" name="getBucketedCount" visibility="public" complexity="7" crap="7" count="6"/>
      <line num="500" type="stmt" count="6"/>
      <line num="501" type="stmt" count="5"/>
      <line num="502" type="stmt" count="5"/>
      <line num="503" type="stmt" count="5"/>
      <line num="504" type="stmt" count="5"/>
      <line num="505" type="stmt" count="5"/>
      <line num="506" type="stmt" count="5"/>
      <line num="507" type="stmt" count="5"/>
      <line num="508" type="stmt" count="5"/>
      <line num="509" type="stmt" count="5"/>
      <line num="510" type="stmt" count="5"/>
      <line num="511" type="stmt" count="5"/>
      <line num="513" type="stmt" count="6"/>
      <line num="514" type="stmt" count="1"/>
      <line num="516" type="stmt" count="5"/>
      <line num="517" type="stmt" count="1"/>
      <line num="520" type="stmt" count="4"/>
      <line num="521" type="stmt" count="4"/>
      <line num="522" type="stmt" count="4"/>
      <line num="523" type="stmt" count="4"/>
      <line num="524" type="stmt" count="4"/>
      <line num="525" type="stmt" count="4"/>
      <line num="526" type="stmt" count="4"/>
      <line num="529" type="stmt" count="4"/>
      <line num="530" type="stmt" count="4"/>
      <line num="531" type="stmt" count="4"/>
      <line num="545" type="method" name="mergeAndSortByLatestTimeStamp" visibility="private" complexity="5" crap="5" count="27"/>
      <line num="546" type="stmt" count="27"/>
      <line num="547" type="stmt" count="27"/>
      <line num="548" type="stmt" count="27"/>
      <line num="549" type="stmt" count="26"/>
      <line num="550" type="stmt" count="26"/>
      <line num="556" type="stmt" count="27"/>
      <line num="559" type="stmt" count="27"/>
      <line num="562" type="stmt" count="27"/>
      <line num="575" type="method" name="getDistinctIPsFromTempAccount" visibility="private" complexity="4" crap="4" count="17"/>
      <line num="576" type="stmt" count="17"/>
      <line num="577" type="stmt" count="1"/>
      <line num="580" type="stmt" count="16"/>
      <line num="583" type="stmt" count="16"/>
      <line num="588" type="stmt" count="16"/>
      <line num="589" type="stmt" count="16"/>
      <line num="590" type="stmt" count="16"/>
      <line num="591" type="stmt" count="16"/>
      <line num="592" type="stmt" count="16"/>
      <line num="593" type="stmt" count="16"/>
      <line num="594" type="stmt" count="16"/>
      <line num="596" type="stmt" count="16"/>
      <line num="597" type="stmt" count="16"/>
      <line num="598" type="stmt" count="16"/>
      <line num="599" type="stmt" count="16"/>
      <line num="600" type="stmt" count="16"/>
      <line num="601" type="stmt" count="16"/>
      <line num="602" type="stmt" count="16"/>
      <line num="603" type="stmt" count="16"/>
      <line num="604" type="stmt" count="16"/>
      <line num="605" type="stmt" count="16"/>
      <line num="606" type="stmt" count="16"/>
      <line num="607" type="stmt" count="16"/>
      <line num="608" type="stmt" count="16"/>
      <line num="609" type="stmt" count="16"/>
      <line num="610" type="stmt" count="16"/>
      <line num="611" type="stmt" count="16"/>
      <line num="612" type="stmt" count="16"/>
      <line num="614" type="stmt" count="16"/>
      <line num="615" type="stmt" count="16"/>
      <line num="617" type="stmt" count="16"/>
      <line num="618" type="stmt" count="16"/>
      <line num="622" type="stmt" count="16"/>
      <line num="623" type="stmt" count="16"/>
      <line num="624" type="stmt" count="16"/>
      <line num="625" type="stmt" count="16"/>
      <line num="626" type="stmt" count="16"/>
      <line num="638" type="method" name="getIpsUsedCount" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="639" type="stmt" count="3"/>
      <line num="640" type="stmt" count="3"/>
      <line num="643" type="method" name="checkPermissions" visibility="private" complexity="6" crap="6.17" count="6"/>
      <line num="644" type="stmt" count="6"/>
      <line num="647" type="stmt" count="0"/>
      <line num="650" type="stmt" count="6"/>
      <line num="651" type="stmt" count="6"/>
      <line num="652" type="stmt" count="6"/>
      <line num="653" type="stmt" count="6"/>
      <line num="655" type="stmt" count="6"/>
      <line num="656" type="stmt" count="6"/>
      <line num="657" type="stmt" count="6"/>
      <line num="658" type="stmt" count="6"/>
      <line num="659" type="stmt" count="6"/>
      <line num="660" type="stmt" count="6"/>
      <line num="661" type="stmt" count="6"/>
      <line num="662" type="stmt" count="6"/>
      <line num="665" type="stmt" count="0"/>
      <line num="668" type="stmt" count="6"/>
      <line num="669" type="stmt" count="0"/>
      <line num="671" type="stmt" count="6"/>
      <line num="678" type="method" name="getQueryLimit" visibility="public" complexity="2" crap="2" count="29"/>
      <line num="679" type="stmt" count="29"/>
      <line num="680" type="stmt" count="26"/>
      <line num="683" type="stmt" count="5"/>
      <line num="685" type="stmt" count="29"/>
      <metrics loc="698" ncloc="506" classes="1" methods="17" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="286" coveredstatements="277" elements="303" coveredelements="290"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserUserInfoCardService.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserUserInfoCardService" namespace="global">
        <metrics complexity="77" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="308" coveredstatements="287" elements="319" coveredelements="294"/>
      </class>
      <line num="60" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="58"/>
      <line num="82" type="stmt" count="58"/>
      <line num="91" type="method" name="userPageIsKnown" visibility="private" complexity="1" crap="1" count="57"/>
      <line num="92" type="stmt" count="57"/>
      <line num="93" type="stmt" count="57"/>
      <line num="103" type="method" name="getDataFromUserImpact" visibility="private" complexity="5" crap="5" count="57"/>
      <line num="104" type="stmt" count="57"/>
      <line num="107" type="stmt" count="57"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="stmt" count="56"/>
      <line num="113" type="stmt" count="56"/>
      <line num="114" type="stmt" count="2"/>
      <line num="117" type="stmt" count="54"/>
      <line num="118" type="stmt" count="54"/>
      <line num="119" type="stmt" count="54"/>
      <line num="120" type="stmt" count="54"/>
      <line num="121" type="stmt" count="54"/>
      <line num="124" type="stmt" count="54"/>
      <line num="125" type="stmt" count="1"/>
      <line num="127" type="stmt" count="54"/>
      <line num="128" type="stmt" count="54"/>
      <line num="130" type="stmt" count="1"/>
      <line num="132" type="stmt" count="54"/>
      <line num="133" type="stmt" count="54"/>
      <line num="134" type="stmt" count="54"/>
      <line num="135" type="stmt" count="54"/>
      <line num="137" type="stmt" count="54"/>
      <line num="140" type="method" name="shouldShowNewArticlesCount" visibility="private" complexity="4" crap="4.25" count="54"/>
      <line num="141" type="stmt" count="54"/>
      <line num="142" type="stmt" count="54"/>
      <line num="144" type="stmt" count="0"/>
      <line num="146" type="stmt" count="54"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="54"/>
      <line num="154" type="stmt" count="1"/>
      <line num="156" type="stmt" count="53"/>
      <line num="166" type="method" name="shouldShowAbuseFilterHitCount" visibility="private" complexity="2" crap="2" count="56"/>
      <line num="167" type="stmt" count="56"/>
      <line num="168" type="stmt" count="12"/>
      <line num="171" type="stmt" count="44"/>
      <line num="172" type="stmt" count="44"/>
      <line num="180" type="method" name="getUserInfo" visibility="public" complexity="46" crap="47.12" count="58"/>
      <line num="181" type="stmt" count="58"/>
      <line num="182" type="stmt" count="1"/>
      <line num="186" type="stmt" count="57"/>
      <line num="187" type="stmt" count="57"/>
      <line num="189" type="stmt" count="0"/>
      <line num="191" type="stmt" count="57"/>
      <line num="192" type="stmt" count="57"/>
      <line num="193" type="stmt" count="57"/>
      <line num="195" type="stmt" count="57"/>
      <line num="196" type="stmt" count="57"/>
      <line num="197" type="stmt" count="57"/>
      <line num="198" type="stmt" count="57"/>
      <line num="199" type="stmt" count="57"/>
      <line num="201" type="stmt" count="57"/>
      <line num="202" type="stmt" count="57"/>
      <line num="204" type="stmt" count="57"/>
      <line num="205" type="stmt" count="57"/>
      <line num="206" type="stmt" count="57"/>
      <line num="207" type="stmt" count="57"/>
      <line num="208" type="stmt" count="6"/>
      <line num="209" type="stmt" count="6"/>
      <line num="212" type="stmt" count="57"/>
      <line num="213" type="stmt" count="57"/>
      <line num="214" type="stmt" count="6"/>
      <line num="215" type="stmt" count="6"/>
      <line num="216" type="stmt" count="6"/>
      <line num="219" type="stmt" count="57"/>
      <line num="220" type="stmt" count="3"/>
      <line num="223" type="stmt" count="57"/>
      <line num="224" type="stmt" count="9"/>
      <line num="227" type="stmt" count="57"/>
      <line num="228" type="stmt" count="57"/>
      <line num="229" type="stmt" count="57"/>
      <line num="230" type="stmt" count="57"/>
      <line num="231" type="stmt" count="57"/>
      <line num="232" type="stmt" count="57"/>
      <line num="233" type="stmt" count="57"/>
      <line num="234" type="stmt" count="57"/>
      <line num="235" type="stmt" count="57"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="241" type="stmt" count="57"/>
      <line num="242" type="stmt" count="57"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="248" type="stmt" count="57"/>
      <line num="249" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="258" type="stmt" count="2"/>
      <line num="260" type="stmt" count="2"/>
      <line num="261" type="stmt" count="2"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="271" type="stmt" count="57"/>
      <line num="272" type="stmt" count="57"/>
      <line num="274" type="stmt" count="55"/>
      <line num="275" type="stmt" count="55"/>
      <line num="276" type="stmt" count="55"/>
      <line num="277" type="stmt" count="55"/>
      <line num="280" type="stmt" count="55"/>
      <line num="281" type="stmt" count="55"/>
      <line num="286" type="stmt" count="55"/>
      <line num="289" type="stmt" count="55"/>
      <line num="290" type="stmt" count="3"/>
      <line num="291" type="stmt" count="3"/>
      <line num="292" type="stmt" count="3"/>
      <line num="294" type="stmt" count="3"/>
      <line num="295" type="stmt" count="1"/>
      <line num="296" type="stmt" count="2"/>
      <line num="297" type="stmt" count="3"/>
      <line num="301" type="stmt" count="57"/>
      <line num="302" type="stmt" count="57"/>
      <line num="303" type="stmt" count="57"/>
      <line num="307" type="stmt" count="57"/>
      <line num="308" type="stmt" count="57"/>
      <line num="311" type="stmt" count="57"/>
      <line num="312" type="stmt" count="57"/>
      <line num="313" type="stmt" count="57"/>
      <line num="314" type="stmt" count="57"/>
      <line num="315" type="stmt" count="57"/>
      <line num="316" type="stmt" count="57"/>
      <line num="317" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="322" type="stmt" count="57"/>
      <line num="323" type="stmt" count="57"/>
      <line num="324" type="stmt" count="15"/>
      <line num="325" type="stmt" count="15"/>
      <line num="326" type="stmt" count="15"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="330" type="stmt" count="1"/>
      <line num="332" type="stmt" count="57"/>
      <line num="333" type="stmt" count="57"/>
      <line num="334" type="stmt" count="57"/>
      <line num="337" type="stmt" count="57"/>
      <line num="338" type="stmt" count="57"/>
      <line num="339" type="stmt" count="10"/>
      <line num="342" type="stmt" count="57"/>
      <line num="343" type="stmt" count="14"/>
      <line num="344" type="stmt" count="14"/>
      <line num="345" type="stmt" count="14"/>
      <line num="346" type="stmt" count="14"/>
      <line num="347" type="stmt" count="14"/>
      <line num="348" type="stmt" count="14"/>
      <line num="349" type="stmt" count="14"/>
      <line num="350" type="stmt" count="14"/>
      <line num="351" type="stmt" count="14"/>
      <line num="353" type="stmt" count="14"/>
      <line num="354" type="stmt" count="14"/>
      <line num="355" type="stmt" count="14"/>
      <line num="356" type="stmt" count="1"/>
      <line num="361" type="stmt" count="57"/>
      <line num="362" type="stmt" count="57"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <line num="367" type="stmt" count="1"/>
      <line num="368" type="stmt" count="1"/>
      <line num="369" type="stmt" count="1"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="372" type="stmt" count="1"/>
      <line num="373" type="stmt" count="1"/>
      <line num="376" type="stmt" count="57"/>
      <line num="379" type="stmt" count="13"/>
      <line num="380" type="stmt" count="13"/>
      <line num="383" type="stmt" count="57"/>
      <line num="384" type="stmt" count="57"/>
      <line num="386" type="stmt" count="57"/>
      <line num="387" type="stmt" count="57"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="397" type="stmt" count="57"/>
      <line num="399" type="stmt" count="57"/>
      <line num="401" type="stmt" count="57"/>
      <line num="402" type="stmt" count="57"/>
      <line num="403" type="stmt" count="57"/>
      <line num="404" type="stmt" count="57"/>
      <line num="405" type="stmt" count="57"/>
      <line num="406" type="stmt" count="57"/>
      <line num="407" type="stmt" count="57"/>
      <line num="408" type="stmt" count="57"/>
      <line num="409" type="stmt" count="57"/>
      <line num="410" type="stmt" count="57"/>
      <line num="411" type="stmt" count="57"/>
      <line num="412" type="stmt" count="57"/>
      <line num="413" type="stmt" count="57"/>
      <line num="414" type="stmt" count="57"/>
      <line num="415" type="stmt" count="57"/>
      <line num="416" type="stmt" count="9"/>
      <line num="417" type="stmt" count="9"/>
      <line num="418" type="stmt" count="9"/>
      <line num="419" type="stmt" count="9"/>
      <line num="420" type="stmt" count="9"/>
      <line num="421" type="stmt" count="9"/>
      <line num="422" type="stmt" count="9"/>
      <line num="423" type="stmt" count="9"/>
      <line num="424" type="stmt" count="9"/>
      <line num="425" type="stmt" count="9"/>
      <line num="426" type="stmt" count="9"/>
      <line num="427" type="stmt" count="9"/>
      <line num="428" type="stmt" count="9"/>
      <line num="433" type="stmt" count="57"/>
      <line num="435" type="stmt" count="57"/>
      <line num="436" type="stmt" count="57"/>
      <line num="437" type="stmt" count="57"/>
      <line num="438" type="stmt" count="56"/>
      <line num="439" type="stmt" count="56"/>
      <line num="440" type="stmt" count="56"/>
      <line num="441" type="stmt" count="56"/>
      <line num="442" type="stmt" count="56"/>
      <line num="444" type="stmt" count="56"/>
      <line num="445" type="stmt" count="56"/>
      <line num="448" type="stmt" count="56"/>
      <line num="450" type="stmt" count="12"/>
      <line num="452" type="stmt" count="9"/>
      <line num="453" type="stmt" count="9"/>
      <line num="455" type="stmt" count="9"/>
      <line num="458" type="stmt" count="3"/>
      <line num="459" type="stmt" count="3"/>
      <line num="460" type="stmt" count="3"/>
      <line num="461" type="stmt" count="3"/>
      <line num="462" type="stmt" count="3"/>
      <line num="469" type="stmt" count="57"/>
      <line num="470" type="stmt" count="57"/>
      <line num="471" type="stmt" count="57"/>
      <line num="472" type="stmt" count="2"/>
      <line num="473" type="stmt" count="2"/>
      <line num="474" type="stmt" count="1"/>
      <line num="475" type="stmt" count="1"/>
      <line num="476" type="stmt" count="1"/>
      <line num="480" type="stmt" count="57"/>
      <line num="481" type="stmt" count="57"/>
      <line num="482" type="stmt" count="57"/>
      <line num="483" type="stmt" count="57"/>
      <line num="486" type="stmt" count="57"/>
      <line num="487" type="stmt" count="57"/>
      <line num="488" type="stmt" count="57"/>
      <line num="489" type="stmt" count="57"/>
      <line num="491" type="stmt" count="57"/>
      <line num="501" type="method" name="hasCheckUserData" visibility="private" complexity="4" crap="4.00" count="10"/>
      <line num="502" type="stmt" count="10"/>
      <line num="503" type="stmt" count="10"/>
      <line num="504" type="stmt" count="0"/>
      <line num="507" type="stmt" count="10"/>
      <line num="508" type="stmt" count="10"/>
      <line num="509" type="stmt" count="10"/>
      <line num="510" type="stmt" count="10"/>
      <line num="511" type="stmt" count="10"/>
      <line num="512" type="stmt" count="10"/>
      <line num="513" type="stmt" count="10"/>
      <line num="514" type="stmt" count="10"/>
      <line num="515" type="stmt" count="10"/>
      <line num="517" type="stmt" count="10"/>
      <line num="518" type="stmt" count="3"/>
      <line num="522" type="stmt" count="8"/>
      <line num="539" type="method" name="shouldIncludeIPRevealLogData" visibility="private" complexity="4" crap="4" count="57"/>
      <line num="543" type="stmt" count="57"/>
      <line num="544" type="stmt" count="57"/>
      <line num="545" type="stmt" count="46"/>
      <line num="548" type="stmt" count="11"/>
      <line num="549" type="stmt" count="11"/>
      <line num="551" type="stmt" count="11"/>
      <line num="554" type="stmt" count="3"/>
      <line num="557" type="stmt" count="8"/>
      <line num="569" type="method" name="getIPRevealLogData" visibility="private" complexity="6" crap="6" count="9"/>
      <line num="573" type="stmt" count="9"/>
      <line num="574" type="stmt" count="9"/>
      <line num="575" type="stmt" count="9"/>
      <line num="576" type="stmt" count="9"/>
      <line num="577" type="stmt" count="9"/>
      <line num="578" type="stmt" count="9"/>
      <line num="579" type="stmt" count="9"/>
      <line num="581" type="stmt" count="9"/>
      <line num="582" type="stmt" count="6"/>
      <line num="583" type="stmt" count="3"/>
      <line num="584" type="stmt" count="1"/>
      <line num="586" type="stmt" count="2"/>
      <line num="589" type="stmt" count="9"/>
      <line num="593" type="stmt" count="7"/>
      <line num="594" type="stmt" count="7"/>
      <line num="597" type="stmt" count="9"/>
      <line num="598" type="stmt" count="9"/>
      <line num="599" type="stmt" count="9"/>
      <line num="600" type="stmt" count="9"/>
      <line num="601" type="stmt" count="9"/>
      <line num="602" type="stmt" count="9"/>
      <line num="603" type="stmt" count="9"/>
      <line num="604" type="stmt" count="9"/>
      <line num="605" type="stmt" count="9"/>
      <line num="607" type="stmt" count="9"/>
      <line num="608" type="stmt" count="0"/>
      <line num="611" type="stmt" count="9"/>
      <line num="612" type="stmt" count="9"/>
      <line num="613" type="stmt" count="9"/>
      <line num="614" type="stmt" count="9"/>
      <line num="616" type="stmt" count="9"/>
      <line num="628" type="method" name="getUserTitleKey" visibility="private" complexity="1" crap="1" count="57"/>
      <line num="629" type="stmt" count="57"/>
      <line num="639" type="method" name="getLogActionRestrictions" visibility="private" complexity="3" crap="3" count="57"/>
      <line num="640" type="stmt" count="57"/>
      <line num="642" type="stmt" count="57"/>
      <line num="643" type="stmt" count="42"/>
      <line num="644" type="stmt" count="15"/>
      <line num="645" type="stmt" count="6"/>
      <line num="646" type="stmt" count="6"/>
      <line num="649" type="stmt" count="57"/>
      <metrics loc="652" ncloc="535" classes="1" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="308" coveredstatements="287" elements="319" coveredelements="294"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/CheckUserUtilityService.php">
      <class name="MediaWiki\Extension\CheckUser\Services\CheckUserUtilityService" namespace="global">
        <metrics complexity="13" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="28" elements="31" coveredelements="29"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="17" type="stmt" count="9"/>
      <line num="32" type="method" name="getClientIPfromXFF" visibility="public" complexity="12" crap="12" count="9"/>
      <line num="33" type="stmt" count="9"/>
      <line num="36" type="stmt" count="2"/>
      <line num="40" type="stmt" count="7"/>
      <line num="41" type="stmt" count="7"/>
      <line num="44" type="stmt" count="7"/>
      <line num="47" type="stmt" count="7"/>
      <line num="52" type="stmt" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="7"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" type="stmt" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="63" type="stmt" count="7"/>
      <line num="66" type="stmt" count="7"/>
      <line num="67" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="72" type="stmt" count="7"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="78" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="81" type="stmt" count="7"/>
      <line num="84" type="stmt" count="7"/>
      <metrics loc="100" ncloc="67" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="28" elements="31" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/TokenManager.php">
      <class name="MediaWiki\Extension\CheckUser\Services\TokenManager" namespace="global">
        <metrics complexity="15" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="52" elements="65" coveredelements="59"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="25" type="stmt" count="5"/>
      <line num="26" type="stmt" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="39" type="method" name="encode" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="63" type="method" name="encrypt" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="80" type="method" name="decode" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="87" 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="100" type="method" name="decrypt" visibility="private" complexity="2" crap="2.00" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="1"/>
      <line num="122" type="method" name="getInitializationVector" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="133" type="method" name="getCipherMethod" visibility="private" complexity="4" crap="4.84" count="4"/>
      <line num="134" type="stmt" count="4"/>
      <line num="135" type="stmt" count="4"/>
      <line num="136" type="stmt" count="4"/>
      <line num="137" type="stmt" count="4"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="145" type="stmt" count="4"/>
      <line num="161" type="method" name="getSessionKey" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="162" type="stmt" count="4"/>
      <line num="163" type="stmt" count="4"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="168" type="stmt" count="4"/>
      <line num="177" type="method" name="getSigningKey" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="178" type="stmt" count="4"/>
      <metrics loc="181" ncloc="116" classes="1" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="52" elements="65" coveredelements="59"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/TokenQueryManager.php">
      <class name="MediaWiki\Extension\CheckUser\Services\TokenQueryManager" namespace="global">
        <metrics complexity="10" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="12" elements="26" coveredelements="15"/>
      </class>
      <line num="10" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="13" type="stmt" count="4"/>
      <line num="23" type="method" name="getPagingQueries" visibility="public" complexity="5" crap="30" 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="30" 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="40" type="stmt" count="0"/>
      <line num="51" type="method" name="updateToken" visibility="public" complexity="1" crap="1" 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="57" type="stmt" count="1"/>
      <line num="66" type="method" name="getDataFromRequest" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="1"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <metrics loc="80" ncloc="56" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="12" elements="26" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserAgentClientHintsFormatter.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserAgentClientHintsFormatter" namespace="global">
        <metrics complexity="48" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="106" coveredstatements="106" elements="114" coveredelements="114"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="30"/>
      <line num="47" type="stmt" count="30"/>
      <line num="48" type="stmt" count="30"/>
      <line num="55" type="method" name="generateMsgCache" visibility="private" complexity="2" crap="2" count="30"/>
      <line num="56" type="stmt" count="30"/>
      <line num="57" type="stmt" count="30"/>
      <line num="59" type="stmt" count="30"/>
      <line num="60" type="stmt" count="30"/>
      <line num="61" type="stmt" count="30"/>
      <line num="62" type="stmt" count="30"/>
      <line num="73" type="method" name="batchFormatClientHintsData" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="81" type="stmt" count="2"/>
      <line num="83" type="stmt" count="3"/>
      <line num="86" type="method" name="formatClientHintsDataObject" visibility="public" complexity="14" crap="14" count="6"/>
      <line num="87" type="stmt" count="6"/>
      <line num="89" type="stmt" count="6"/>
      <line num="92" type="stmt" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="97" type="stmt" count="6"/>
      <line num="100" type="stmt" count="6"/>
      <line num="101" type="stmt" count="4"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="113" type="stmt" count="6"/>
      <line num="116" type="stmt" count="6"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="125" type="stmt" count="6"/>
      <line num="127" type="stmt" count="6"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="3"/>
      <line num="141" type="stmt" count="6"/>
      <line num="142" type="stmt" count="6"/>
      <line num="143" type="stmt" count="6"/>
      <line num="144" type="stmt" count="6"/>
      <line num="149" type="stmt" count="6"/>
      <line num="150" type="stmt" count="6"/>
      <line num="166" type="method" name="listToTextWithoutAnd" visibility="private" complexity="2" crap="2" count="10"/>
      <line num="167" type="stmt" count="10"/>
      <line num="168" type="stmt" count="10"/>
      <line num="169" type="stmt" count="2"/>
      <line num="171" type="stmt" count="8"/>
      <line num="172" type="stmt" count="8"/>
      <line num="188" type="method" name="combineClientHintsData" visibility="private" complexity="12" crap="12" count="11"/>
      <line num="190" type="stmt" count="11"/>
      <line num="191" type="stmt" count="11"/>
      <line num="192" type="stmt" count="11"/>
      <line num="193" type="stmt" count="11"/>
      <line num="197" type="stmt" count="5"/>
      <line num="198" type="stmt" count="5"/>
      <line num="201" type="stmt" count="5"/>
      <line num="202" type="stmt" count="5"/>
      <line num="203" type="stmt" count="5"/>
      <line num="206" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="213" type="stmt" count="11"/>
      <line num="214" type="stmt" count="11"/>
      <line num="215" type="stmt" count="11"/>
      <line num="216" type="stmt" count="11"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" type="stmt" count="4"/>
      <line num="221" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="228" type="stmt" count="4"/>
      <line num="229" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="4"/>
      <line num="232" type="stmt" count="4"/>
      <line num="237" type="stmt" count="4"/>
      <line num="239" type="stmt" count="11"/>
      <line num="257" type="method" name="generateClientHintsListItem" visibility="private" complexity="8" crap="8" count="13"/>
      <line num="260" type="stmt" count="13"/>
      <line num="261" type="stmt" count="13"/>
      <line num="263" type="stmt" count="8"/>
      <line num="265" type="stmt" count="10"/>
      <line num="268" type="stmt" count="10"/>
      <line num="269" type="stmt" count="10"/>
      <line num="271" type="stmt" count="6"/>
      <line num="275" type="stmt" count="8"/>
      <line num="276" type="stmt" count="6"/>
      <line num="277" type="stmt" count="4"/>
      <line num="279" type="stmt" count="2"/>
      <line num="287" type="stmt" count="6"/>
      <line num="291" type="stmt" count="8"/>
      <line num="292" type="stmt" count="8"/>
      <line num="293" type="stmt" count="8"/>
      <line num="294" type="stmt" count="8"/>
      <line num="306" type="method" name="getBrandAsString" visibility="private" complexity="7" crap="7" count="17"/>
      <line num="307" type="stmt" count="17"/>
      <line num="308" type="stmt" count="15"/>
      <line num="309" type="stmt" count="15"/>
      <line num="311" type="stmt" count="9"/>
      <line num="313" type="stmt" count="6"/>
      <line num="315" type="stmt" count="5"/>
      <line num="322" type="stmt" count="15"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <metrics loc="332" ncloc="214" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="106" coveredstatements="106" elements="114" coveredelements="114"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserAgentClientHintsLookup.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserAgentClientHintsLookup" namespace="global">
        <metrics complexity="14" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="65" elements="69" coveredelements="69"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="20" type="stmt" count="10"/>
      <line num="29" type="method" name="getClientHintsByReferenceIds" visibility="public" complexity="5" crap="5" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="1"/>
      <line num="38" type="stmt" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="1"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" 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="88" 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"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="115" type="method" name="prepareFirstResultsArray" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="116" type="stmt" count="7"/>
      <line num="117" type="stmt" count="7"/>
      <line num="118" type="stmt" count="5"/>
      <line num="121" type="stmt" count="1"/>
      <line num="124" type="stmt" count="5"/>
      <line num="125" type="stmt" count="5"/>
      <line num="126" type="stmt" count="5"/>
      <line num="127" type="stmt" count="5"/>
      <line num="129" type="stmt" count="7"/>
      <line num="142" type="method" name="generateUniqueClientHintsIdCombinations" visibility="private" complexity="5" crap="5" count="5"/>
      <line num="146" type="stmt" count="5"/>
      <line num="147" type="stmt" count="5"/>
      <line num="148" type="stmt" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="154" type="stmt" count="4"/>
      <line num="160" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="172" type="stmt" count="5"/>
      <metrics loc="175" ncloc="115" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="65" elements="69" coveredelements="69"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserAgentClientHintsManager.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserAgentClientHintsManager" namespace="global">
        <metrics complexity="32" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="171" coveredstatements="171" elements="179" coveredelements="179"/>
      </class>
      <line num="63" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="69" type="stmt" count="16"/>
      <line num="84" type="method" name="insertClientHintValues" visibility="public" complexity="4" crap="4" count="8"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="97" type="stmt" count="3"/>
      <line num="103" type="stmt" count="7"/>
      <line num="104" type="stmt" count="7"/>
      <line num="105" type="stmt" count="7"/>
      <line num="106" type="stmt" count="7"/>
      <line num="107" type="stmt" count="7"/>
      <line num="108" type="stmt" count="7"/>
      <line num="109" type="stmt" count="7"/>
      <line num="110" type="stmt" count="7"/>
      <line num="111" type="stmt" count="7"/>
      <line num="112" type="stmt" count="7"/>
      <line num="113" type="stmt" count="7"/>
      <line num="114" type="stmt" count="7"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="7"/>
      <line num="125" type="stmt" count="7"/>
      <line num="127" type="stmt" count="7"/>
      <line num="137" type="method" name="getMapIdByType" visibility="private" complexity="1" crap="1" count="13"/>
      <line num="138" type="stmt" count="13"/>
      <line num="139" type="stmt" count="13"/>
      <line num="140" type="stmt" count="13"/>
      <line num="141" type="stmt" count="13"/>
      <line num="142" type="stmt" count="13"/>
      <line num="143" type="stmt" count="13"/>
      <line num="157" type="method" name="insertMappingRows" visibility="private" complexity="3" crap="3" count="9"/>
      <line num="163" type="stmt" count="9"/>
      <line num="164" type="stmt" count="9"/>
      <line num="165" type="stmt" count="9"/>
      <line num="166" type="stmt" count="8"/>
      <line num="167" type="stmt" count="8"/>
      <line num="168" type="stmt" count="8"/>
      <line num="169" type="stmt" count="8"/>
      <line num="170" type="stmt" count="8"/>
      <line num="173" type="stmt" count="9"/>
      <line num="174" type="stmt" count="8"/>
      <line num="175" type="stmt" count="8"/>
      <line num="176" type="stmt" count="8"/>
      <line num="177" type="stmt" count="8"/>
      <line num="178" type="stmt" count="8"/>
      <line num="179" type="stmt" count="8"/>
      <line num="181" type="stmt" count="9"/>
      <line num="191" type="method" name="deleteMappingRows" visibility="public" complexity="6" crap="6" count="4"/>
      <line num="192" type="stmt" count="4"/>
      <line num="193" type="stmt" count="4"/>
      <line num="195" type="stmt" count="4"/>
      <line num="196" type="stmt" count="4"/>
      <line num="197" type="stmt" count="4"/>
      <line num="198" type="stmt" count="1"/>
      <line num="201" type="stmt" count="3"/>
      <line num="205" type="stmt" count="3"/>
      <line num="206" type="stmt" count="3"/>
      <line num="207" type="stmt" count="3"/>
      <line num="208" type="stmt" count="3"/>
      <line num="209" type="stmt" count="3"/>
      <line num="210" type="stmt" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="3"/>
      <line num="213" type="stmt" count="3"/>
      <line num="214" type="stmt" count="3"/>
      <line num="215" type="stmt" count="3"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="3"/>
      <line num="218" type="stmt" count="3"/>
      <line num="220" type="stmt" count="3"/>
      <line num="221" type="stmt" count="3"/>
      <line num="222" type="stmt" count="3"/>
      <line num="223" type="stmt" count="3"/>
      <line num="224" type="stmt" count="3"/>
      <line num="227" type="stmt" count="3"/>
      <line num="228" type="stmt" count="3"/>
      <line num="229" type="stmt" count="3"/>
      <line num="230" type="stmt" count="3"/>
      <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="237" type="stmt" count="3"/>
      <line num="238" type="stmt" count="3"/>
      <line num="239" type="stmt" count="3"/>
      <line num="240" type="stmt" count="3"/>
      <line num="241" type="stmt" count="3"/>
      <line num="242" type="stmt" count="3"/>
      <line num="243" type="stmt" count="3"/>
      <line num="245" type="stmt" count="4"/>
      <line num="263" type="method" name="deleteOrphanedMapRows" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="264" type="stmt" count="3"/>
      <line num="265" type="stmt" count="3"/>
      <line num="268" type="stmt" count="3"/>
      <line num="269" type="stmt" count="3"/>
      <line num="271" type="stmt" count="3"/>
      <line num="272" type="stmt" count="3"/>
      <line num="273" type="stmt" count="3"/>
      <line num="274" type="stmt" count="3"/>
      <line num="275" type="stmt" count="3"/>
      <line num="276" type="stmt" count="3"/>
      <line num="277" type="stmt" count="3"/>
      <line num="278" type="stmt" count="3"/>
      <line num="279" type="stmt" count="3"/>
      <line num="280" type="stmt" count="3"/>
      <line num="283" type="stmt" count="3"/>
      <line num="284" type="stmt" count="3"/>
      <line num="285" type="stmt" count="3"/>
      <line num="288" type="stmt" count="3"/>
      <line num="289" type="stmt" count="3"/>
      <line num="290" type="stmt" count="3"/>
      <line num="291" type="stmt" count="3"/>
      <line num="292" type="stmt" count="3"/>
      <line num="293" type="stmt" count="3"/>
      <line num="294" type="stmt" count="3"/>
      <line num="295" type="stmt" count="3"/>
      <line num="296" type="stmt" count="3"/>
      <line num="300" type="stmt" count="3"/>
      <line num="304" type="stmt" count="3"/>
      <line num="315" type="method" name="isMapRowOrphaned" visibility="private" complexity="6" crap="6" count="4"/>
      <line num="316" type="stmt" count="4"/>
      <line num="317" type="stmt" count="1"/>
      <line num="320" type="stmt" count="3"/>
      <line num="322" type="stmt" count="3"/>
      <line num="326" type="stmt" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" type="stmt" count="1"/>
      <line num="330" type="stmt" count="1"/>
      <line num="331" type="stmt" count="1"/>
      <line num="337" type="stmt" count="2"/>
      <line num="338" type="stmt" count="2"/>
      <line num="340" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="1"/>
      <line num="357" type="stmt" count="2"/>
      <line num="358" type="stmt" count="2"/>
      <line num="359" type="stmt" count="2"/>
      <line num="360" type="stmt" count="2"/>
      <line num="361" type="stmt" count="2"/>
      <line num="378" type="method" name="selectClientHintMappings" visibility="private" complexity="7" crap="7" count="9"/>
      <line num="379" type="stmt" count="9"/>
      <line num="381" type="stmt" count="9"/>
      <line num="382" type="stmt" count="9"/>
      <line num="383" type="stmt" count="9"/>
      <line num="384" type="stmt" count="9"/>
      <line num="385" type="stmt" count="9"/>
      <line num="388" type="stmt" count="9"/>
      <line num="389" type="stmt" count="9"/>
      <line num="390" type="stmt" count="9"/>
      <line num="391" type="stmt" count="9"/>
      <line num="392" type="stmt" count="9"/>
      <line num="393" type="stmt" count="9"/>
      <line num="395" type="stmt" count="9"/>
      <line num="396" type="stmt" count="9"/>
      <line num="397" type="stmt" count="8"/>
      <line num="398" type="stmt" count="8"/>
      <line num="401" type="stmt" count="9"/>
      <line num="402" type="stmt" count="8"/>
      <line num="403" type="stmt" count="7"/>
      <line num="404" type="stmt" count="7"/>
      <line num="405" type="stmt" count="7"/>
      <line num="406" type="stmt" count="7"/>
      <line num="407" type="stmt" count="7"/>
      <line num="408" type="stmt" count="7"/>
      <line num="410" type="stmt" count="7"/>
      <line num="412" type="stmt" count="1"/>
      <line num="413" type="stmt" count="1"/>
      <line num="414" type="stmt" count="1"/>
      <line num="415" type="stmt" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <line num="420" type="stmt" count="9"/>
      <metrics loc="424" ncloc="297" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="171" coveredstatements="171" elements="179" coveredelements="179"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserInfoCardBlockStatusCache.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserInfoCardBlockStatusCache" namespace="global">
        <metrics complexity="20" methods="9" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="64" elements="73" coveredelements="73"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="39" type="stmt" count="21"/>
      <line num="45" type="method" name="invalidateLocal" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="54" type="method" name="invalidateGlobal" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="68" type="method" name="isIndefinitelyBlockedOrLocked" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="69" type="stmt" count="8"/>
      <line num="81" type="method" name="getIndefinitelyBlockedOrLockedUsers" visibility="public" complexity="3" crap="3" count="19"/>
      <line num="82" type="stmt" count="19"/>
      <line num="83" type="stmt" count="1"/>
      <line num="86" type="stmt" count="18"/>
      <line num="88" type="stmt" count="18"/>
      <line num="89" type="stmt" count="18"/>
      <line num="90" type="stmt" count="18"/>
      <line num="91" type="stmt" count="18"/>
      <line num="92" type="stmt" count="18"/>
      <line num="93" type="stmt" count="18"/>
      <line num="94" type="stmt" count="18"/>
      <line num="96" type="stmt" count="18"/>
      <line num="97" type="stmt" count="18"/>
      <line num="98" type="stmt" count="18"/>
      <line num="99" type="stmt" count="18"/>
      <line num="102" type="method" name="makeLocalCacheKey" visibility="private" complexity="1" crap="1" count="19"/>
      <line num="103" type="stmt" count="19"/>
      <line num="106" type="method" name="makeGlobalCacheKey" visibility="private" complexity="1" crap="1" count="12"/>
      <line num="107" type="stmt" count="12"/>
      <line num="119" type="method" name="checkCache" visibility="private" complexity="6" crap="6" count="18"/>
      <line num="120" type="stmt" count="18"/>
      <line num="121" type="stmt" count="7"/>
      <line num="124" type="stmt" count="18"/>
      <line num="125" type="stmt" count="18"/>
      <line num="126" type="stmt" count="18"/>
      <line num="127" type="stmt" count="18"/>
      <line num="128" type="stmt" count="18"/>
      <line num="129" type="stmt" count="18"/>
      <line num="130" type="stmt" count="18"/>
      <line num="132" type="stmt" count="18"/>
      <line num="133" type="stmt" count="18"/>
      <line num="134" type="stmt" count="18"/>
      <line num="135" type="stmt" count="18"/>
      <line num="136" type="stmt" count="18"/>
      <line num="137" type="stmt" count="18"/>
      <line num="138" type="stmt" count="18"/>
      <line num="139" type="stmt" count="18"/>
      <line num="140" type="stmt" count="18"/>
      <line num="141" type="stmt" count="18"/>
      <line num="142" type="stmt" count="18"/>
      <line num="143" type="stmt" count="18"/>
      <line num="144" type="stmt" count="18"/>
      <line num="145" type="stmt" count="18"/>
      <line num="147" type="stmt" count="18"/>
      <line num="148" type="stmt" count="18"/>
      <line num="149" type="stmt" count="18"/>
      <line num="151" type="stmt" count="18"/>
      <line num="164" type="method" name="computeIndefiniteBlockStatus" visibility="private" complexity="5" crap="5" count="18"/>
      <line num="169" type="stmt" count="18"/>
      <line num="171" type="stmt" count="18"/>
      <line num="172" type="stmt" count="18"/>
      <line num="173" type="stmt" count="18"/>
      <line num="174" type="stmt" count="18"/>
      <line num="175" type="stmt" count="18"/>
      <line num="176" type="stmt" count="18"/>
      <line num="177" type="stmt" count="18"/>
      <line num="178" type="stmt" count="18"/>
      <line num="179" type="stmt" count="16"/>
      <line num="181" type="stmt" count="18"/>
      <line num="182" type="stmt" count="2"/>
      <line num="185" type="stmt" count="16"/>
      <line num="186" type="stmt" count="16"/>
      <line num="187" type="stmt" count="16"/>
      <line num="188" type="stmt" count="12"/>
      <line num="192" type="stmt" count="18"/>
      <metrics loc="195" ncloc="130" classes="1" methods="9" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="64" elements="73" coveredelements="73"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserInfoCardButtonRenderer.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserInfoCardButtonRenderer" namespace="global">
        <metrics complexity="19" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="74" elements="81" coveredelements="81"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="26"/>
      <line num="29" type="stmt" count="26"/>
      <line num="44" type="method" name="render" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="51" type="stmt" count="7"/>
      <line num="52" type="stmt" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="56" type="stmt" count="7"/>
      <line num="57" type="stmt" count="7"/>
      <line num="58" type="stmt" count="7"/>
      <line num="59" type="stmt" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" type="stmt" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="66" type="stmt" count="7"/>
      <line num="67" type="stmt" count="7"/>
      <line num="68" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="71" type="stmt" count="7"/>
      <line num="72" type="stmt" count="7"/>
      <line num="73" type="stmt" count="7"/>
      <line num="74" type="stmt" count="7"/>
      <line num="75" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="77" type="stmt" count="7"/>
      <line num="78" type="stmt" count="7"/>
      <line num="88" type="method" name="getIconName" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="89" type="stmt" count="17"/>
      <line num="106" type="method" name="getIconNamesForUsers" visibility="public" complexity="7" crap="7" count="19"/>
      <line num="107" type="stmt" count="19"/>
      <line num="108" type="stmt" count="19"/>
      <line num="109" type="stmt" count="19"/>
      <line num="110" type="stmt" count="19"/>
      <line num="111" type="stmt" count="19"/>
      <line num="113" type="stmt" count="19"/>
      <line num="114" type="stmt" count="10"/>
      <line num="116" type="stmt" count="19"/>
      <line num="117" type="stmt" count="17"/>
      <line num="120" type="stmt" count="19"/>
      <line num="121" type="stmt" count="1"/>
      <line num="123" type="stmt" count="18"/>
      <line num="124" type="stmt" count="18"/>
      <line num="125" type="stmt" count="18"/>
      <line num="126" type="stmt" count="18"/>
      <line num="127" type="stmt" count="18"/>
      <line num="130" type="stmt" count="19"/>
      <line num="131" type="stmt" count="19"/>
      <line num="132" type="stmt" count="16"/>
      <line num="136" type="stmt" count="19"/>
      <line num="137" type="stmt" count="19"/>
      <line num="138" type="stmt" count="12"/>
      <line num="141" type="stmt" count="19"/>
      <line num="144" type="method" name="applyCustomIcons" visibility="private" complexity="6" crap="6" count="16"/>
      <line num="145" type="stmt" count="16"/>
      <line num="146" type="stmt" count="16"/>
      <line num="150" type="stmt" count="16"/>
      <line num="151" type="stmt" count="16"/>
      <line num="152" type="stmt" count="16"/>
      <line num="153" type="stmt" count="16"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="16"/>
      <line num="157" type="stmt" count="16"/>
      <line num="159" type="stmt" count="16"/>
      <line num="160" type="stmt" count="16"/>
      <line num="161" type="stmt" count="5"/>
      <line num="164" type="stmt" count="16"/>
      <line num="165" type="stmt" count="16"/>
      <line num="167" type="stmt" count="16"/>
      <line num="168" type="stmt" count="16"/>
      <line num="169" type="stmt" count="9"/>
      <line num="172" type="stmt" count="7"/>
      <line num="175" type="method" name="applyBlockedIcon" visibility="private" complexity="1" crap="1" count="16"/>
      <line num="176" type="stmt" count="16"/>
      <line num="177" type="stmt" count="16"/>
      <line num="180" type="method" name="applySuggestedInvestigationsIcon" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="181" type="stmt" count="4"/>
      <line num="182" type="stmt" count="1"/>
      <line num="185" type="stmt" count="3"/>
      <line num="186" type="stmt" count="3"/>
      <metrics loc="189" ncloc="149" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="74" elements="81" coveredelements="81"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserInfoCardInstrumentation.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserInfoCardInstrumentation" namespace="global">
        <metrics complexity="15" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="52" coveredelements="52"/>
      </class>
      <line num="49" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="57" type="stmt" count="18"/>
      <line num="68" type="method" name="setSourcePage" visibility="public" complexity="4" crap="4" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="1"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="5"/>
      <line num="74" type="stmt" count="2"/>
      <line num="76" type="stmt" count="3"/>
      <line num="87" type="method" name="setOpenedFrom" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="2"/>
      <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="104" type="method" name="onApiSuccess" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="107" type="stmt" count="6"/>
      <line num="108" type="stmt" count="6"/>
      <line num="109" type="stmt" count="6"/>
      <line num="116" type="method" name="onUserNotFound" visibility="public" complexity="1" crap="1" 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="127" type="method" name="onRateLimited" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="128" type="stmt" count="3"/>
      <line num="129" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="135" type="method" name="emitInteractionEvent" visibility="private" complexity="4" crap="4" count="12"/>
      <line num="137" type="stmt" count="12"/>
      <line num="138" type="stmt" count="12"/>
      <line num="140" type="stmt" count="6"/>
      <line num="142" type="stmt" count="6"/>
      <line num="143" type="stmt" count="1"/>
      <line num="145" type="stmt" count="6"/>
      <line num="146" type="stmt" count="6"/>
      <line num="147" type="stmt" count="6"/>
      <line num="148" type="stmt" count="6"/>
      <line num="149" type="stmt" count="6"/>
      <line num="150" type="stmt" count="6"/>
      <line num="151" type="stmt" count="6"/>
      <line num="152" type="stmt" count="6"/>
      <line num="153" type="stmt" count="6"/>
      <metrics loc="156" ncloc="117" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="52" coveredelements="52"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/Services/UserInfoCardSuggestedInvestigationsCache.php">
      <class name="MediaWiki\Extension\CheckUser\Services\UserInfoCardSuggestedInvestigationsCache" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="48" elements="52" coveredelements="52"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="47" type="stmt" count="11"/>
      <line num="52" type="method" name="hasOpenCase" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="65" type="method" name="getUsersWithOpenCases" visibility="public" complexity="5" crap="5" count="11"/>
      <line num="66" type="stmt" count="11"/>
      <line num="67" type="stmt" count="2"/>
      <line num="70" type="stmt" count="9"/>
      <line num="71" type="stmt" count="9"/>
      <line num="72" type="stmt" count="9"/>
      <line num="73" type="stmt" count="9"/>
      <line num="74" type="stmt" count="9"/>
      <line num="75" type="stmt" count="9"/>
      <line num="76" type="stmt" count="9"/>
      <line num="78" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" type="stmt" count="9"/>
      <line num="81" type="stmt" count="9"/>
      <line num="82" type="stmt" count="9"/>
      <line num="83" type="stmt" count="9"/>
      <line num="84" type="stmt" count="9"/>
      <line num="85" type="stmt" count="9"/>
      <line num="86" type="stmt" count="9"/>
      <line num="87" type="stmt" count="9"/>
      <line num="88" type="stmt" count="9"/>
      <line num="89" type="stmt" count="9"/>
      <line num="90" type="stmt" count="9"/>
      <line num="92" type="stmt" count="9"/>
      <line num="93" type="stmt" count="9"/>
      <line num="94" type="stmt" count="9"/>
      <line num="95" type="stmt" count="5"/>
      <line num="98" type="stmt" count="9"/>
      <line num="111" type="method" name="computeOpenCaseStatus" visibility="private" complexity="5" crap="5" count="9"/>
      <line num="113" type="stmt" count="9"/>
      <line num="115" type="stmt" count="9"/>
      <line num="116" type="stmt" count="9"/>
      <line num="117" type="stmt" count="9"/>
      <line num="118" type="stmt" count="9"/>
      <line num="119" type="stmt" count="9"/>
      <line num="120" type="stmt" count="9"/>
      <line num="121" type="stmt" count="9"/>
      <line num="122" type="stmt" count="9"/>
      <line num="123" type="stmt" count="8"/>
      <line num="125" type="stmt" count="9"/>
      <line num="126" type="stmt" count="1"/>
      <line num="129" type="stmt" count="8"/>
      <line num="130" type="stmt" count="8"/>
      <line num="131" type="stmt" count="8"/>
      <line num="132" type="stmt" count="8"/>
      <line num="133" type="stmt" count="8"/>
      <line num="134" type="stmt" count="5"/>
      <line num="138" type="stmt" count="9"/>
      <metrics loc="141" ncloc="96" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="48" elements="52" coveredelements="52"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/BlockChecks/BlockCheckInterface.php">
      <metrics loc="18" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/BlockChecks/CentralAuthLockCheck.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\BlockChecks\CentralAuthLockCheck" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="26" elements="33" coveredelements="31"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="16" type="stmt" count="2"/>
      <line num="19" type="method" name="getIndefinitelyBlockedUserIds" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="20" type="stmt" count="2"/>
      <line num="24" type="method" name="getBlockedUserIds" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="28" type="method" name="commonFetchLockedUsers" visibility="private" complexity="3" crap="3.04" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="30" type="stmt" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="1"/>
      <line num="47" type="method" name="resolveUserNames" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" 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="58" type="stmt" count="1"/>
      <line num="65" type="method" name="fetchLockedUserIds" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" 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="78" type="stmt" count="1"/>
      <metrics loc="81" ncloc="69" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="26" elements="33" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/BlockChecks/GlobalBlockCheck.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\BlockChecks\GlobalBlockCheck" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="38" coveredelements="38"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="21" type="stmt" count="9"/>
      <line num="24" type="method" name="getIndefinitelyBlockedUserIds" visibility="public" complexity="5" crap="5" count="6"/>
      <line num="25" type="stmt" count="6"/>
      <line num="26" type="stmt" count="1"/>
      <line num="29" type="stmt" count="5"/>
      <line num="30" type="stmt" count="5"/>
      <line num="31" type="stmt" count="5"/>
      <line num="32" type="stmt" count="3"/>
      <line num="33" type="stmt" count="3"/>
      <line num="34" type="stmt" count="2"/>
      <line num="38" type="stmt" count="5"/>
      <line num="42" type="method" name="getBlockedUserIds" visibility="public" complexity="4" crap="4" count="6"/>
      <line num="43" type="stmt" count="6"/>
      <line num="44" type="stmt" count="1"/>
      <line num="47" type="stmt" count="5"/>
      <line num="48" type="stmt" count="5"/>
      <line num="49" type="stmt" count="5"/>
      <line num="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="56" type="stmt" count="5"/>
      <line num="59" type="method" name="getGlobalBlocksForLocalUserIds" visibility="private" complexity="2" crap="2" count="8"/>
      <line num="60" type="stmt" count="8"/>
      <line num="61" type="stmt" count="1"/>
      <line num="64" type="stmt" count="7"/>
      <line num="65" type="stmt" count="7"/>
      <line num="66" type="stmt" count="7"/>
      <line num="67" type="stmt" count="7"/>
      <line num="68" type="stmt" count="7"/>
      <line num="69" type="stmt" count="7"/>
      <line num="70" type="stmt" count="7"/>
      <line num="71" type="stmt" count="7"/>
      <line num="75" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="77" type="stmt" count="7"/>
      <line num="78" type="stmt" count="7"/>
      <line num="80" type="stmt" count="7"/>
      <metrics loc="83" ncloc="79" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="38" coveredelements="38"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/BlockChecks/IndefiniteBlockCheckInterface.php">
      <metrics loc="17" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/BlockChecks/LocalBlockCheck.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\BlockChecks\LocalBlockCheck" namespace="global">
        <metrics complexity="9" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="18" coveredelements="18"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="14" type="stmt" count="4"/>
      <line num="17" type="method" name="getIndefinitelyBlockedUserIds" visibility="public" complexity="5" crap="5" count="2"/>
      <line num="18" type="stmt" count="2"/>
      <line num="19" type="stmt" count="2"/>
      <line num="20" type="stmt" count="2"/>
      <line num="21" type="stmt" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="23" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="31" type="method" name="getBlockedUserIds" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <metrics loc="44" ncloc="42" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="18" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/CaseNotFoundException.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\CaseNotFoundException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="14" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Formatters/StatusReasonFormatter.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Formatters\StatusReasonFormatter" namespace="global">
        <metrics complexity="7" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="19" coveredelements="19"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="24" type="stmt" count="8"/>
      <line num="33" type="method" name="format" visibility="public" complexity="6" crap="6" count="8"/>
      <line num="39" type="stmt" count="8"/>
      <line num="40" type="stmt" count="8"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="46" type="stmt" count="8"/>
      <line num="48" type="stmt" count="8"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="57" type="stmt" count="1"/>
      <line num="61" type="stmt" count="8"/>
      <metrics loc="64" ncloc="53" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="17" elements="19" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Instrumentation/ISuggestedInvestigationsInstrumentationClient.php">
      <metrics loc="36" ncloc="16" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Instrumentation/NoOpSuggestedInvestigationsInstrumentationClient.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Instrumentation\NoOpSuggestedInvestigationsInstrumentationClient" namespace="global">
        <metrics complexity="2" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="31" ncloc="22" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Instrumentation/SuggestedInvestigationsInstrumentationClient.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Instrumentation\SuggestedInvestigationsInstrumentationClient" namespace="global">
        <metrics complexity="18" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="69" elements="75" coveredelements="73"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="33" type="stmt" count="13"/>
      <line num="47" type="method" name="submitInteraction" visibility="public" complexity="4" crap="4" count="13"/>
      <line num="52" type="stmt" count="13"/>
      <line num="55" type="stmt" count="13"/>
      <line num="56" type="stmt" count="8"/>
      <line num="61" type="stmt" count="13"/>
      <line num="62" type="stmt" count="13"/>
      <line num="64" type="stmt" count="3"/>
      <line num="67" type="stmt" count="13"/>
      <line num="68" type="stmt" count="13"/>
      <line num="69" type="stmt" count="13"/>
      <line num="70" type="stmt" count="13"/>
      <line num="71" type="stmt" count="13"/>
      <line num="72" type="stmt" count="13"/>
      <line num="76" type="method" name="getUserFragmentsArray" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="77" type="stmt" count="8"/>
      <line num="78" type="stmt" count="7"/>
      <line num="79" type="stmt" count="8"/>
      <line num="86" type="method" name="expandInteractionDataWithCaseSpecificFields" visibility="private" complexity="8" crap="8" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <line num="88" type="stmt" count="8"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="97" type="stmt" count="6"/>
      <line num="98" type="stmt" count="6"/>
      <line num="99" type="stmt" count="6"/>
      <line num="101" type="stmt" count="6"/>
      <line num="102" type="stmt" count="5"/>
      <line num="103" type="stmt" count="4"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="4"/>
      <line num="112" type="stmt" count="8"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="115" type="stmt" count="5"/>
      <line num="116" type="stmt" count="5"/>
      <line num="117" type="stmt" count="5"/>
      <line num="118" type="stmt" count="5"/>
      <line num="120" type="stmt" count="5"/>
      <line num="121" type="stmt" count="5"/>
      <line num="122" type="stmt" count="5"/>
      <line num="123" type="stmt" count="5"/>
      <line num="124" type="stmt" count="5"/>
      <line num="125" type="stmt" count="5"/>
      <line num="128" type="stmt" count="8"/>
      <line num="129" type="stmt" count="5"/>
      <line num="130" type="stmt" count="5"/>
      <line num="131" type="stmt" count="5"/>
      <line num="132" type="stmt" count="5"/>
      <line num="133" type="stmt" count="5"/>
      <line num="134" type="stmt" count="5"/>
      <line num="135" type="stmt" count="5"/>
      <line num="146" type="method" name="expandInteractionDataWithPerformerSpecificFields" visibility="private" complexity="4" crap="4.00" count="3"/>
      <line num="147" type="stmt" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="0"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <metrics loc="172" ncloc="142" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="69" elements="75" coveredelements="73"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/CaseStatus.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\CaseStatus" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="7" coveredelements="7"/>
      </class>
      <line num="40" type="method" name="newFromStringName" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="5"/>
      <line num="45" type="stmt" count="5"/>
      <line num="46" type="stmt" count="5"/>
      <metrics loc="59" ncloc="27" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="7" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsCase.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsCase" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="10" coveredelements="10"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="37" type="stmt" count="6"/>
      <line num="39" type="method" name="getId" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="43" type="method" name="getStatus" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="47" type="method" name="getReason" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="57" type="method" name="getStatusChangedBy" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <metrics loc="61" ncloc="34" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsCaseMetadata.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsCaseMetadata" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="7" coveredelements="7"/>
      </class>
      <line num="35" type="method" name="overrideMessage" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="46" type="method" name="isMessageOverridden" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="56" type="method" name="getMessageOverride" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <metrics loc="60" ncloc="29" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="7" coveredelements="7"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsCaseUser.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsCaseUser" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="14" coveredelements="14"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="31" type="stmt" count="8"/>
      <line num="40" type="method" name="getUserInfoBitFlags" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="45" type="method" name="getId" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="50" type="method" name="getName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="55" type="method" name="getWikiId" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="60" type="method" name="equals" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="65" type="method" name="isRegistered" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <metrics loc="79" ncloc="49" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsDeletedRevisionsSummary.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsDeletedRevisionsSummary" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="10" coveredelements="10"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="22" type="stmt" count="2"/>
      <line num="28" type="method" name="getTotalDeletedRevisionsCount" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="33" type="method" name="getMessage" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="35" type="stmt" count="2"/>
      <line num="36" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <metrics loc="43" ncloc="30" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsRelatedCasesSummary.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsRelatedCasesSummary" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="10" coveredelements="10"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="26" type="stmt" count="9"/>
      <line num="31" type="method" name="getRelatedCaseIds" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="32" type="stmt" count="9"/>
      <line num="36" type="method" name="getMessage" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <metrics loc="45" ncloc="30" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="10" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsRevisionRevertsSummary.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsRevisionRevertsSummary" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="12" coveredelements="12"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="32" type="method" name="getTotalRevisionsCount" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="40" type="method" name="getRevertedRevisionsCount" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="45" type="method" name="getMessage" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <metrics loc="55" ncloc="35" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Model/SuggestedInvestigationsSharedPagesSummary.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Model\SuggestedInvestigationsSharedPagesSummary" namespace="global">
        <metrics complexity="8" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="18" coveredelements="18"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="38" type="stmt" count="16"/>
      <line num="44" type="method" name="getRevisionIds" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="45" type="stmt" count="9"/>
      <line num="52" type="method" name="getSharedPages" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="53" type="stmt" count="10"/>
      <line num="60" type="method" name="getFirstEditTimestamp" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="61" type="stmt" count="2"/>
      <line num="68" type="method" name="getLastEditTimestamp" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="76" type="method" name="getCommonEditors" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="81" type="method" name="getMessage" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <metrics loc="90" ncloc="52" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="18" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Navigation/SuggestedInvestigationsPagerNavigationBuilder.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Navigation\SuggestedInvestigationsPagerNavigationBuilder" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="32" elements="35" coveredelements="35"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="19" type="stmt" count="3"/>
      <line num="31" type="method" name="getLimitForm" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="39" type="method" name="getFilterButton" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" 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="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <metrics loc="74" ncloc="61" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="32" coveredstatements="32" elements="35" coveredelements="35"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Pagers/SuggestedInvestigationsCasesPager.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Pagers\SuggestedInvestigationsCasesPager" namespace="global">
        <metrics complexity="170" methods="41" coveredmethods="36" conditionals="0" coveredconditionals="0" statements="712" coveredstatements="702" elements="753" coveredelements="738"/>
      </class>
      <line num="154" type="method" name="__construct" visibility="public" complexity="7" crap="7.02" count="76"/>
      <line num="175" type="stmt" count="76"/>
      <line num="177" type="stmt" count="76"/>
      <line num="178" type="stmt" count="76"/>
      <line num="179" type="stmt" count="76"/>
      <line num="180" type="stmt" count="76"/>
      <line num="181" type="stmt" count="76"/>
      <line num="183" type="stmt" count="76"/>
      <line num="184" type="stmt" count="76"/>
      <line num="185" type="stmt" count="76"/>
      <line num="186" type="stmt" count="0"/>
      <line num="188" type="stmt" count="76"/>
      <line num="189" type="stmt" count="0"/>
      <line num="191" type="stmt" count="76"/>
      <line num="193" type="stmt" count="76"/>
      <line num="195" type="stmt" count="76"/>
      <line num="197" type="stmt" count="76"/>
      <line num="198" type="stmt" count="76"/>
      <line num="199" type="stmt" count="6"/>
      <line num="200" type="stmt" count="5"/>
      <line num="201" type="stmt" count="3"/>
      <line num="204" type="stmt" count="5"/>
      <line num="205" type="stmt" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="209" type="stmt" count="4"/>
      <line num="215" type="stmt" count="5"/>
      <line num="216" type="stmt" count="5"/>
      <line num="217" type="stmt" count="5"/>
      <line num="220" type="stmt" count="76"/>
      <line num="226" type="method" name="setUpQueueViewConfigs" visibility="private" complexity="4" crap="4" count="76"/>
      <line num="227" type="stmt" count="76"/>
      <line num="228" type="stmt" count="76"/>
      <line num="229" type="stmt" count="76"/>
      <line num="231" type="stmt" count="76"/>
      <line num="233" type="stmt" count="76"/>
      <line num="234" type="stmt" count="76"/>
      <line num="236" type="stmt" count="75"/>
      <line num="245" type="method" name="parseFilters" visibility="private" complexity="2" crap="2" count="76"/>
      <line num="246" type="stmt" count="76"/>
      <line num="247" type="stmt" count="75"/>
      <line num="250" type="stmt" count="75"/>
      <line num="251" type="stmt" count="75"/>
      <line num="252" type="stmt" count="75"/>
      <line num="253" type="stmt" count="75"/>
      <line num="254" type="stmt" count="75"/>
      <line num="255" type="stmt" count="75"/>
      <line num="256" type="stmt" count="75"/>
      <line num="257" type="stmt" count="75"/>
      <line num="258" type="stmt" count="75"/>
      <line num="259" type="stmt" count="75"/>
      <line num="260" type="stmt" count="75"/>
      <line num="261" type="stmt" count="75"/>
      <line num="267" type="method" name="getDefaultFilterValueForQueueType" visibility="private" complexity="6" crap="6.03" count="74"/>
      <line num="269" type="stmt" count="74"/>
      <line num="270" type="stmt" count="74"/>
      <line num="271" type="stmt" count="74"/>
      <line num="272" type="stmt" count="74"/>
      <line num="273" type="stmt" count="74"/>
      <line num="274" type="stmt" count="73"/>
      <line num="275" type="stmt" count="74"/>
      <line num="276" type="stmt" count="74"/>
      <line num="277" type="stmt" count="65"/>
      <line num="278" type="stmt" count="65"/>
      <line num="281" type="stmt" count="0"/>
      <line num="288" type="method" name="parseFiltersForMainView" visibility="private" complexity="18" crap="18" count="75"/>
      <line num="291" type="stmt" count="75"/>
      <line num="292" type="stmt" count="75"/>
      <line num="293" type="stmt" count="75"/>
      <line num="294" type="stmt" count="75"/>
      <line num="295" type="stmt" count="71"/>
      <line num="297" type="stmt" count="75"/>
      <line num="298" type="stmt" count="1"/>
      <line num="300" type="stmt" count="74"/>
      <line num="302" type="stmt" count="74"/>
      <line num="303" type="stmt" count="74"/>
      <line num="306" type="stmt" count="74"/>
      <line num="307" type="stmt" count="0"/>
      <line num="309" type="stmt" count="74"/>
      <line num="310" type="stmt" count="74"/>
      <line num="311" type="stmt" count="74"/>
      <line num="312" type="stmt" count="74"/>
      <line num="313" type="stmt" count="74"/>
      <line num="314" type="stmt" count="4"/>
      <line num="317" type="stmt" count="74"/>
      <line num="318" type="stmt" count="74"/>
      <line num="319" type="stmt" count="5"/>
      <line num="322" type="stmt" count="74"/>
      <line num="323" type="stmt" count="74"/>
      <line num="324" type="stmt" count="74"/>
      <line num="325" type="stmt" count="74"/>
      <line num="326" type="stmt" count="74"/>
      <line num="327" type="stmt" count="74"/>
      <line num="329" type="stmt" count="74"/>
      <line num="330" type="stmt" count="74"/>
      <line num="331" type="stmt" count="74"/>
      <line num="332" type="stmt" count="74"/>
      <line num="333" type="stmt" count="74"/>
      <line num="335" type="stmt" count="16"/>
      <line num="338" type="stmt" count="74"/>
      <line num="339" type="stmt" count="74"/>
      <line num="340" type="stmt" count="73"/>
      <line num="341" type="stmt" count="73"/>
      <line num="343" type="stmt" count="1"/>
      <line num="346" type="stmt" count="74"/>
      <line num="347" type="stmt" count="74"/>
      <line num="348" type="stmt" count="2"/>
      <line num="351" type="stmt" count="74"/>
      <line num="352" type="stmt" count="74"/>
      <line num="355" type="stmt" count="74"/>
      <line num="356" type="stmt" count="0"/>
      <line num="358" type="stmt" count="74"/>
      <line num="362" type="stmt" count="5"/>
      <line num="363" type="stmt" count="1"/>
      <line num="366" type="stmt" count="5"/>
      <line num="368" type="stmt" count="74"/>
      <line num="369" type="stmt" count="5"/>
      <line num="372" type="stmt" count="74"/>
      <line num="373" type="stmt" count="74"/>
      <line num="374" type="stmt" count="65"/>
      <line num="375" type="stmt" count="9"/>
      <line num="377" type="stmt" count="1"/>
      <line num="379" type="stmt" count="74"/>
      <line num="380" type="stmt" count="74"/>
      <line num="381" type="stmt" count="74"/>
      <line num="382" type="stmt" count="6"/>
      <line num="392" type="method" name="formatValue" visibility="public" complexity="1" crap="1" count="60"/>
      <line num="393" type="stmt" count="60"/>
      <line num="394" type="stmt" count="60"/>
      <line num="395" type="stmt" count="60"/>
      <line num="396" type="stmt" count="60"/>
      <line num="397" type="stmt" count="60"/>
      <line num="398" type="stmt" count="60"/>
      <line num="399" type="stmt" count="60"/>
      <line num="400" type="stmt" count="60"/>
      <line num="401" type="stmt" count="60"/>
      <line num="402" type="stmt" count="60"/>
      <line num="403" type="stmt" count="60"/>
      <line num="404" type="stmt" count="60"/>
      <line num="405" type="stmt" count="60"/>
      <line num="406" type="stmt" count="60"/>
      <line num="407" type="stmt" count="60"/>
      <line num="408" type="stmt" count="60"/>
      <line num="409" type="stmt" count="60"/>
      <line num="410" type="stmt" count="60"/>
      <line num="417" type="method" name="formatUsersCell" visibility="private" complexity="5" crap="5" count="60"/>
      <line num="418" type="stmt" count="60"/>
      <line num="421" type="stmt" count="60"/>
      <line num="422" type="stmt" count="60"/>
      <line num="423" type="stmt" count="59"/>
      <line num="426" type="stmt" count="60"/>
      <line num="428" type="stmt" count="60"/>
      <line num="429" type="stmt" count="60"/>
      <line num="430" type="stmt" count="60"/>
      <line num="431" type="stmt" count="60"/>
      <line num="432" type="stmt" count="60"/>
      <line num="433" type="stmt" count="60"/>
      <line num="434" type="stmt" count="60"/>
      <line num="435" type="stmt" count="60"/>
      <line num="436" type="stmt" count="60"/>
      <line num="437" type="stmt" count="60"/>
      <line num="439" type="stmt" count="60"/>
      <line num="440" type="stmt" count="60"/>
      <line num="441" type="stmt" count="60"/>
      <line num="442" type="stmt" count="60"/>
      <line num="443" type="stmt" count="60"/>
      <line num="444" type="stmt" count="1"/>
      <line num="445" type="stmt" count="60"/>
      <line num="446" type="stmt" count="60"/>
      <line num="447" type="stmt" count="60"/>
      <line num="448" type="stmt" count="60"/>
      <line num="449" type="stmt" count="60"/>
      <line num="451" type="stmt" count="60"/>
      <line num="452" type="stmt" count="60"/>
      <line num="455" type="method" name="formatSignalsCell" visibility="private" complexity="6" crap="6" count="60"/>
      <line num="456" type="stmt" count="60"/>
      <line num="458" type="stmt" count="60"/>
      <line num="460" type="stmt" count="60"/>
      <line num="462" type="stmt" count="60"/>
      <line num="464" type="stmt" count="60"/>
      <line num="465" type="stmt" count="60"/>
      <line num="466" type="stmt" count="60"/>
      <line num="467" type="stmt" count="60"/>
      <line num="469" type="stmt" count="60"/>
      <line num="470" type="stmt" count="60"/>
      <line num="471" type="stmt" count="60"/>
      <line num="472" type="stmt" count="2"/>
      <line num="473" type="stmt" count="58"/>
      <line num="474" type="stmt" count="60"/>
      <line num="475" type="stmt" count="17"/>
      <line num="479" type="stmt" count="60"/>
      <line num="480" type="stmt" count="17"/>
      <line num="482" type="stmt" count="17"/>
      <line num="483" type="stmt" count="17"/>
      <line num="484" type="stmt" count="17"/>
      <line num="485" type="stmt" count="17"/>
      <line num="486" type="stmt" count="17"/>
      <line num="491" type="stmt" count="60"/>
      <line num="492" type="stmt" count="2"/>
      <line num="495" type="stmt" count="59"/>
      <line num="496" type="stmt" count="59"/>
      <line num="497" type="stmt" count="59"/>
      <line num="498" type="stmt" count="59"/>
      <line num="499" type="stmt" count="59"/>
      <line num="500" type="stmt" count="59"/>
      <line num="501" type="stmt" count="59"/>
      <line num="502" type="stmt" count="59"/>
      <line num="504" type="stmt" count="59"/>
      <line num="507" type="method" name="getSignalDisplayNameForSignal" visibility="private" complexity="2" crap="2" count="60"/>
      <line num="508" type="stmt" count="60"/>
      <line num="512" type="stmt" count="54"/>
      <line num="514" type="stmt" count="6"/>
      <line num="517" type="method" name="formatTimestampCell" visibility="private" complexity="1" crap="1" count="60"/>
      <line num="518" type="stmt" count="60"/>
      <line num="519" type="stmt" count="60"/>
      <line num="521" type="stmt" count="60"/>
      <line num="524" type="method" name="formatStatusCell" visibility="private" complexity="1" crap="1" count="60"/>
      <line num="525" type="stmt" count="60"/>
      <line num="526" type="stmt" count="60"/>
      <line num="527" type="stmt" count="60"/>
      <line num="528" type="stmt" count="60"/>
      <line num="529" type="stmt" count="60"/>
      <line num="530" type="stmt" count="60"/>
      <line num="532" type="stmt" count="60"/>
      <line num="533" type="stmt" count="60"/>
      <line num="534" type="stmt" count="60"/>
      <line num="535" type="stmt" count="60"/>
      <line num="536" type="stmt" count="60"/>
      <line num="538" type="stmt" count="60"/>
      <line num="539" type="stmt" count="60"/>
      <line num="540" type="stmt" count="60"/>
      <line num="541" type="stmt" count="60"/>
      <line num="542" type="stmt" count="60"/>
      <line num="543" type="stmt" count="60"/>
      <line num="544" type="stmt" count="60"/>
      <line num="546" type="stmt" count="60"/>
      <line num="547" type="stmt" count="60"/>
      <line num="548" type="stmt" count="60"/>
      <line num="549" type="stmt" count="60"/>
      <line num="550" type="stmt" count="60"/>
      <line num="553" type="method" name="formatStatusReasonCell" visibility="private" complexity="1" crap="1" count="60"/>
      <line num="559" type="stmt" count="60"/>
      <line num="560" type="stmt" count="60"/>
      <line num="561" type="stmt" count="60"/>
      <line num="562" type="stmt" count="60"/>
      <line num="563" type="stmt" count="60"/>
      <line num="564" type="stmt" count="60"/>
      <line num="566" type="stmt" count="60"/>
      <line num="567" type="stmt" count="60"/>
      <line num="568" type="stmt" count="60"/>
      <line num="569" type="stmt" count="60"/>
      <line num="570" type="stmt" count="60"/>
      <line num="573" type="method" name="formatActionsCell" visibility="private" complexity="7" crap="7" count="60"/>
      <line num="574" type="stmt" count="60"/>
      <line num="575" type="stmt" count="60"/>
      <line num="576" type="stmt" count="60"/>
      <line num="579" type="stmt" count="60"/>
      <line num="580" type="stmt" count="60"/>
      <line num="581" type="stmt" count="60"/>
      <line num="582" type="stmt" count="60"/>
      <line num="583" type="stmt" count="60"/>
      <line num="585" type="stmt" count="60"/>
      <line num="586" type="stmt" count="60"/>
      <line num="590" type="stmt" count="60"/>
      <line num="591" type="stmt" count="58"/>
      <line num="593" type="stmt" count="58"/>
      <line num="594" type="stmt" count="58"/>
      <line num="595" type="stmt" count="58"/>
      <line num="596" type="stmt" count="58"/>
      <line num="597" type="stmt" count="58"/>
      <line num="599" type="stmt" count="58"/>
      <line num="601" type="stmt" count="58"/>
      <line num="602" type="stmt" count="58"/>
      <line num="603" type="stmt" count="58"/>
      <line num="610" type="stmt" count="60"/>
      <line num="611" type="stmt" count="60"/>
      <line num="612" type="stmt" count="60"/>
      <line num="613" type="stmt" count="60"/>
      <line num="614" type="stmt" count="60"/>
      <line num="615" type="stmt" count="60"/>
      <line num="616" type="stmt" count="60"/>
      <line num="617" type="stmt" count="60"/>
      <line num="619" type="stmt" count="60"/>
      <line num="620" type="stmt" count="60"/>
      <line num="621" type="stmt" count="1"/>
      <line num="622" type="stmt" count="1"/>
      <line num="625" type="stmt" count="60"/>
      <line num="626" type="stmt" count="60"/>
      <line num="627" type="stmt" count="60"/>
      <line num="628" type="stmt" count="60"/>
      <line num="629" type="stmt" count="60"/>
      <line num="630" type="stmt" count="60"/>
      <line num="631" type="stmt" count="60"/>
      <line num="632" type="stmt" count="60"/>
      <line num="633" type="stmt" count="60"/>
      <line num="634" type="stmt" count="60"/>
      <line num="635" type="stmt" count="60"/>
      <line num="636" type="stmt" count="60"/>
      <line num="637" type="stmt" count="60"/>
      <line num="639" type="stmt" count="60"/>
      <line num="640" type="stmt" count="60"/>
      <line num="641" type="stmt" count="60"/>
      <line num="642" type="stmt" count="60"/>
      <line num="643" type="stmt" count="60"/>
      <line num="644" type="stmt" count="60"/>
      <line num="645" type="stmt" count="60"/>
      <line num="646" type="stmt" count="60"/>
      <line num="647" type="stmt" count="60"/>
      <line num="648" type="stmt" count="60"/>
      <line num="649" type="stmt" count="60"/>
      <line num="650" type="stmt" count="60"/>
      <line num="651" type="stmt" count="60"/>
      <line num="652" type="stmt" count="60"/>
      <line num="653" type="stmt" count="60"/>
      <line num="655" type="stmt" count="60"/>
      <line num="656" type="stmt" count="60"/>
      <line num="660" type="method" name="reallyDoQuery" visibility="public" complexity="17" crap="17" count="75"/>
      <line num="661" type="stmt" count="75"/>
      <line num="662" type="stmt" count="75"/>
      <line num="663" type="stmt" count="75"/>
      <line num="664" type="stmt" count="75"/>
      <line num="671" type="stmt" count="75"/>
      <line num="672" type="stmt" count="3"/>
      <line num="675" type="stmt" count="75"/>
      <line num="677" type="stmt" count="75"/>
      <line num="678" type="stmt" count="61"/>
      <line num="679" type="stmt" count="61"/>
      <line num="680" type="stmt" count="61"/>
      <line num="681" type="stmt" count="61"/>
      <line num="684" type="stmt" count="75"/>
      <line num="685" type="stmt" count="75"/>
      <line num="686" type="stmt" count="61"/>
      <line num="692" type="stmt" count="75"/>
      <line num="693" type="stmt" count="75"/>
      <line num="694" type="stmt" count="61"/>
      <line num="695" type="stmt" count="61"/>
      <line num="697" type="stmt" count="12"/>
      <line num="701" type="stmt" count="75"/>
      <line num="707" type="stmt" count="75"/>
      <line num="708" type="stmt" count="75"/>
      <line num="710" type="stmt" count="75"/>
      <line num="711" type="stmt" count="74"/>
      <line num="714" type="stmt" count="75"/>
      <line num="716" type="stmt" count="75"/>
      <line num="717" type="stmt" count="75"/>
      <line num="718" type="stmt" count="61"/>
      <line num="721" type="stmt" count="75"/>
      <line num="722" type="stmt" count="75"/>
      <line num="723" type="stmt" count="61"/>
      <line num="726" type="stmt" count="75"/>
      <line num="728" type="stmt" count="75"/>
      <line num="729" type="stmt" count="75"/>
      <line num="730" type="stmt" count="61"/>
      <line num="731" type="stmt" count="3"/>
      <line num="734" type="stmt" count="75"/>
      <line num="735" type="stmt" count="75"/>
      <line num="736" type="stmt" count="61"/>
      <line num="737" type="stmt" count="61"/>
      <line num="740" type="stmt" count="75"/>
      <line num="751" type="method" name="addMetadataToCases" visibility="private" complexity="4" crap="4" count="75"/>
      <line num="752" type="stmt" count="75"/>
      <line num="753" type="stmt" count="75"/>
      <line num="754" type="stmt" count="61"/>
      <line num="755" type="stmt" count="61"/>
      <line num="758" type="stmt" count="75"/>
      <line num="759" type="stmt" count="75"/>
      <line num="760" type="stmt" count="75"/>
      <line num="761" type="stmt" count="75"/>
      <line num="762" type="stmt" count="75"/>
      <line num="763" type="stmt" count="75"/>
      <line num="764" type="stmt" count="75"/>
      <line num="765" type="stmt" count="61"/>
      <line num="766" type="stmt" count="61"/>
      <line num="767" type="stmt" count="61"/>
      <line num="768" type="stmt" count="61"/>
      <line num="772" type="stmt" count="61"/>
      <line num="773" type="stmt" count="2"/>
      <line num="784" type="method" name="getDetailViewMetadata" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="785" type="stmt" count="1"/>
      <line num="789" type="method" name="preprocessResults" visibility="protected" complexity="3" crap="3" count="74"/>
      <line num="790" type="stmt" count="74"/>
      <line num="792" type="stmt" count="74"/>
      <line num="793" type="stmt" count="74"/>
      <line num="794" type="stmt" count="60"/>
      <line num="795" type="stmt" count="60"/>
      <line num="799" type="stmt" count="74"/>
      <line num="803" type="method" name="getQueryInfo" visibility="public" complexity="3" crap="3" count="75"/>
      <line num="804" type="stmt" count="75"/>
      <line num="805" type="stmt" count="75"/>
      <line num="806" type="stmt" count="75"/>
      <line num="807" type="stmt" count="75"/>
      <line num="808" type="stmt" count="75"/>
      <line num="809" type="stmt" count="75"/>
      <line num="810" type="stmt" count="75"/>
      <line num="811" type="stmt" count="75"/>
      <line num="812" type="stmt" count="75"/>
      <line num="813" type="stmt" count="75"/>
      <line num="814" type="stmt" count="75"/>
      <line num="815" type="stmt" count="75"/>
      <line num="816" type="stmt" count="75"/>
      <line num="817" type="stmt" count="75"/>
      <line num="819" type="stmt" count="75"/>
      <line num="820" type="stmt" count="2"/>
      <line num="823" type="stmt" count="75"/>
      <line num="824" type="stmt" count="4"/>
      <line num="825" type="stmt" count="4"/>
      <line num="826" type="stmt" count="4"/>
      <line num="827" type="stmt" count="4"/>
      <line num="830" type="stmt" count="75"/>
      <line num="831" type="stmt" count="75"/>
      <line num="832" type="stmt" count="75"/>
      <line num="833" type="stmt" count="75"/>
      <line num="835" type="stmt" count="75"/>
      <line num="838" type="method" name="applyCasePropertyFilters" visibility="private" complexity="2" crap="2" count="75"/>
      <line num="839" type="stmt" count="75"/>
      <line num="841" type="stmt" count="2"/>
      <line num="842" type="stmt" count="2"/>
      <line num="843" type="stmt" count="2"/>
      <line num="844" type="stmt" count="2"/>
      <line num="845" type="stmt" count="2"/>
      <line num="848" type="stmt" count="75"/>
      <line num="851" type="method" name="applyUsernameFilter" visibility="private" complexity="4" crap="4" count="75"/>
      <line num="852" type="stmt" count="75"/>
      <line num="853" type="stmt" count="70"/>
      <line num="856" type="stmt" count="5"/>
      <line num="857" type="stmt" count="5"/>
      <line num="858" type="stmt" count="5"/>
      <line num="861" type="stmt" count="5"/>
      <line num="862" type="stmt" count="4"/>
      <line num="865" type="stmt" count="5"/>
      <line num="866" type="stmt" count="5"/>
      <line num="867" type="stmt" count="5"/>
      <line num="868" type="stmt" count="5"/>
      <line num="869" type="stmt" count="5"/>
      <line num="874" type="stmt" count="5"/>
      <line num="875" type="stmt" count="3"/>
      <line num="876" type="stmt" count="3"/>
      <line num="877" type="stmt" count="3"/>
      <line num="879" type="stmt" count="2"/>
      <line num="882" type="stmt" count="5"/>
      <line num="885" type="method" name="applySignalsFilter" visibility="private" complexity="2" crap="2" count="75"/>
      <line num="886" type="stmt" count="75"/>
      <line num="887" type="stmt" count="70"/>
      <line num="889" type="stmt" count="5"/>
      <line num="890" type="stmt" count="5"/>
      <line num="891" type="stmt" count="5"/>
      <line num="892" type="stmt" count="5"/>
      <line num="893" type="stmt" count="5"/>
      <line num="894" type="stmt" count="5"/>
      <line num="896" type="stmt" count="5"/>
      <line num="898" type="stmt" count="5"/>
      <line num="901" type="method" name="applyLastUpdatedFilter" visibility="private" complexity="2" crap="2" count="75"/>
      <line num="902" type="stmt" count="75"/>
      <line num="903" type="stmt" count="69"/>
      <line num="906" type="stmt" count="6"/>
      <line num="907" type="stmt" count="6"/>
      <line num="908" type="stmt" count="6"/>
      <line num="909" type="stmt" count="6"/>
      <line num="910" type="stmt" count="6"/>
      <line num="911" type="stmt" count="6"/>
      <line num="912" type="stmt" count="6"/>
      <line num="913" type="stmt" count="6"/>
      <line num="914" type="stmt" count="6"/>
      <line num="916" type="stmt" count="6"/>
      <line num="920" type="method" name="doBatchLookups" visibility="protected" complexity="3" crap="3" count="60"/>
      <line num="921" type="stmt" count="60"/>
      <line num="922" type="stmt" count="60"/>
      <line num="923" type="stmt" count="60"/>
      <line num="925" type="stmt" count="60"/>
      <line num="926" type="stmt" count="60"/>
      <line num="927" type="stmt" count="60"/>
      <line num="928" type="stmt" count="60"/>
      <line num="932" type="stmt" count="60"/>
      <line num="939" type="method" name="querySignalsForCases" visibility="private" complexity="4" crap="4" count="75"/>
      <line num="940" type="stmt" count="75"/>
      <line num="941" type="stmt" count="14"/>
      <line num="944" type="stmt" count="61"/>
      <line num="945" type="stmt" count="61"/>
      <line num="946" type="stmt" count="61"/>
      <line num="947" type="stmt" count="61"/>
      <line num="948" type="stmt" count="61"/>
      <line num="949" type="stmt" count="61"/>
      <line num="950" type="stmt" count="61"/>
      <line num="951" type="stmt" count="61"/>
      <line num="952" type="stmt" count="61"/>
      <line num="953" type="stmt" count="61"/>
      <line num="955" type="stmt" count="61"/>
      <line num="956" type="stmt" count="61"/>
      <line num="957" type="stmt" count="61"/>
      <line num="958" type="stmt" count="61"/>
      <line num="959" type="stmt" count="61"/>
      <line num="962" type="stmt" count="61"/>
      <line num="965" type="stmt" count="61"/>
      <line num="975" type="method" name="queryPerformerUserNames" visibility="private" complexity="3" crap="3" count="75"/>
      <line num="976" type="stmt" count="75"/>
      <line num="977" type="stmt" count="72"/>
      <line num="980" type="stmt" count="3"/>
      <line num="981" type="stmt" count="3"/>
      <line num="982" type="stmt" count="3"/>
      <line num="983" type="stmt" count="3"/>
      <line num="985" type="stmt" count="3"/>
      <line num="986" type="stmt" count="3"/>
      <line num="987" type="stmt" count="3"/>
      <line num="990" type="stmt" count="3"/>
      <line num="1003" type="method" name="queryUsersForCases" visibility="private" complexity="23" crap="23" count="75"/>
      <line num="1004" type="stmt" count="75"/>
      <line num="1005" type="stmt" count="16"/>
      <line num="1008" type="stmt" count="61"/>
      <line num="1009" type="stmt" count="61"/>
      <line num="1011" type="stmt" count="61"/>
      <line num="1012" type="stmt" count="61"/>
      <line num="1013" type="stmt" count="61"/>
      <line num="1015" type="stmt" count="61"/>
      <line num="1016" type="stmt" count="61"/>
      <line num="1017" type="stmt" count="61"/>
      <line num="1018" type="stmt" count="61"/>
      <line num="1019" type="stmt" count="61"/>
      <line num="1020" type="stmt" count="61"/>
      <line num="1021" type="stmt" count="61"/>
      <line num="1022" type="stmt" count="61"/>
      <line num="1023" type="stmt" count="61"/>
      <line num="1024" type="stmt" count="61"/>
      <line num="1027" type="stmt" count="61"/>
      <line num="1028" type="stmt" count="61"/>
      <line num="1029" type="stmt" count="61"/>
      <line num="1030" type="stmt" count="61"/>
      <line num="1031" type="stmt" count="61"/>
      <line num="1033" type="stmt" count="61"/>
      <line num="1034" type="stmt" count="61"/>
      <line num="1035" type="stmt" count="61"/>
      <line num="1037" type="stmt" count="61"/>
      <line num="1038" type="stmt" count="61"/>
      <line num="1041" type="stmt" count="61"/>
      <line num="1042" type="stmt" count="61"/>
      <line num="1044" type="stmt" count="61"/>
      <line num="1045" type="stmt" count="61"/>
      <line num="1047" type="stmt" count="61"/>
      <line num="1049" type="stmt" count="61"/>
      <line num="1051" type="stmt" count="61"/>
      <line num="1052" type="stmt" count="61"/>
      <line num="1053" type="stmt" count="61"/>
      <line num="1054" type="stmt" count="61"/>
      <line num="1055" type="stmt" count="61"/>
      <line num="1056" type="stmt" count="61"/>
      <line num="1057" type="stmt" count="61"/>
      <line num="1058" type="stmt" count="61"/>
      <line num="1059" type="stmt" count="61"/>
      <line num="1060" type="stmt" count="61"/>
      <line num="1061" type="stmt" count="61"/>
      <line num="1063" type="stmt" count="61"/>
      <line num="1064" type="stmt" count="61"/>
      <line num="1065" type="stmt" count="61"/>
      <line num="1066" type="stmt" count="61"/>
      <line num="1067" type="stmt" count="61"/>
      <line num="1074" type="stmt" count="61"/>
      <line num="1076" type="stmt" count="61"/>
      <line num="1077" type="stmt" count="61"/>
      <line num="1078" type="stmt" count="3"/>
      <line num="1079" type="stmt" count="3"/>
      <line num="1080" type="stmt" count="3"/>
      <line num="1084" type="stmt" count="61"/>
      <line num="1085" type="stmt" count="61"/>
      <line num="1086" type="stmt" count="61"/>
      <line num="1088" type="stmt" count="61"/>
      <line num="1089" type="stmt" count="61"/>
      <line num="1091" type="stmt" count="61"/>
      <line num="1092" type="stmt" count="61"/>
      <line num="1093" type="stmt" count="61"/>
      <line num="1097" type="stmt" count="61"/>
      <line num="1098" type="stmt" count="61"/>
      <line num="1100" type="stmt" count="61"/>
      <line num="1102" type="stmt" count="61"/>
      <line num="1103" type="stmt" count="46"/>
      <line num="1104" type="stmt" count="9"/>
      <line num="1106" type="stmt" count="46"/>
      <line num="1107" type="stmt" count="16"/>
      <line num="1108" type="stmt" count="1"/>
      <line num="1109" type="stmt" count="1"/>
      <line num="1111" type="stmt" count="1"/>
      <line num="1112" type="stmt" count="15"/>
      <line num="1113" type="stmt" count="1"/>
      <line num="1114" type="stmt" count="1"/>
      <line num="1116" type="stmt" count="1"/>
      <line num="1118" type="stmt" count="14"/>
      <line num="1119" type="stmt" count="1"/>
      <line num="1120" type="stmt" count="1"/>
      <line num="1122" type="stmt" count="1"/>
      <line num="1125" type="stmt" count="61"/>
      <line num="1126" type="stmt" count="61"/>
      <line num="1130" type="stmt" count="61"/>
      <line num="1136" type="method" name="getDetailViewTitle" visibility="private" complexity="1" crap="1" count="60"/>
      <line num="1137" type="stmt" count="60"/>
      <line num="1146" type="method" name="getHeader" visibility="protected" complexity="4" crap="4" count="40"/>
      <line num="1147" type="stmt" count="40"/>
      <line num="1148" type="stmt" count="0"/>
      <line num="1153" type="stmt" count="40"/>
      <line num="1154" type="stmt" count="1"/>
      <line num="1155" type="stmt" count="1"/>
      <line num="1156" type="stmt" count="1"/>
      <line num="1157" type="stmt" count="1"/>
      <line num="1158" type="stmt" count="1"/>
      <line num="1159" type="stmt" count="1"/>
      <line num="1161" type="stmt" count="1"/>
      <line num="1162" type="stmt" count="1"/>
      <line num="1163" type="stmt" count="1"/>
      <line num="1164" type="stmt" count="1"/>
      <line num="1167" type="stmt" count="40"/>
      <line num="1168" type="stmt" count="1"/>
      <line num="1171" type="stmt" count="39"/>
      <line num="1172" type="stmt" count="39"/>
      <line num="1173" type="stmt" count="39"/>
      <line num="1174" type="stmt" count="39"/>
      <line num="1175" type="stmt" count="39"/>
      <line num="1177" type="stmt" count="39"/>
      <line num="1178" type="stmt" count="39"/>
      <line num="1179" type="stmt" count="39"/>
      <line num="1180" type="stmt" count="39"/>
      <line num="1181" type="stmt" count="39"/>
      <line num="1183" type="stmt" count="39"/>
      <line num="1184" type="stmt" count="39"/>
      <line num="1185" type="stmt" count="39"/>
      <line num="1186" type="stmt" count="39"/>
      <line num="1187" type="stmt" count="39"/>
      <line num="1196" type="method" name="shouldShowVisibleCaption" visibility="protected" complexity="1" crap="1" count="40"/>
      <line num="1197" type="stmt" count="40"/>
      <line num="1201" type="method" name="getTableClass" visibility="protected" complexity="2" crap="2" count="74"/>
      <line num="1202" type="stmt" count="74"/>
      <line num="1203" type="stmt" count="74"/>
      <line num="1204" type="stmt" count="74"/>
      <line num="1205" type="stmt" count="74"/>
      <line num="1206" type="stmt" count="74"/>
      <line num="1207" type="stmt" count="1"/>
      <line num="1209" type="stmt" count="74"/>
      <line num="1213" type="method" name="getFullOutput" visibility="public" complexity="1" crap="1" count="40"/>
      <line num="1214" type="stmt" count="40"/>
      <line num="1215" type="stmt" count="40"/>
      <line num="1216" type="stmt" count="40"/>
      <line num="1217" type="stmt" count="40"/>
      <line num="1218" type="stmt" count="40"/>
      <line num="1219" type="stmt" count="40"/>
      <line num="1220" type="stmt" count="40"/>
      <line num="1221" type="stmt" count="40"/>
      <line num="1222" type="stmt" count="40"/>
      <line num="1223" type="stmt" count="40"/>
      <line num="1224" type="stmt" count="40"/>
      <line num="1225" type="stmt" count="40"/>
      <line num="1226" type="stmt" count="40"/>
      <line num="1227" type="stmt" count="40"/>
      <line num="1228" type="stmt" count="40"/>
      <line num="1229" type="stmt" count="40"/>
      <line num="1230" type="stmt" count="40"/>
      <line num="1231" type="stmt" count="40"/>
      <line num="1232" type="stmt" count="40"/>
      <line num="1233" type="stmt" count="40"/>
      <line num="1234" type="stmt" count="40"/>
      <line num="1235" type="stmt" count="40"/>
      <line num="1236" type="stmt" count="40"/>
      <line num="1237" type="stmt" count="40"/>
      <line num="1238" type="stmt" count="40"/>
      <line num="1239" type="stmt" count="40"/>
      <line num="1240" type="stmt" count="40"/>
      <line num="1244" type="method" name="isFieldSortable" visibility="protected" complexity="3" crap="3" count="74"/>
      <line num="1247" type="stmt" count="74"/>
      <line num="1248" type="stmt" count="2"/>
      <line num="1251" type="stmt" count="73"/>
      <line num="1252" type="stmt" count="73"/>
      <line num="1256" type="method" name="getDefaultSort" visibility="public" complexity="1" crap="1" count="76"/>
      <line num="1257" type="stmt" count="76"/>
      <line num="1261" type="method" name="getDefaultDirections" visibility="protected" complexity="1" crap="1" count="76"/>
      <line num="1262" type="stmt" count="76"/>
      <line num="1266" type="method" name="getIndexField" visibility="public" complexity="1" crap="1" count="76"/>
      <line num="1267" type="stmt" count="76"/>
      <line num="1271" type="method" name="getFieldNames" visibility="protected" complexity="1" crap="1" count="76"/>
      <line num="1272" type="stmt" count="76"/>
      <line num="1273" type="stmt" count="76"/>
      <line num="1274" type="stmt" count="76"/>
      <line num="1275" type="stmt" count="76"/>
      <line num="1276" type="stmt" count="76"/>
      <line num="1277" type="stmt" count="76"/>
      <line num="1278" type="stmt" count="76"/>
      <line num="1279" type="stmt" count="76"/>
      <line num="1283" type="method" name="getModuleStyles" visibility="public" complexity="1" crap="1" count="74"/>
      <line num="1284" type="stmt" count="74"/>
      <line num="1285" type="stmt" count="74"/>
      <line num="1286" type="stmt" count="74"/>
      <line num="1287" type="stmt" count="74"/>
      <line num="1290" type="method" name="createNavigationBuilder" visibility="protected" complexity="1" crap="1" count="39"/>
      <line num="1291" type="stmt" count="39"/>
      <line num="1292" type="stmt" count="39"/>
      <line num="1293" type="stmt" count="39"/>
      <line num="1294" type="stmt" count="39"/>
      <line num="1295" type="stmt" count="39"/>
      <line num="1296" type="stmt" count="39"/>
      <line num="1297" type="stmt" count="39"/>
      <line num="1300" type="method" name="prepareQueryValuesForNavigationBuilder" visibility="private" complexity="6" crap="6" count="39"/>
      <line num="1302" type="stmt" count="39"/>
      <line num="1303" type="stmt" count="39"/>
      <line num="1304" type="stmt" count="39"/>
      <line num="1305" type="stmt" count="27"/>
      <line num="1306" type="stmt" count="27"/>
      <line num="1307" type="stmt" count="27"/>
      <line num="1309" type="stmt" count="1"/>
      <line num="1310" type="stmt" count="1"/>
      <line num="1313" type="stmt" count="1"/>
      <line num="1314" type="stmt" count="1"/>
      <line num="1315" type="stmt" count="1"/>
      <line num="1317" type="stmt" count="1"/>
      <line num="1318" type="stmt" count="1"/>
      <line num="1321" type="stmt" count="39"/>
      <line num="1327" type="method" name="getNavigationBuilder" visibility="public" complexity="1" crap="1" count="39"/>
      <line num="1329" type="stmt" count="39"/>
      <line num="1332" type="method" name="getQueueViewButtonsHtml" visibility="private" complexity="13" crap="13.15" count="39"/>
      <line num="1333" type="stmt" count="39"/>
      <line num="1334" type="stmt" count="39"/>
      <line num="1335" type="stmt" count="39"/>
      <line num="1336" type="stmt" count="39"/>
      <line num="1339" type="stmt" count="39"/>
      <line num="1340" type="stmt" count="39"/>
      <line num="1341" type="stmt" count="39"/>
      <line num="1342" type="stmt" count="39"/>
      <line num="1344" type="stmt" count="39"/>
      <line num="1345" type="stmt" count="39"/>
      <line num="1346" type="stmt" count="0"/>
      <line num="1347" type="stmt" count="0"/>
      <line num="1349" type="stmt" count="39"/>
      <line num="1352" type="stmt" count="39"/>
      <line num="1353" type="stmt" count="39"/>
      <line num="1355" type="stmt" count="30"/>
      <line num="1356" type="stmt" count="6"/>
      <line num="1357" type="stmt" count="6"/>
      <line num="1363" type="stmt" count="26"/>
      <line num="1364" type="stmt" count="26"/>
      <line num="1365" type="stmt" count="26"/>
      <line num="1366" type="stmt" count="26"/>
      <line num="1367" type="stmt" count="26"/>
      <line num="1368" type="stmt" count="26"/>
      <line num="1370" type="stmt" count="26"/>
      <line num="1371" type="stmt" count="0"/>
      <line num="1372" type="stmt" count="0"/>
      <line num="1374" type="stmt" count="39"/>
      <line num="1376" type="stmt" count="9"/>
      <line num="1377" type="stmt" count="9"/>
      <line num="1382" type="stmt" count="39"/>
      <line num="1383" type="stmt" count="39"/>
      <line num="1384" type="stmt" count="39"/>
      <line num="1385" type="stmt" count="39"/>
      <line num="1386" type="stmt" count="39"/>
      <line num="1387" type="stmt" count="39"/>
      <line num="1388" type="stmt" count="39"/>
      <line num="1389" type="stmt" count="39"/>
      <line num="1390" type="stmt" count="39"/>
      <line num="1391" type="stmt" count="39"/>
      <line num="1392" type="stmt" count="39"/>
      <line num="1394" type="stmt" count="39"/>
      <metrics loc="1397" ncloc="1167" classes="1" methods="41" coveredmethods="36" conditionals="0" coveredconditionals="0" statements="712" coveredstatements="702" elements="753" coveredelements="738"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Pagers/SuggestedInvestigationsPagerFactory.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Pagers\SuggestedInvestigationsPagerFactory" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="38" coveredelements="38"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="72" type="method" name="createRevisionPager" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <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="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" 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="102" type="method" name="createCasesPager" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <metrics loc="138" ncloc="109" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="38" coveredelements="38"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Pagers/SuggestedInvestigationsRevisionsPager.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Pagers\SuggestedInvestigationsRevisionsPager" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="39" coveredelements="39"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="39" type="stmt" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="43" type="stmt" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <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="58" type="stmt" count="2"/>
      <line num="63" type="method" name="getRevisionQuery" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="2"/>
      <line num="66" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="80" type="method" name="getIndexField" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <metrics loc="88" ncloc="83" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="39" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/CompositeBlockChecker.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\CompositeBlockChecker" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="18" coveredelements="18"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="13" type="stmt" count="6"/>
      <line num="21" type="method" name="getUserIdsNotBlocked" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="22" type="stmt" count="3"/>
      <line num="23" type="stmt" count="3"/>
      <line num="24" type="stmt" count="2"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="1"/>
      <line num="31" type="stmt" count="2"/>
      <line num="40" type="method" name="getUserIdsBlocked" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="50" type="stmt" count="3"/>
      <metrics loc="53" ncloc="40" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="18" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/CompositeIndefiniteBlockChecker.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\CompositeIndefiniteBlockChecker" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="8" elements="12" coveredelements="10"/>
      </class>
      <line num="12" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="13" type="stmt" count="3"/>
      <line num="22" type="method" name="getUserIdsNotIndefinitelyBlocked" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="23" type="stmt" count="3"/>
      <line num="24" type="stmt" count="3"/>
      <line num="25" type="stmt" count="2"/>
      <line num="26" type="stmt" count="2"/>
      <line num="27" type="stmt" count="2"/>
      <line num="28" type="stmt" count="1"/>
      <line num="32" type="stmt" count="2"/>
      <line num="40" type="method" name="getUnblockedUserIds" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <metrics loc="54" ncloc="35" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="8" elements="12" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsAutoCloseCrossWikiJobDispatcher.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsAutoCloseCrossWikiJobDispatcher" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="21" coveredelements="19"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="21" type="stmt" count="3"/>
      <line num="27" type="method" name="dispatch" visibility="public" complexity="5" crap="5.00" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <line num="29" type="stmt" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="37" type="stmt" count="2"/>
      <line num="39" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="0"/>
      <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="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <metrics loc="58" ncloc="54" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="21" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsCaseLookupService.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsCaseLookupService" namespace="global">
        <metrics complexity="32" methods="16" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="163" coveredstatements="163" elements="179" coveredelements="179"/>
      </class>
      <line num="49" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="56"/>
      <line num="56" type="stmt" count="56"/>
      <line num="69" type="method" name="getMergeableCasesForSignal" visibility="public" complexity="2" crap="2" count="9"/>
      <line num="73" type="stmt" count="9"/>
      <line num="75" type="stmt" count="9"/>
      <line num="76" type="stmt" count="1"/>
      <line num="79" type="stmt" count="8"/>
      <line num="82" type="stmt" count="8"/>
      <line num="83" type="stmt" count="8"/>
      <line num="84" type="stmt" count="8"/>
      <line num="85" type="stmt" count="8"/>
      <line num="86" type="stmt" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <line num="88" type="stmt" count="8"/>
      <line num="89" type="stmt" count="8"/>
      <line num="90" type="stmt" count="8"/>
      <line num="91" type="stmt" count="8"/>
      <line num="92" type="stmt" count="8"/>
      <line num="93" type="stmt" count="8"/>
      <line num="95" type="stmt" count="8"/>
      <line num="109" type="method" name="getCasesForSignal" visibility="public" complexity="4" crap="4" count="16"/>
      <line num="113" type="stmt" count="16"/>
      <line num="115" type="stmt" count="15"/>
      <line num="116" type="stmt" count="1"/>
      <line num="119" type="stmt" count="14"/>
      <line num="120" type="stmt" count="1"/>
      <line num="123" type="stmt" count="13"/>
      <line num="126" type="stmt" count="13"/>
      <line num="127" type="stmt" count="13"/>
      <line num="128" type="stmt" count="13"/>
      <line num="129" type="stmt" count="13"/>
      <line num="130" type="stmt" count="13"/>
      <line num="131" type="stmt" count="13"/>
      <line num="132" type="stmt" count="13"/>
      <line num="133" type="stmt" count="13"/>
      <line num="134" type="stmt" count="13"/>
      <line num="135" type="stmt" count="13"/>
      <line num="138" type="stmt" count="13"/>
      <line num="139" type="stmt" count="10"/>
      <line num="140" type="stmt" count="10"/>
      <line num="141" type="stmt" count="10"/>
      <line num="144" type="stmt" count="13"/>
      <line num="154" type="method" name="getCaseIdForUrlIdentifier" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="155" type="stmt" count="3"/>
      <line num="156" type="stmt" count="1"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="179" type="method" name="getUserIdsInCase" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="180" type="stmt" count="22"/>
      <line num="182" type="stmt" count="22"/>
      <line num="184" type="stmt" count="22"/>
      <line num="185" type="stmt" count="22"/>
      <line num="186" type="stmt" count="22"/>
      <line num="187" type="stmt" count="22"/>
      <line num="188" type="stmt" count="22"/>
      <line num="189" type="stmt" count="22"/>
      <line num="191" type="stmt" count="22"/>
      <line num="200" type="method" name="getUsersInCase" visibility="public" complexity="1" crap="1" count="20"/>
      <line num="201" type="stmt" count="20"/>
      <line num="202" type="stmt" count="20"/>
      <line num="204" type="stmt" count="20"/>
      <line num="205" type="stmt" count="20"/>
      <line num="206" type="stmt" count="20"/>
      <line num="207" type="stmt" count="20"/>
      <line num="216" type="method" name="getOpenCaseIdsForUser" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="217" type="stmt" count="5"/>
      <line num="219" type="stmt" count="5"/>
      <line num="221" type="stmt" count="5"/>
      <line num="222" type="stmt" count="5"/>
      <line num="223" type="stmt" count="5"/>
      <line num="224" type="stmt" count="5"/>
      <line num="225" type="stmt" count="5"/>
      <line num="226" type="stmt" count="5"/>
      <line num="227" type="stmt" count="5"/>
      <line num="228" type="stmt" count="5"/>
      <line num="229" type="stmt" count="5"/>
      <line num="230" type="stmt" count="5"/>
      <line num="232" type="stmt" count="5"/>
      <line num="241" type="method" name="isUserInAnyCase" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="242" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="2"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="259" type="method" name="getCaseStatus" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="260" type="stmt" count="4"/>
      <line num="262" type="stmt" count="4"/>
      <line num="264" type="stmt" count="4"/>
      <line num="265" type="stmt" count="4"/>
      <line num="266" type="stmt" count="4"/>
      <line num="267" type="stmt" count="4"/>
      <line num="268" type="stmt" count="4"/>
      <line num="269" type="stmt" count="4"/>
      <line num="271" type="stmt" count="4"/>
      <line num="272" type="stmt" count="1"/>
      <line num="275" type="stmt" count="3"/>
      <line num="285" type="method" name="getCaseObjectsFromRows" visibility="private" complexity="4" crap="4" count="16"/>
      <line num="286" type="stmt" count="16"/>
      <line num="287" type="stmt" count="16"/>
      <line num="288" type="stmt" count="13"/>
      <line num="289" type="stmt" count="13"/>
      <line num="290" type="stmt" count="1"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="293" type="stmt" count="1"/>
      <line num="294" type="stmt" count="1"/>
      <line num="297" type="stmt" count="12"/>
      <line num="298" type="stmt" count="12"/>
      <line num="299" type="stmt" count="12"/>
      <line num="300" type="stmt" count="12"/>
      <line num="301" type="stmt" count="12"/>
      <line num="302" type="stmt" count="12"/>
      <line num="303" type="stmt" count="12"/>
      <line num="306" type="stmt" count="16"/>
      <line num="316" type="method" name="getUserIdsWithCases" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="317" type="stmt" count="5"/>
      <line num="319" type="stmt" count="4"/>
      <line num="320" type="stmt" count="1"/>
      <line num="323" type="stmt" count="3"/>
      <line num="325" type="stmt" count="3"/>
      <line num="326" type="stmt" count="3"/>
      <line num="327" type="stmt" count="3"/>
      <line num="328" type="stmt" count="3"/>
      <line num="329" type="stmt" count="3"/>
      <line num="330" type="stmt" count="3"/>
      <line num="332" type="stmt" count="3"/>
      <line num="333" type="stmt" count="2"/>
      <line num="334" type="stmt" count="2"/>
      <line num="335" type="stmt" count="2"/>
      <line num="336" type="stmt" count="2"/>
      <line num="337" type="stmt" count="2"/>
      <line num="338" type="stmt" count="2"/>
      <line num="339" type="stmt" count="2"/>
      <line num="340" type="stmt" count="2"/>
      <line num="342" type="stmt" count="2"/>
      <line num="345" type="stmt" count="3"/>
      <line num="349" type="method" name="getDatabase" visibility="private" complexity="2" crap="2" count="42"/>
      <line num="350" type="stmt" count="42"/>
      <line num="351" type="stmt" count="5"/>
      <line num="353" type="stmt" count="42"/>
      <line num="367" type="method" name="getScopedLockForSignal" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="372" type="stmt" count="6"/>
      <line num="373" type="stmt" count="6"/>
      <line num="374" type="stmt" count="6"/>
      <line num="376" type="stmt" count="6"/>
      <line num="377" type="stmt" count="6"/>
      <line num="378" type="stmt" count="6"/>
      <line num="380" type="stmt" count="6"/>
      <line num="386" type="method" name="areSuggestedInvestigationsEnabled" visibility="public" complexity="1" crap="1" count="45"/>
      <line num="387" type="stmt" count="45"/>
      <line num="394" type="method" name="assertSuggestedInvestigationsEnabled" visibility="public" complexity="2" crap="2" count="43"/>
      <line num="395" type="stmt" count="43"/>
      <line num="396" type="stmt" count="2"/>
      <line num="408" type="method" name="assertCasesExist" visibility="public" complexity="2" crap="2" count="22"/>
      <line num="409" type="stmt" count="22"/>
      <line num="410" type="stmt" count="22"/>
      <line num="411" type="stmt" count="22"/>
      <line num="412" type="stmt" count="22"/>
      <line num="413" type="stmt" count="22"/>
      <line num="414" type="stmt" count="22"/>
      <line num="415" type="stmt" count="22"/>
      <line num="416" type="stmt" count="22"/>
      <line num="417" type="stmt" count="22"/>
      <line num="418" type="stmt" count="22"/>
      <line num="420" type="stmt" count="22"/>
      <line num="421" type="stmt" count="1"/>
      <line num="422" type="stmt" count="1"/>
      <line num="423" type="stmt" count="1"/>
      <metrics loc="427" ncloc="308" classes="1" methods="16" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="163" coveredstatements="163" elements="179" coveredelements="179"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsCaseManagerService.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsCaseManagerService" namespace="global">
        <metrics complexity="34" methods="16" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="208" coveredstatements="204" elements="224" coveredelements="217"/>
      </class>
      <line num="67" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="24"/>
      <line num="74" type="stmt" count="24"/>
      <line num="90" type="method" name="createCase" visibility="public" complexity="4" crap="4" count="24"/>
      <line num="91" type="stmt" count="24"/>
      <line num="92" type="stmt" count="24"/>
      <line num="93" type="stmt" count="1"/>
      <line num="95" type="stmt" count="23"/>
      <line num="96" type="stmt" count="2"/>
      <line num="99" type="stmt" count="21"/>
      <line num="102" type="stmt" count="21"/>
      <line num="104" type="stmt" count="21"/>
      <line num="106" type="stmt" count="21"/>
      <line num="107" type="stmt" count="21"/>
      <line num="108" type="stmt" count="21"/>
      <line num="109" type="stmt" count="21"/>
      <line num="110" type="stmt" count="21"/>
      <line num="111" type="stmt" count="21"/>
      <line num="112" type="stmt" count="21"/>
      <line num="113" type="stmt" count="21"/>
      <line num="114" type="stmt" count="21"/>
      <line num="115" type="stmt" count="21"/>
      <line num="118" type="stmt" count="21"/>
      <line num="119" type="stmt" count="21"/>
      <line num="121" type="stmt" count="20"/>
      <line num="122" type="stmt" count="20"/>
      <line num="123" type="stmt" count="20"/>
      <line num="125" type="stmt" count="20"/>
      <line num="126" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="132" type="stmt" count="20"/>
      <line num="133" type="stmt" count="20"/>
      <line num="134" type="stmt" count="20"/>
      <line num="135" type="stmt" count="20"/>
      <line num="136" type="stmt" count="20"/>
      <line num="137" type="stmt" count="20"/>
      <line num="138" type="stmt" count="20"/>
      <line num="139" type="stmt" count="20"/>
      <line num="140" type="stmt" count="20"/>
      <line num="141" type="stmt" count="20"/>
      <line num="142" type="stmt" count="20"/>
      <line num="144" type="stmt" count="20"/>
      <line num="156" type="method" name="addUsersToCase" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="175" type="method" name="updateCase" visibility="public" complexity="6" crap="6" count="5"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="1"/>
      <line num="183" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="185" type="stmt" count="4"/>
      <line num="186" type="stmt" count="4"/>
      <line num="188" type="stmt" count="4"/>
      <line num="190" type="stmt" count="4"/>
      <line num="191" 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="199" type="stmt" count="4"/>
      <line num="200" type="stmt" count="4"/>
      <line num="202" type="stmt" count="4"/>
      <line num="203" type="stmt" count="4"/>
      <line num="204" type="stmt" count="4"/>
      <line num="205" type="stmt" count="4"/>
      <line num="206" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="210" type="stmt" count="4"/>
      <line num="211" type="stmt" count="4"/>
      <line num="212" type="stmt" count="4"/>
      <line num="214" type="stmt" count="4"/>
      <line num="215" type="stmt" count="4"/>
      <line num="216" type="stmt" count="4"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" type="stmt" count="4"/>
      <line num="222" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="225" type="stmt" count="4"/>
      <line num="228" type="stmt" count="4"/>
      <line num="229" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="4"/>
      <line num="232" type="stmt" count="4"/>
      <line num="251" type="method" name="setCaseStatus" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="257" type="stmt" count="7"/>
      <line num="258" 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="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="270" type="stmt" count="7"/>
      <line num="271" type="stmt" count="7"/>
      <line num="272" type="stmt" count="7"/>
      <line num="273" type="stmt" count="7"/>
      <line num="274" type="stmt" count="7"/>
      <line num="275" type="stmt" count="7"/>
      <line num="276" type="stmt" count="7"/>
      <line num="277" type="stmt" count="7"/>
      <line num="278" type="stmt" count="7"/>
      <line num="281" type="stmt" count="7"/>
      <line num="282" type="stmt" count="7"/>
      <line num="283" type="stmt" count="7"/>
      <line num="284" type="stmt" count="7"/>
      <line num="285" type="stmt" count="7"/>
      <line num="286" type="stmt" count="7"/>
      <line num="288" type="stmt" count="7"/>
      <line num="289" type="stmt" count="4"/>
      <line num="292" type="stmt" count="7"/>
      <line num="293" type="stmt" count="7"/>
      <line num="294" type="stmt" count="7"/>
      <line num="295" type="stmt" count="7"/>
      <line num="296" type="stmt" count="7"/>
      <line num="305" type="method" name="addUsersToCaseInternal" visibility="private" complexity="4" crap="4" count="21"/>
      <line num="306" type="stmt" count="21"/>
      <line num="310" type="stmt" count="21"/>
      <line num="311" type="stmt" count="21"/>
      <line num="312" type="stmt" count="21"/>
      <line num="313" type="stmt" count="21"/>
      <line num="316" type="stmt" count="21"/>
      <line num="319" type="stmt" count="21"/>
      <line num="320" type="stmt" count="21"/>
      <line num="321" type="stmt" count="21"/>
      <line num="322" type="stmt" count="21"/>
      <line num="323" type="stmt" count="21"/>
      <line num="324" type="stmt" count="21"/>
      <line num="325" type="stmt" count="21"/>
      <line num="326" type="stmt" count="21"/>
      <line num="327" type="stmt" count="21"/>
      <line num="328" type="stmt" count="21"/>
      <line num="329" type="stmt" count="21"/>
      <line num="330" type="stmt" count="21"/>
      <line num="331" type="stmt" count="21"/>
      <line num="332" type="stmt" count="21"/>
      <line num="333" type="stmt" count="21"/>
      <line num="343" type="method" name="addSignalsToCaseInternal" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="344" type="stmt" count="21"/>
      <line num="347" type="stmt" count="21"/>
      <line num="348" type="stmt" count="21"/>
      <line num="349" type="stmt" count="21"/>
      <line num="350" type="stmt" count="21"/>
      <line num="351" type="stmt" count="21"/>
      <line num="352" type="stmt" count="21"/>
      <line num="353" type="stmt" count="21"/>
      <line num="355" type="stmt" count="20"/>
      <line num="356" type="stmt" count="20"/>
      <line num="357" type="stmt" count="20"/>
      <line num="358" type="stmt" count="20"/>
      <line num="359" type="stmt" count="20"/>
      <line num="360" type="stmt" count="20"/>
      <line num="371" type="method" name="getTriggerTypeByDatabaseTable" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="372" type="stmt" count="21"/>
      <line num="373" type="stmt" count="20"/>
      <line num="376" type="stmt" count="2"/>
      <line num="377" type="stmt" count="2"/>
      <line num="387" type="method" name="generateUrlIdentifier" visibility="protected" complexity="1" crap="1" count="19"/>
      <line num="388" type="stmt" count="19"/>
      <line num="401" type="method" name="generateUniqueUrlIdentifier" visibility="public" complexity="2" crap="2.00" count="21"/>
      <line num="402" type="stmt" count="21"/>
      <line num="403" type="stmt" count="0"/>
      <line num="405" type="stmt" count="21"/>
      <line num="409" type="stmt" count="21"/>
      <line num="411" type="stmt" count="21"/>
      <line num="412" type="stmt" count="21"/>
      <line num="413" type="stmt" count="21"/>
      <line num="414" type="stmt" count="21"/>
      <line num="415" type="stmt" count="21"/>
      <line num="416" type="stmt" count="21"/>
      <line num="417" type="stmt" count="21"/>
      <line num="419" type="stmt" count="21"/>
      <line num="430" type="method" name="getMaxInteger" visibility="private" complexity="1" crap="1" count="19"/>
      <line num="431" type="stmt" count="19"/>
      <line num="432" type="stmt" count="19"/>
      <line num="433" type="stmt" count="19"/>
      <line num="434" type="stmt" count="19"/>
      <line num="443" type="method" name="updateCasesUpdatedAtTimestamps" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="444" type="stmt" count="2"/>
      <line num="446" type="stmt" count="2"/>
      <line num="447" type="stmt" count="0"/>
      <line num="450" type="stmt" count="2"/>
      <line num="452" type="stmt" count="1"/>
      <line num="453" 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="458" type="stmt" count="1"/>
      <line num="465" type="stmt" count="1"/>
      <line num="466" type="stmt" count="1"/>
      <line num="467" type="stmt" count="1"/>
      <line num="468" type="stmt" count="1"/>
      <line num="469" type="stmt" count="1"/>
      <line num="470" type="stmt" count="1"/>
      <line num="471" type="stmt" count="1"/>
      <line num="472" type="stmt" count="1"/>
      <line num="473" type="stmt" count="1"/>
      <line num="478" type="method" name="getPrimaryDatabase" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="479" type="stmt" count="21"/>
      <line num="483" type="method" name="getReplicaDatabase" visibility="private" complexity="1" crap="1" count="21"/>
      <line num="484" type="stmt" count="21"/>
      <line num="493" type="method" name="getSignalNamesInCase" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="494" type="stmt" count="4"/>
      <line num="495" type="stmt" count="4"/>
      <line num="496" type="stmt" count="4"/>
      <line num="497" type="stmt" count="4"/>
      <line num="498" type="stmt" count="4"/>
      <line num="499" type="stmt" count="4"/>
      <line num="500" type="stmt" count="4"/>
      <line num="501" type="stmt" count="4"/>
      <line num="512" type="method" name="convertUsersToCaseUsers" visibility="private" complexity="2" crap="2" count="21"/>
      <line num="513" type="stmt" count="21"/>
      <line num="514" type="stmt" count="21"/>
      <line num="515" type="stmt" count="3"/>
      <line num="518" type="stmt" count="20"/>
      <line num="519" type="stmt" count="21"/>
      <metrics loc="522" ncloc="364" classes="1" methods="16" coveredmethods="13" conditionals="0" coveredconditionals="0" statements="208" coveredstatements="204" elements="224" coveredelements="217"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsCasePropertyManagerService.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsCasePropertyManagerService" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="39" elements="46" coveredelements="43"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="30" type="stmt" count="3"/>
      <line num="37" type="method" name="updatePropertiesForCases" visibility="public" complexity="4" crap="4.06" count="3"/>
      <line num="41" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="46" type="stmt" count="3"/>
      <line num="49" type="stmt" count="3"/>
      <line num="51" type="stmt" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="3"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="3"/>
      <line num="68" type="method" name="updateEditRelatedPropertiesForCasesWithUsers" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" 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="78" type="stmt" count="1"/>
      <line num="87" type="method" name="updateEditRelatedPropertiesForCases" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="92" type="method" name="updateCountOfEditsOnSharedPages" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <metrics loc="114" ncloc="91" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="39" elements="46" coveredelements="43"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsMessageRenderer.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsMessageRenderer" namespace="global">
        <metrics complexity="11" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="50" elements="72" coveredelements="54"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="38" type="method" name="getOpenCasesNotice" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="43" type="stmt" count="5"/>
      <line num="44" type="stmt" count="1"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="3"/>
      <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="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="63" type="method" name="getUserNamesWithOpenCases" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="1"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="1"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="79" type="method" name="buildLinkOrForm" visibility="private" complexity="2" crap="2.00" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="stmt" count="0"/>
      <line num="98" type="method" name="buildForm" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" 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="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="125" type="method" name="getUserDismissableWarning" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <metrics loc="153" ncloc="134" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="50" elements="72" coveredelements="54"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsRelatedCasesLookup.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsRelatedCasesLookup" namespace="global">
        <metrics complexity="18" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="99" elements="103" coveredelements="103"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="26" type="stmt" count="8"/>
      <line num="35" type="method" name="getCasesRelatedToCases" visibility="public" complexity="12" crap="12" count="8"/>
      <line num="36" type="stmt" count="8"/>
      <line num="37" type="stmt" count="1"/>
      <line num="44" type="stmt" count="7"/>
      <line num="45" type="stmt" count="7"/>
      <line num="46" type="stmt" count="7"/>
      <line num="47" type="stmt" count="7"/>
      <line num="50" type="stmt" count="7"/>
      <line num="52" type="stmt" count="7"/>
      <line num="53" type="stmt" count="7"/>
      <line num="54" type="stmt" count="7"/>
      <line num="55" type="stmt" count="7"/>
      <line num="57" type="stmt" count="7"/>
      <line num="58" type="stmt" count="7"/>
      <line num="59" type="stmt" count="7"/>
      <line num="61" type="stmt" count="6"/>
      <line num="62" type="stmt" count="5"/>
      <line num="63" type="stmt" count="5"/>
      <line num="64" type="stmt" count="5"/>
      <line num="71" type="stmt" count="7"/>
      <line num="72" type="stmt" count="7"/>
      <line num="73" type="stmt" count="7"/>
      <line num="74" type="stmt" count="5"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="4"/>
      <line num="84" type="stmt" count="5"/>
      <line num="87" type="stmt" count="7"/>
      <line num="88" type="stmt" count="7"/>
      <line num="89" type="stmt" count="2"/>
      <line num="92" type="stmt" count="7"/>
      <line num="100" type="method" name="getCasesWithUsers" visibility="private" complexity="2" crap="2" count="7"/>
      <line num="101" type="stmt" count="7"/>
      <line num="102" type="stmt" count="7"/>
      <line num="104" type="stmt" count="7"/>
      <line num="105" type="stmt" count="7"/>
      <line num="106" type="stmt" count="7"/>
      <line num="108" type="stmt" count="7"/>
      <line num="109" type="stmt" count="7"/>
      <line num="110" type="stmt" count="7"/>
      <line num="111" type="stmt" count="7"/>
      <line num="112" type="stmt" count="7"/>
      <line num="113" type="stmt" count="7"/>
      <line num="114" type="stmt" count="7"/>
      <line num="115" type="stmt" count="7"/>
      <line num="116" type="stmt" count="7"/>
      <line num="117" type="stmt" count="7"/>
      <line num="118" type="stmt" count="7"/>
      <line num="119" type="stmt" count="7"/>
      <line num="120" type="stmt" count="7"/>
      <line num="121" type="stmt" count="7"/>
      <line num="122" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="7"/>
      <line num="125" type="stmt" count="7"/>
      <line num="126" type="stmt" count="7"/>
      <line num="127" type="stmt" count="7"/>
      <line num="128" type="stmt" count="7"/>
      <line num="129" type="stmt" count="7"/>
      <line num="130" type="stmt" count="7"/>
      <line num="131" type="stmt" count="7"/>
      <line num="133" type="stmt" count="7"/>
      <line num="134" type="stmt" count="7"/>
      <line num="135" type="stmt" count="7"/>
      <line num="136" type="stmt" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="140" type="stmt" count="7"/>
      <line num="148" type="method" name="getSignalsInCases" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="149" type="stmt" count="7"/>
      <line num="150" type="stmt" count="2"/>
      <line num="153" type="stmt" count="5"/>
      <line num="154" type="stmt" count="5"/>
      <line num="156" type="stmt" count="5"/>
      <line num="157" type="stmt" count="5"/>
      <line num="158" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="162" type="stmt" count="5"/>
      <line num="163" type="stmt" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="167" type="stmt" count="5"/>
      <line num="168" type="stmt" count="5"/>
      <line num="169" type="stmt" count="5"/>
      <line num="170" type="stmt" count="5"/>
      <line num="171" type="stmt" count="5"/>
      <line num="172" type="stmt" count="5"/>
      <line num="173" type="stmt" count="5"/>
      <line num="174" type="stmt" count="5"/>
      <line num="175" type="stmt" count="5"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="181" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="184" type="stmt" count="5"/>
      <line num="186" type="stmt" count="5"/>
      <metrics loc="189" ncloc="158" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="99" elements="103" coveredelements="103"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsSharedPagesLookup.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsSharedPagesLookup" namespace="global">
        <metrics complexity="31" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="148" coveredstatements="148" elements="153" coveredelements="153"/>
      </class>
      <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="52" type="stmt" count="12"/>
      <line num="54" type="stmt" count="12"/>
      <line num="63" type="method" name="getSharedPagesForCases" visibility="public" complexity="8" crap="8" count="12"/>
      <line num="65" type="stmt" count="12"/>
      <line num="66" type="stmt" count="12"/>
      <line num="67" type="stmt" count="11"/>
      <line num="68" type="stmt" count="11"/>
      <line num="71" type="stmt" count="12"/>
      <line num="74" type="stmt" count="12"/>
      <line num="75" type="stmt" count="12"/>
      <line num="79" type="stmt" count="12"/>
      <line num="80" type="stmt" count="12"/>
      <line num="81" type="stmt" count="12"/>
      <line num="82" type="stmt" count="12"/>
      <line num="83" type="stmt" count="12"/>
      <line num="84" type="stmt" count="12"/>
      <line num="86" type="stmt" count="11"/>
      <line num="87" type="stmt" count="11"/>
      <line num="88" type="stmt" count="11"/>
      <line num="89" type="stmt" count="11"/>
      <line num="90" type="stmt" count="11"/>
      <line num="92" type="stmt" count="11"/>
      <line num="93" type="stmt" count="11"/>
      <line num="95" type="stmt" count="11"/>
      <line num="98" type="stmt" count="11"/>
      <line num="99" type="stmt" count="11"/>
      <line num="100" type="stmt" count="11"/>
      <line num="101" type="stmt" count="11"/>
      <line num="105" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="114" type="stmt" count="12"/>
      <line num="115" type="stmt" count="12"/>
      <line num="116" type="stmt" count="12"/>
      <line num="117" type="stmt" count="11"/>
      <line num="118" type="stmt" count="11"/>
      <line num="119" type="stmt" count="11"/>
      <line num="120" type="stmt" count="11"/>
      <line num="121" type="stmt" count="11"/>
      <line num="122" type="stmt" count="11"/>
      <line num="123" type="stmt" count="11"/>
      <line num="124" type="stmt" count="11"/>
      <line num="125" type="stmt" count="12"/>
      <line num="126" type="stmt" count="12"/>
      <line num="127" type="stmt" count="12"/>
      <line num="138" type="method" name="getUndeletedPagesEditedByUsers" visibility="private" complexity="6" crap="6" count="12"/>
      <line num="139" type="stmt" count="12"/>
      <line num="140" type="stmt" count="12"/>
      <line num="143" type="stmt" count="12"/>
      <line num="144" type="stmt" count="11"/>
      <line num="145" type="stmt" count="11"/>
      <line num="146" type="stmt" count="11"/>
      <line num="147" type="stmt" count="11"/>
      <line num="149" type="stmt" count="11"/>
      <line num="150" type="stmt" count="11"/>
      <line num="151" type="stmt" count="11"/>
      <line num="152" type="stmt" count="11"/>
      <line num="153" type="stmt" count="11"/>
      <line num="154" type="stmt" count="11"/>
      <line num="155" type="stmt" count="11"/>
      <line num="156" type="stmt" count="11"/>
      <line num="157" type="stmt" count="11"/>
      <line num="158" type="stmt" count="11"/>
      <line num="161" type="stmt" count="11"/>
      <line num="162" type="stmt" count="10"/>
      <line num="163" type="stmt" count="10"/>
      <line num="164" type="stmt" count="10"/>
      <line num="165" type="stmt" count="10"/>
      <line num="166" type="stmt" count="10"/>
      <line num="169" type="stmt" count="10"/>
      <line num="172" type="stmt" count="10"/>
      <line num="175" type="stmt" count="10"/>
      <line num="179" type="stmt" count="10"/>
      <line num="180" type="stmt" count="10"/>
      <line num="182" type="stmt" count="10"/>
      <line num="186" type="stmt" count="11"/>
      <line num="187" type="stmt" count="10"/>
      <line num="188" type="stmt" count="10"/>
      <line num="189" type="stmt" count="10"/>
      <line num="190" type="stmt" count="10"/>
      <line num="191" type="stmt" count="10"/>
      <line num="192" type="stmt" count="10"/>
      <line num="193" type="stmt" count="10"/>
      <line num="194" type="stmt" count="10"/>
      <line num="209" type="method" name="getDeletedPagesEditedByUsers" visibility="private" complexity="6" crap="6" count="12"/>
      <line num="210" type="stmt" count="12"/>
      <line num="211" type="stmt" count="12"/>
      <line num="215" type="stmt" count="12"/>
      <line num="216" type="stmt" count="11"/>
      <line num="217" type="stmt" count="11"/>
      <line num="218" type="stmt" count="11"/>
      <line num="219" type="stmt" count="11"/>
      <line num="221" type="stmt" count="11"/>
      <line num="222" type="stmt" count="11"/>
      <line num="223" type="stmt" count="11"/>
      <line num="224" type="stmt" count="11"/>
      <line num="225" type="stmt" count="11"/>
      <line num="226" type="stmt" count="11"/>
      <line num="227" type="stmt" count="11"/>
      <line num="228" type="stmt" count="11"/>
      <line num="229" type="stmt" count="11"/>
      <line num="232" type="stmt" count="11"/>
      <line num="233" type="stmt" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <line num="235" type="stmt" count="2"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="252" type="stmt" count="11"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="258" type="stmt" count="2"/>
      <line num="259" type="stmt" count="2"/>
      <line num="260" type="stmt" count="2"/>
      <line num="275" type="method" name="buildSummaryForCase" visibility="private" complexity="10" crap="10" count="11"/>
      <line num="283" type="stmt" count="11"/>
      <line num="284" type="stmt" count="11"/>
      <line num="285" type="stmt" count="11"/>
      <line num="288" type="stmt" count="11"/>
      <line num="289" type="stmt" count="2"/>
      <line num="292" type="stmt" count="9"/>
      <line num="293" type="stmt" count="9"/>
      <line num="294" type="stmt" count="9"/>
      <line num="296" type="stmt" count="9"/>
      <line num="297" type="stmt" count="9"/>
      <line num="298" type="stmt" count="9"/>
      <line num="299" type="stmt" count="9"/>
      <line num="300" type="stmt" count="9"/>
      <line num="301" type="stmt" count="3"/>
      <line num="304" type="stmt" count="9"/>
      <line num="305" type="stmt" count="9"/>
      <line num="306" type="stmt" count="9"/>
      <line num="308" type="stmt" count="9"/>
      <line num="311" type="stmt" count="9"/>
      <line num="312" type="stmt" count="9"/>
      <line num="314" type="stmt" count="9"/>
      <line num="315" type="stmt" count="9"/>
      <line num="317" type="stmt" count="9"/>
      <line num="318" type="stmt" count="9"/>
      <line num="322" type="stmt" count="9"/>
      <line num="323" type="stmt" count="9"/>
      <line num="324" type="stmt" count="9"/>
      <line num="325" type="stmt" count="9"/>
      <line num="326" type="stmt" count="9"/>
      <line num="327" type="stmt" count="9"/>
      <line num="328" type="stmt" count="9"/>
      <metrics loc="331" ncloc="254" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="148" coveredstatements="148" elements="153" coveredelements="153"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsSignalMatchService.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsSignalMatchService" namespace="global">
        <metrics complexity="19" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="67" coveredelements="67"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="45" type="stmt" count="18"/>
      <line num="70" type="method" name="matchSignalsAgainstUser" visibility="public" complexity="6" crap="6" count="18"/>
      <line num="73" type="stmt" count="18"/>
      <line num="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="17"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="stmt" count="16"/>
      <line num="83" type="stmt" count="16"/>
      <line num="84" type="stmt" count="16"/>
      <line num="85" type="stmt" count="16"/>
      <line num="86" type="stmt" count="16"/>
      <line num="87" type="stmt" count="16"/>
      <line num="88" type="stmt" count="16"/>
      <line num="90" type="stmt" count="16"/>
      <line num="92" type="stmt" count="13"/>
      <line num="93" type="stmt" count="2"/>
      <line num="96" type="stmt" count="11"/>
      <line num="97" type="stmt" count="11"/>
      <line num="98" type="stmt" count="11"/>
      <line num="99" type="stmt" count="11"/>
      <line num="101" type="stmt" count="11"/>
      <line num="102" type="stmt" count="7"/>
      <line num="104" type="stmt" count="4"/>
      <line num="108" type="stmt" count="15"/>
      <line num="117" type="method" name="processMergeableSignal" visibility="private" complexity="4" crap="4" count="7"/>
      <line num="122" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="139" type="stmt" count="6"/>
      <line num="140" type="stmt" count="6"/>
      <line num="141" type="stmt" count="1"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="5"/>
      <line num="146" type="stmt" count="2"/>
      <line num="148" type="stmt" count="3"/>
      <line num="155" type="method" name="createNewCase" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="159" type="stmt" count="6"/>
      <line num="160" type="stmt" count="6"/>
      <line num="161" type="stmt" count="6"/>
      <line num="162" type="stmt" count="6"/>
      <line num="163" type="stmt" count="6"/>
      <line num="164" type="stmt" count="6"/>
      <line num="165" type="stmt" count="6"/>
      <line num="166" type="stmt" count="6"/>
      <line num="167" type="stmt" count="6"/>
      <line num="168" type="stmt" count="6"/>
      <line num="178" type="method" name="updateCases" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="183" type="stmt" count="3"/>
      <line num="184" type="stmt" count="3"/>
      <line num="188" type="method" name="bumpCaseTimestampForUserIfFirstEdit" visibility="private" complexity="5" crap="5" count="15"/>
      <line num="193" type="stmt" count="15"/>
      <line num="196" type="stmt" count="15"/>
      <line num="197" type="stmt" count="15"/>
      <line num="198" type="stmt" count="15"/>
      <line num="200" type="stmt" count="13"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <metrics loc="210" ncloc="160" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="61" elements="67" coveredelements="67"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsTrigger.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsTrigger" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="19" coveredelements="19"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="36" type="method" name="matchSignalsAgainstUserInJob" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="41" type="stmt" count="7"/>
      <line num="42" type="stmt" count="7"/>
      <line num="45" type="stmt" 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="59" type="method" name="getRequestHeaders" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" type="stmt" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="5"/>
      <line num="68" type="stmt" count="7"/>
      <metrics loc="71" ncloc="55" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="19" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsUserLinkRenderer.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsUserLinkRenderer" namespace="global">
        <metrics complexity="58" methods="19" coveredmethods="18" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="187" elements="207" coveredelements="205"/>
      </class>
      <line num="62" type="method" name="__construct" visibility="public" complexity="3" crap="3" count="33"/>
      <line num="73" type="stmt" count="33"/>
      <line num="74" type="stmt" count="33"/>
      <line num="75" type="stmt" count="33"/>
      <line num="76" type="stmt" count="33"/>
      <line num="92" type="method" name="makeUserLinkLine" visibility="public" complexity="2" crap="2" count="28"/>
      <line num="98" type="stmt" count="28"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="106" type="stmt" count="27"/>
      <line num="108" type="stmt" count="27"/>
      <line num="109" type="stmt" count="27"/>
      <line num="110" type="stmt" count="27"/>
      <line num="111" type="stmt" count="27"/>
      <line num="112" type="stmt" count="27"/>
      <line num="113" type="stmt" count="27"/>
      <line num="114" type="stmt" count="27"/>
      <line num="115" type="stmt" count="27"/>
      <line num="116" type="stmt" count="27"/>
      <line num="117" type="stmt" count="27"/>
      <line num="118" type="stmt" count="27"/>
      <line num="119" type="stmt" count="27"/>
      <line num="120" type="stmt" count="27"/>
      <line num="121" type="stmt" count="27"/>
      <line num="123" type="stmt" count="27"/>
      <line num="124" type="stmt" count="27"/>
      <line num="125" type="stmt" count="27"/>
      <line num="127" type="stmt" count="27"/>
      <line num="128" type="stmt" count="27"/>
      <line num="129" type="stmt" count="27"/>
      <line num="132" type="method" name="makeContributionsLink" visibility="private" complexity="7" crap="7" count="27"/>
      <line num="138" type="stmt" count="27"/>
      <line num="139" type="stmt" count="27"/>
      <line num="141" type="stmt" count="27"/>
      <line num="143" type="stmt" count="22"/>
      <line num="146" type="stmt" count="27"/>
      <line num="147" type="stmt" count="4"/>
      <line num="149" type="stmt" count="23"/>
      <line num="150" type="stmt" count="23"/>
      <line num="151" type="stmt" count="23"/>
      <line num="155" type="stmt" count="27"/>
      <line num="156" type="stmt" count="23"/>
      <line num="157" type="stmt" count="23"/>
      <line num="160" type="stmt" count="23"/>
      <line num="161" type="stmt" count="23"/>
      <line num="163" type="stmt" count="2"/>
      <line num="164" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="168" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="2"/>
      <line num="175" type="stmt" count="27"/>
      <line num="176" type="stmt" count="27"/>
      <line num="177" type="stmt" count="27"/>
      <line num="178" type="stmt" count="27"/>
      <line num="179" type="stmt" count="27"/>
      <line num="182" type="method" name="makePastChecksLink" visibility="private" complexity="3" crap="3" count="27"/>
      <line num="190" type="stmt" count="27"/>
      <line num="191" type="stmt" count="27"/>
      <line num="193" type="stmt" count="24"/>
      <line num="196" type="stmt" count="4"/>
      <line num="197" type="stmt" count="4"/>
      <line num="198" type="stmt" count="4"/>
      <line num="199" type="stmt" count="4"/>
      <line num="200" type="stmt" count="4"/>
      <line num="201" type="stmt" count="4"/>
      <line num="202" type="stmt" count="4"/>
      <line num="205" type="method" name="makeCheckUserLink" visibility="private" complexity="4" crap="4" count="27"/>
      <line num="212" type="stmt" count="27"/>
      <line num="213" type="stmt" count="3"/>
      <line num="218" type="stmt" count="24"/>
      <line num="219" type="stmt" count="24"/>
      <line num="220" type="stmt" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="228" type="stmt" count="24"/>
      <line num="229" type="stmt" count="24"/>
      <line num="230" type="stmt" count="24"/>
      <line num="231" type="stmt" count="24"/>
      <line num="232" type="stmt" count="24"/>
      <line num="233" type="stmt" count="24"/>
      <line num="234" type="stmt" count="24"/>
      <line num="235" type="stmt" count="24"/>
      <line num="238" type="method" name="makePreviousCasesLink" visibility="private" complexity="2" crap="2" count="27"/>
      <line num="245" type="stmt" count="27"/>
      <line num="246" type="stmt" count="27"/>
      <line num="247" type="stmt" count="26"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="260" type="method" name="makeAbuseLogLink" visibility="private" complexity="2" crap="2" count="27"/>
      <line num="266" type="stmt" count="27"/>
      <line num="267" type="stmt" count="27"/>
      <line num="268" type="stmt" count="26"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="286" type="method" name="getUserEditCount" visibility="public" complexity="2" crap="2" count="27"/>
      <line num="287" type="stmt" count="27"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="4"/>
      <line num="290" type="stmt" count="4"/>
      <line num="292" type="stmt" count="23"/>
      <line num="299" type="method" name="isUserVisible" visibility="public" complexity="3" crap="3" count="29"/>
      <line num="300" type="stmt" count="29"/>
      <line num="301" type="stmt" count="22"/>
      <line num="303" type="stmt" count="7"/>
      <line num="304" type="stmt" count="6"/>
      <line num="306" type="stmt" count="7"/>
      <line num="309" type="method" name="getCaseCountForUser" visibility="private" complexity="2" crap="2" count="28"/>
      <line num="310" type="stmt" count="28"/>
      <line num="311" type="stmt" count="1"/>
      <line num="313" type="stmt" count="28"/>
      <line num="316" type="method" name="hasUserBeenChecked" visibility="private" complexity="2" crap="2" count="25"/>
      <line num="317" type="stmt" count="25"/>
      <line num="318" type="stmt" count="5"/>
      <line num="320" type="stmt" count="25"/>
      <line num="323" type="method" name="getFilterHitCountForUser" visibility="private" complexity="2" crap="2" count="28"/>
      <line num="324" type="stmt" count="28"/>
      <line num="325" type="stmt" count="1"/>
      <line num="327" type="stmt" count="28"/>
      <line num="331" type="method" name="getRevertedRevisionsForUser" visibility="private" complexity="2" crap="2" count="23"/>
      <line num="332" type="stmt" count="23"/>
      <line num="333" type="stmt" count="18"/>
      <line num="335" type="stmt" count="23"/>
      <line num="339" type="method" name="getRevertedDeletedRevisionsForUser" visibility="private" complexity="2" crap="2.15" count="23"/>
      <line num="340" type="stmt" count="23"/>
      <line num="341" type="stmt" count="0"/>
      <line num="343" type="stmt" count="23"/>
      <line num="356" type="method" name="preloadEditCounts" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="357" type="stmt" count="3"/>
      <line num="358" type="stmt" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="363" type="stmt" count="2"/>
      <line num="375" type="method" name="preloadNonEditingData" visibility="public" complexity="8" crap="8" count="33"/>
      <line num="376" type="stmt" count="33"/>
      <line num="378" type="stmt" count="33"/>
      <line num="379" type="stmt" count="32"/>
      <line num="381" type="stmt" count="33"/>
      <line num="382" type="stmt" count="32"/>
      <line num="384" type="stmt" count="33"/>
      <line num="385" type="stmt" count="32"/>
      <line num="388" type="stmt" count="33"/>
      <line num="389" type="stmt" count="33"/>
      <line num="390" type="stmt" count="32"/>
      <line num="394" type="stmt" count="33"/>
      <line num="395" type="stmt" count="29"/>
      <line num="396" type="stmt" count="29"/>
      <line num="397" type="stmt" count="28"/>
      <line num="400" type="stmt" count="29"/>
      <line num="401" type="stmt" count="29"/>
      <line num="402" type="stmt" count="28"/>
      <line num="411" type="method" name="queryCaseCountsForUsers" visibility="private" complexity="5" crap="5" count="33"/>
      <line num="412" type="stmt" count="33"/>
      <line num="413" type="stmt" count="1"/>
      <line num="415" type="stmt" count="32"/>
      <line num="416" type="stmt" count="32"/>
      <line num="417" type="stmt" count="32"/>
      <line num="418" type="stmt" count="32"/>
      <line num="419" type="stmt" count="32"/>
      <line num="420" type="stmt" count="32"/>
      <line num="421" type="stmt" count="32"/>
      <line num="422" type="stmt" count="32"/>
      <line num="423" type="stmt" count="32"/>
      <line num="424" type="stmt" count="32"/>
      <line num="426" type="stmt" count="32"/>
      <line num="427" type="stmt" count="9"/>
      <line num="430" type="stmt" count="32"/>
      <line num="437" type="method" name="queryUserHiddenStatus" visibility="private" complexity="2" crap="2" count="33"/>
      <line num="438" type="stmt" count="33"/>
      <line num="439" type="stmt" count="33"/>
      <line num="441" type="stmt" count="32"/>
      <line num="442" type="stmt" count="32"/>
      <line num="444" type="stmt" count="33"/>
      <line num="451" type="method" name="queryPastChecks" visibility="private" complexity="3" crap="3" count="33"/>
      <line num="452" type="stmt" count="33"/>
      <line num="453" type="stmt" count="33"/>
      <line num="454" type="stmt" count="32"/>
      <line num="455" type="stmt" count="32"/>
      <line num="456" type="stmt" count="32"/>
      <line num="457" type="stmt" count="32"/>
      <line num="458" type="stmt" count="32"/>
      <line num="459" type="stmt" count="32"/>
      <line num="461" type="stmt" count="32"/>
      <line num="462" type="stmt" count="7"/>
      <line num="465" type="stmt" count="33"/>
      <metrics loc="468" ncloc="385" classes="1" methods="19" coveredmethods="18" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="187" elements="207" coveredelements="205"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Services/SuggestedInvestigationsUserRevisionLookup.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Services\SuggestedInvestigationsUserRevisionLookup" namespace="global">
        <metrics complexity="26" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="128" coveredstatements="128" elements="133" coveredelements="133"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="44" type="stmt" count="6"/>
      <line num="45" type="stmt" count="6"/>
      <line num="55" type="method" name="getRevertedRevisionCountsByUsersForCases" visibility="public" complexity="6" crap="6" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <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="76" 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="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" 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="93" type="stmt" count="1"/>
      <line num="103" type="method" name="getDeletedRevisionCountsByUsersForCases" visibility="public" complexity="6" crap="6" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="145" type="method" name="getAllRevisionCountsByUsers" visibility="public" complexity="11" crap="11" count="2"/>
      <line num="146" type="stmt" count="2"/>
      <line num="147" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="150" type="stmt" count="2"/>
      <line num="151" type="stmt" count="2"/>
      <line num="153" type="stmt" count="1"/>
      <line num="155" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="157" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="2"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="2"/>
      <line num="183" type="stmt" count="2"/>
      <line num="184" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="191" type="stmt" count="2"/>
      <line num="192" type="stmt" count="2"/>
      <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="199" type="stmt" count="2"/>
      <line num="200" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="209" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <line num="212" type="stmt" count="2"/>
      <line num="216" type="stmt" count="2"/>
      <line num="223" type="method" name="isFirstEditByUser" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="224" type="stmt" count="4"/>
      <line num="225" type="stmt" count="4"/>
      <line num="227" type="stmt" count="4"/>
      <line num="228" type="stmt" count="4"/>
      <line num="229" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="4"/>
      <line num="232" type="stmt" count="4"/>
      <line num="233" type="stmt" count="4"/>
      <line num="234" type="stmt" count="4"/>
      <line num="235" type="stmt" count="4"/>
      <line num="236" type="stmt" count="4"/>
      <line num="238" type="stmt" count="4"/>
      <line num="239" type="stmt" count="1"/>
      <line num="242" type="stmt" count="3"/>
      <line num="243" type="stmt" count="3"/>
      <line num="244" type="stmt" count="3"/>
      <line num="245" type="stmt" count="3"/>
      <line num="246" type="stmt" count="3"/>
      <line num="247" type="stmt" count="3"/>
      <line num="248" type="stmt" count="3"/>
      <line num="249" type="stmt" count="3"/>
      <line num="250" type="stmt" count="3"/>
      <line num="251" type="stmt" count="3"/>
      <line num="253" type="stmt" count="3"/>
      <metrics loc="256" ncloc="209" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="128" coveredstatements="128" elements="133" coveredelements="133"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/Signals/SuggestedInvestigationsSignalMatchResult.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\Signals\SuggestedInvestigationsSignalMatchResult" namespace="global">
        <metrics complexity="17" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="45" coveredelements="45"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="private" complexity="1" crap="1" count="11"/>
      <line num="25" type="stmt" count="11"/>
      <line num="48" type="method" name="newPositiveResult" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="57" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="74" type="method" name="newNegativeResult" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="75" type="stmt" count="7"/>
      <line num="81" type="method" name="isMatch" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="82" type="stmt" count="5"/>
      <line num="91" type="method" name="getName" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="92" type="stmt" count="5"/>
      <line num="100" type="method" name="getValue" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="102" type="stmt" count="1"/>
      <line num="104" type="stmt" count="4"/>
      <line num="119" type="method" name="valueMatchAllowsMerging" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="120" type="stmt" count="5"/>
      <line num="121" type="stmt" count="1"/>
      <line num="123" type="stmt" count="4"/>
      <line num="133" type="method" name="getEquivalentNamesForMerging" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="134" type="stmt" count="5"/>
      <line num="135" type="stmt" count="1"/>
      <line num="137" type="stmt" count="4"/>
      <line num="150" type="method" name="getTriggerId" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="151" type="stmt" count="5"/>
      <line num="152" type="stmt" count="1"/>
      <line num="154" type="stmt" count="4"/>
      <line num="163" type="method" name="getTriggerIdTable" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="164" type="stmt" count="5"/>
      <line num="165" type="stmt" count="1"/>
      <line num="167" type="stmt" count="4"/>
      <line num="178" type="method" name="getUserInfoBitFlags" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="184" type="stmt" count="4"/>
      <metrics loc="197" ncloc="105" classes="1" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="34" elements="45" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/SuggestedInvestigations/SpecialSuggestedInvestigations.php">
      <class name="MediaWiki\Extension\CheckUser\SuggestedInvestigations\SpecialSuggestedInvestigations" namespace="global">
        <metrics complexity="43" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="214" coveredstatements="212" elements="223" coveredelements="219"/>
      </class>
      <line num="57" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="23"/>
      <line num="65" type="stmt" count="23"/>
      <line num="69" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="23"/>
      <line num="70" type="stmt" count="23"/>
      <line num="74" type="method" name="execute" visibility="public" complexity="14" crap="14" count="23"/>
      <line num="76" type="stmt" count="23"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="21"/>
      <line num="82" type="stmt" count="21"/>
      <line num="83" type="stmt" count="2"/>
      <line num="86" type="stmt" count="19"/>
      <line num="88" type="stmt" count="19"/>
      <line num="89" type="stmt" count="19"/>
      <line num="91" type="stmt" count="19"/>
      <line num="93" type="stmt" count="19"/>
      <line num="94" type="stmt" count="19"/>
      <line num="95" type="stmt" count="19"/>
      <line num="96" type="stmt" count="19"/>
      <line num="97" type="stmt" count="19"/>
      <line num="98" type="stmt" count="19"/>
      <line num="100" type="stmt" count="19"/>
      <line num="101" type="stmt" count="19"/>
      <line num="102" type="stmt" count="19"/>
      <line num="103" type="stmt" count="19"/>
      <line num="104" type="stmt" count="19"/>
      <line num="108" type="stmt" count="19"/>
      <line num="109" type="stmt" count="19"/>
      <line num="110" type="stmt" count="19"/>
      <line num="111" type="stmt" count="19"/>
      <line num="112" type="stmt" count="19"/>
      <line num="113" type="stmt" count="5"/>
      <line num="115" type="stmt" count="19"/>
      <line num="116" type="stmt" count="19"/>
      <line num="117" type="stmt" count="19"/>
      <line num="118" type="stmt" count="19"/>
      <line num="119" type="stmt" count="18"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="19"/>
      <line num="123" type="stmt" count="19"/>
      <line num="124" type="stmt" count="5"/>
      <line num="126" type="stmt" count="14"/>
      <line num="128" type="stmt" count="19"/>
      <line num="131" type="stmt" count="19"/>
      <line num="132" type="stmt" count="19"/>
      <line num="133" type="stmt" count="19"/>
      <line num="134" type="stmt" count="19"/>
      <line num="135" type="stmt" count="19"/>
      <line num="136" type="stmt" count="19"/>
      <line num="137" type="stmt" count="19"/>
      <line num="138" type="stmt" count="19"/>
      <line num="139" type="stmt" count="5"/>
      <line num="141" type="stmt" count="19"/>
      <line num="142" type="stmt" count="19"/>
      <line num="143" type="stmt" count="19"/>
      <line num="144" type="stmt" count="19"/>
      <line num="145" type="stmt" count="19"/>
      <line num="147" type="stmt" count="19"/>
      <line num="148" type="stmt" count="19"/>
      <line num="149" type="stmt" count="19"/>
      <line num="150" type="stmt" count="19"/>
      <line num="152" type="stmt" count="19"/>
      <line num="154" type="stmt" count="5"/>
      <line num="155" type="stmt" count="5"/>
      <line num="156" type="stmt" count="5"/>
      <line num="157" type="stmt" count="5"/>
      <line num="160" type="stmt" count="5"/>
      <line num="161" type="stmt" count="5"/>
      <line num="172" type="method" name="addSharedPagesEditsSection" visibility="private" complexity="9" crap="9" count="5"/>
      <line num="176" type="stmt" count="5"/>
      <line num="177" type="stmt" count="5"/>
      <line num="178" type="stmt" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="stmt" count="5"/>
      <line num="188" type="stmt" count="5"/>
      <line num="189" type="stmt" count="3"/>
      <line num="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="195" type="stmt" count="2"/>
      <line num="196" type="stmt" count="2"/>
      <line num="197" type="stmt" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="200" type="stmt" count="2"/>
      <line num="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="207" type="stmt" count="2"/>
      <line num="210" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <line num="212" type="stmt" count="2"/>
      <line num="213" type="stmt" count="2"/>
      <line num="214" type="stmt" count="2"/>
      <line num="215" type="stmt" count="2"/>
      <line num="220" type="stmt" count="2"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="1"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="240" type="stmt" count="2"/>
      <line num="247" type="method" name="parseSubPage" visibility="protected" complexity="6" crap="6" count="21"/>
      <line num="248" type="stmt" count="21"/>
      <line num="249" type="stmt" count="21"/>
      <line num="251" type="stmt" count="21"/>
      <line num="252" type="stmt" count="21"/>
      <line num="253" type="stmt" count="6"/>
      <line num="254" type="stmt" count="6"/>
      <line num="255" type="stmt" count="6"/>
      <line num="256" type="stmt" count="6"/>
      <line num="257" type="stmt" count="5"/>
      <line num="259" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="1"/>
      <line num="265" type="stmt" count="15"/>
      <line num="266" type="stmt" count="1"/>
      <line num="267" type="stmt" count="1"/>
      <line num="271" type="stmt" count="21"/>
      <line num="272" type="stmt" count="2"/>
      <line num="273" type="stmt" count="2"/>
      <line num="274" type="stmt" count="2"/>
      <line num="275" type="stmt" count="2"/>
      <line num="276" type="stmt" count="2"/>
      <line num="277" type="stmt" count="2"/>
      <line num="278" type="stmt" count="2"/>
      <line num="279" type="stmt" count="2"/>
      <line num="281" type="stmt" count="2"/>
      <line num="284" type="stmt" count="19"/>
      <line num="293" type="method" name="outputHeader" visibility="protected" complexity="3" crap="3" count="19"/>
      <line num="294" type="stmt" count="19"/>
      <line num="295" type="stmt" count="19"/>
      <line num="296" type="stmt" count="19"/>
      <line num="297" type="stmt" count="19"/>
      <line num="298" type="stmt" count="18"/>
      <line num="299" type="stmt" count="18"/>
      <line num="300" type="stmt" count="18"/>
      <line num="301" type="stmt" count="18"/>
      <line num="302" type="stmt" count="18"/>
      <line num="303" type="stmt" count="18"/>
      <line num="306" type="stmt" count="19"/>
      <line num="307" type="stmt" count="5"/>
      <line num="308" type="stmt" count="5"/>
      <line num="309" type="stmt" count="5"/>
      <line num="311" type="stmt" count="14"/>
      <line num="313" type="stmt" count="19"/>
      <line num="314" type="stmt" count="19"/>
      <line num="315" type="stmt" count="19"/>
      <line num="316" type="stmt" count="19"/>
      <line num="317" type="stmt" count="19"/>
      <line num="319" type="stmt" count="19"/>
      <line num="320" type="stmt" count="19"/>
      <line num="321" type="stmt" count="19"/>
      <line num="322" type="stmt" count="19"/>
      <line num="323" type="stmt" count="19"/>
      <line num="324" type="stmt" count="19"/>
      <line num="325" type="stmt" count="19"/>
      <line num="326" type="stmt" count="19"/>
      <line num="327" type="stmt" count="19"/>
      <line num="328" type="stmt" count="19"/>
      <line num="329" type="stmt" count="19"/>
      <line num="330" type="stmt" count="19"/>
      <line num="331" type="stmt" count="19"/>
      <line num="332" type="stmt" count="19"/>
      <line num="333" type="stmt" count="19"/>
      <line num="334" type="stmt" count="19"/>
      <line num="335" type="stmt" count="19"/>
      <line num="336" type="stmt" count="19"/>
      <line num="338" type="stmt" count="19"/>
      <line num="339" type="stmt" count="19"/>
      <line num="340" type="stmt" count="19"/>
      <line num="341" type="stmt" count="19"/>
      <line num="342" type="stmt" count="19"/>
      <line num="344" type="stmt" count="19"/>
      <line num="348" type="method" name="getDescription" visibility="public" complexity="2" crap="2" count="21"/>
      <line num="349" type="stmt" count="21"/>
      <line num="350" type="stmt" count="5"/>
      <line num="351" type="stmt" count="5"/>
      <line num="353" type="stmt" count="16"/>
      <line num="369" type="method" name="getNavigationLinks" visibility="private" complexity="3" crap="3" count="19"/>
      <line num="370" type="stmt" count="19"/>
      <line num="371" type="stmt" count="19"/>
      <line num="372" type="stmt" count="19"/>
      <line num="373" type="stmt" count="19"/>
      <line num="375" type="stmt" count="19"/>
      <line num="376" type="stmt" count="19"/>
      <line num="379" type="stmt" count="19"/>
      <line num="380" type="stmt" count="5"/>
      <line num="383" type="stmt" count="19"/>
      <line num="389" type="method" name="addNavigationLinks" visibility="private" complexity="3" crap="3" count="19"/>
      <line num="390" type="stmt" count="19"/>
      <line num="392" type="stmt" count="19"/>
      <line num="393" type="stmt" count="19"/>
      <line num="394" type="stmt" count="19"/>
      <line num="395" type="stmt" count="19"/>
      <line num="396" type="stmt" count="19"/>
      <line num="397" type="stmt" count="19"/>
      <line num="398" type="stmt" count="19"/>
      <line num="399" type="stmt" count="19"/>
      <line num="400" type="stmt" count="19"/>
      <line num="401" type="stmt" count="19"/>
      <line num="402" type="stmt" count="19"/>
      <line num="405" type="stmt" count="19"/>
      <line num="406" type="stmt" count="19"/>
      <line num="407" type="stmt" count="19"/>
      <line num="408" type="stmt" count="19"/>
      <line num="409" type="stmt" count="19"/>
      <metrics loc="413" ncloc="345" classes="1" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="214" coveredstatements="212" elements="223" coveredelements="219"/>
    </file>
    <file name="/workspace/src/extensions/CheckUser/src/ToolLinksMessages.php">
      <class name="MediaWiki\Extension\CheckUser\ToolLinksMessages" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="19" type="method" name="getParsedMessage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <metrics loc="27" ncloc="20" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <metrics files="212" loc="40216" ncloc="31739" classes="189" methods="1136" coveredmethods="1017" conditionals="0" coveredconditionals="0" statements="15745" coveredstatements="15051" elements="16881" coveredelements="16068"/>
  </project>
</coverage>
