<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1791586336">
  <project timestamp="1791586336">
    <file name="/workspace/src/extensions/Translate/maintenance/find-deleted-translations.php">
      <line num="5" type="stmt" count="0"/>
      <line num="6" type="stmt" count="0"/>
      <metrics loc="7" ncloc="7" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/maintenance/refresh-translation-progress-stats.php">
      <line num="5" type="stmt" count="0"/>
      <line num="6" type="stmt" count="0"/>
      <metrics loc="7" ncloc="7" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/maintenance/remove-redundant-message-group-metadata.php">
      <line num="5" type="stmt" count="0"/>
      <line num="6" type="stmt" count="0"/>
      <metrics loc="7" ncloc="7" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/maintenance/update-config-names.php">
      <line num="5" type="stmt" count="0"/>
      <line num="6" type="stmt" count="0"/>
      <metrics loc="7" ncloc="7" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Build/UpdateConfigNamesMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Build\UpdateConfigNamesMaintenanceScript" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="31" coveredelements="0"/>
      </class>
      <line num="48" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="76" type="method" name="generateConstantName" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="87" type="method" name="formatDescription" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="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="105" type="stmt" count="0"/>
      <metrics loc="108" ncloc="89" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="31" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Cache/PersistentCache.php">
      <metrics loc="28" ncloc="25" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Cache/PersistentCacheEntry.php">
      <class name="MediaWiki\Extension\Translate\Cache\PersistentCacheEntry" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="25" coveredelements="23"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="4" crap="4" count="18"/>
      <line num="37" type="stmt" count="18"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="43" type="stmt" count="17"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="49" type="stmt" count="16"/>
      <line num="50" type="stmt" count="16"/>
      <line num="51" type="stmt" count="16"/>
      <line num="52" type="stmt" count="16"/>
      <line num="55" type="method" name="key" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="56" type="stmt" count="16"/>
      <line num="60" type="method" name="value" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="61" type="stmt" count="16"/>
      <line num="64" type="method" name="exptime" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="65" type="stmt" count="16"/>
      <line num="68" type="method" name="tag" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="69" type="stmt" count="16"/>
      <line num="72" type="method" name="hasExpired" visibility="public" complexity="2" crap="2.15" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="77" type="stmt" count="0"/>
      <metrics loc="80" ncloc="66" classes="1" methods="6" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="25" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Cache/PersistentDatabaseCache.php">
      <class name="MediaWiki\Extension\Translate\Cache\PersistentDatabaseCache" namespace="global">
        <metrics complexity="14" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="87" coveredstatements="87" elements="98" coveredelements="98"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="24" type="stmt" count="18"/>
      <line num="27" type="method" name="get" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="28" type="stmt" count="8"/>
      <line num="29" type="stmt" 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="33" type="stmt" count="8"/>
      <line num="34" type="stmt" count="8"/>
      <line num="36" type="stmt" count="8"/>
      <line num="40" type="method" name="getByTag" visibility="public" complexity="1" crap="1" 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="52" type="method" name="has" visibility="public" complexity="1" crap="1" 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="61" type="stmt" count="1"/>
      <line num="64" type="method" name="hasEntryWithTag" visibility="public" complexity="1" crap="1" 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="73" type="stmt" count="3"/>
      <line num="76" type="method" name="set" visibility="public" complexity="2" crap="2" count="16"/>
      <line num="77" type="stmt" count="16"/>
      <line num="79" type="stmt" count="16"/>
      <line num="80" type="stmt" count="16"/>
      <line num="81" type="stmt" count="16"/>
      <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="89" type="stmt" count="16"/>
      <line num="90" type="stmt" count="16"/>
      <line num="91" type="stmt" count="16"/>
      <line num="92" type="stmt" count="16"/>
      <line num="93" type="stmt" count="16"/>
      <line num="94" type="stmt" count="16"/>
      <line num="95" type="stmt" count="16"/>
      <line num="96" type="stmt" count="16"/>
      <line num="97" type="stmt" count="16"/>
      <line num="101" type="method" name="setExpiry" visibility="public" complexity="1" crap="1" 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="method" name="delete" visibility="public" complexity="1" crap="1" 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="120" type="method" name="deleteEntriesWithTag" visibility="public" complexity="1" crap="1" 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="129" type="method" name="clear" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="130" type="stmt" count="18"/>
      <line num="131" 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="139" type="method" name="buildEntries" visibility="private" complexity="3" crap="3" count="12"/>
      <line num="140" type="stmt" count="12"/>
      <line num="141" type="stmt" count="12"/>
      <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="150" type="stmt" count="12"/>
      <metrics loc="153" ncloc="144" classes="1" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="87" coveredstatements="87" elements="98" coveredelements="98"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/ConfigNames.php">
      <class name="MediaWiki\Extension\Translate\ConfigNames" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="317" ncloc="89" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/DeleteEqualTranslationsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\DeleteEqualTranslationsMaintenanceScript" namespace="global">
        <metrics complexity="17" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="0" elements="86" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="48" type="stmt" count="0"/>
      <line num="52" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="81" type="method" name="getEqualMessages" visibility="private" complexity="3" crap="12" 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="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="method" name="getUserStats" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" 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="107" type="stmt" count="0"/>
      <line num="110" type="method" name="printUserStats" visibility="private" complexity="2" crap="6" 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="118" type="method" name="printMessages" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="130" type="method" name="deleteMessages" visibility="private" complexity="3" crap="12" 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="135" 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="144" 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"/>
      <metrics loc="153" ncloc="142" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="0" elements="86" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/FindDeletedTranslationsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\FindDeletedTranslationsMaintenanceScript" namespace="global">
        <metrics complexity="11" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="60" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="method" name="execute" visibility="public" complexity="10" crap="110" 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="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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <metrics loc="111" ncloc="98" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="60" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/FindUnsynchronizedDefinitionsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\FindUnsynchronizedDefinitionsMaintenanceScript" namespace="global">
        <metrics complexity="14" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="72" coveredstatements="0" elements="76" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="method" name="execute" visibility="public" complexity="8" crap="72" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" 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="73" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="91" type="method" name="getGroups" visibility="private" complexity="3" crap="12" 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="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="method" name="getSideBySide" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="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="120" type="stmt" count="0"/>
      <metrics loc="123" ncloc="115" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="72" coveredstatements="0" elements="76" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/FuzzyTranslationsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\FuzzyTranslationsMaintenanceScript" namespace="global">
        <metrics complexity="21" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="0" elements="130" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="method" name="initServices" visibility="private" complexity="1" crap="2" 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="72" type="method" name="execute" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="method" name="fuzzyTranslations" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="108" type="method" name="getMessageContentsFromRows" visibility="private" complexity="3" crap="12" 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="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="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="127" type="method" name="getPagesForPattern" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="128" 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="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" 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="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="157" type="method" name="getPagesForUser" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="192" type="method" name="updateMessage" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="206" 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="218" type="stmt" count="0"/>
      <metrics loc="221" ncloc="203" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="0" elements="130" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/RefreshTranslationProgressStatsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\RefreshTranslationProgressStatsMaintenanceScript" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="0" elements="75" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" 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="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="method" name="getLanguages" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" 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="113" type="stmt" count="0"/>
      <line num="114" 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="125" type="stmt" count="0"/>
      <line num="128" type="method" name="cliProgressBar" visibility="private" complexity="1" crap="2" count="0"/>
      <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="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <metrics loc="139" ncloc="128" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="0" elements="75" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/RemoveRedundantMessageGroupMetadataMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\RemoveRedundantMessageGroupMetadataMaintenanceScript" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="24" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="29" type="method" name="doDBUpdates" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <metrics loc="56" ncloc="48" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Diagnostics/SyncTranslatableBundleStatusMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Diagnostics\SyncTranslatableBundleStatusMaintenanceScript" namespace="global">
        <metrics complexity="27" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="0" elements="118" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="46" type="method" name="doDBUpdates" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="47" 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="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="method" name="fetchTranslatableBundles" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="87" type="method" name="identifyDifferences" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="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="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" 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="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="122" type="stmt" count="0"/>
      <line num="123" 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="131" type="stmt" count="0"/>
      <line num="132" 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="138" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="method" name="determineStatus" visibility="private" complexity="2" crap="6" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="161" type="method" name="getTranslatableBundle" visibility="private" complexity="2" crap="6" 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="173" type="stmt" count="0"/>
      <line num="176" type="method" name="syncStatus" visibility="private" complexity="6" crap="42" 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="182" 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="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="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="method" name="removeStatus" visibility="private" complexity="2" crap="6" 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="220" 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="227" type="method" name="outputDifferences" visibility="private" complexity="3" crap="12" 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="231" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="238" type="method" name="outputBundleInfo" visibility="private" complexity="2" crap="6" 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="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <metrics loc="246" ncloc="218" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="0" elements="118" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/AmdFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\AmdFormat" namespace="global">
        <metrics complexity="12" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="41" elements="51" coveredelements="45"/>
      </class>
      <line num="53" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="readFromVariable" visibility="public" complexity="2" crap="2" 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="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="1"/>
      <line num="68" type="stmt" count="2"/>
      <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="78" type="method" name="writeReal" visibility="protected" complexity="4" crap="4.01" 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="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" 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="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="103" type="method" name="extractMessagePart" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="106" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="112" type="method" name="extractAuthors" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="113" type="stmt" count="3"/>
      <line num="114" type="stmt" count="3"/>
      <line num="117" type="method" name="header" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" 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="128" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="135" type="method" name="authorsList" visibility="private" complexity="2" crap="2.03" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="0"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="147" type="stmt" count="0"/>
      <metrics loc="148" ncloc="99" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="41" elements="52" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/AndroidCodeMapper.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\AndroidCodeMapper" namespace="global">
        <metrics complexity="14" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="24" elements="26" coveredelements="24"/>
      </class>
      <line num="36" type="method" name="map" visibility="public" complexity="14" crap="14" count="13"/>
      <line num="37" type="stmt" count="13"/>
      <line num="38" type="stmt" count="13"/>
      <line num="41" type="stmt" count="13"/>
      <line num="42" type="stmt" count="3"/>
      <line num="45" type="stmt" count="11"/>
      <line num="46" type="stmt" count="11"/>
      <line num="47" type="stmt" count="11"/>
      <line num="48" type="stmt" count="11"/>
      <line num="49" type="stmt" count="11"/>
      <line num="51" type="stmt" count="7"/>
      <line num="52" type="stmt" count="6"/>
      <line num="54" type="stmt" count="5"/>
      <line num="55" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="61" type="stmt" count="0"/>
      <line num="66" type="stmt" count="11"/>
      <line num="67" type="stmt" count="4"/>
      <line num="70" type="stmt" count="9"/>
      <line num="71" type="stmt" count="9"/>
      <line num="72" type="stmt" count="7"/>
      <line num="74" type="stmt" count="9"/>
      <line num="75" type="stmt" count="2"/>
      <line num="77" type="stmt" count="9"/>
      <line num="78" type="stmt" count="2"/>
      <line num="82" type="stmt" count="9"/>
      <metrics loc="85" ncloc="49" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="24" elements="26" coveredelements="24"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/AndroidXmlFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\AndroidXmlFormat" namespace="global">
        <metrics complexity="29" methods="10" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="82" elements="101" coveredelements="85"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="29" type="method" name="supportsFuzzy" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="readFromVariable" visibility="public" complexity="7" crap="7.03" count="2"/>
      <line num="38" 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="44" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" 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="57" type="stmt" count="2"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <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="78" type="method" name="scrapeAuthors" visibility="private" complexity="3" crap="3.03" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="91" type="method" name="readElementContents" visibility="private" complexity="1" crap="1" 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="99" type="stmt" count="2"/>
      <line num="102" type="method" name="formatElementContents" visibility="private" complexity="2" crap="2.03" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="118" type="method" name="doAuthors" visibility="private" complexity="3" crap="3" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="140" type="method" name="writeReal" visibility="protected" complexity="9" crap="9.02" count="2"/>
      <line num="143" type="stmt" count="2"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="0"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="150" type="stmt" count="2"/>
      <line num="152" type="stmt" count="2"/>
      <line num="154" type="stmt" count="2"/>
      <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="162" 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="2"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="2"/>
      <line num="173" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="2"/>
      <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="185" type="stmt" count="2"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="1"/>
      <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="2"/>
      <line num="200" type="method" name="isContentEqual" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <metrics loc="207" ncloc="187" classes="1" methods="10" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="82" elements="102" coveredelements="85"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/AppleFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\AppleFormat" namespace="global">
        <metrics complexity="29" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="91" coveredstatements="37" elements="103" coveredelements="42"/>
      </class>
      <line num="22" type="method" name="supportsFuzzy" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="readFromVariable" visibility="public" complexity="9" crap="9" 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="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="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="1"/>
      <line num="47" type="stmt" count="2"/>
      <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="54" type="stmt" count="1"/>
      <line num="57" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="59" type="stmt" count="1"/>
      <line num="61" type="stmt" count="2"/>
      <line num="64" type="stmt" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="69" 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="83" type="method" name="readRow" visibility="public" complexity="3" crap="3.14" count="18"/>
      <line num="84" type="stmt" count="18"/>
      <line num="85" type="stmt" count="18"/>
      <line num="86" type="stmt" count="18"/>
      <line num="87" type="stmt" count="18"/>
      <line num="88" type="stmt" count="18"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="18"/>
      <line num="93" type="stmt" count="0"/>
      <line num="97" type="method" name="writeReal" visibility="protected" complexity="6" crap="42" 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="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="140" type="method" name="writeRow" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="141" type="stmt" count="17"/>
      <line num="145" type="method" name="quoteString" visibility="protected" complexity="1" crap="1" count="17"/>
      <line num="146" type="stmt" count="17"/>
      <line num="150" type="method" name="escapeString" visibility="private" complexity="1" crap="1" count="17"/>
      <line num="151" type="stmt" count="17"/>
      <line num="159" type="method" name="unescapeString" visibility="protected" complexity="1" crap="1" count="18"/>
      <line num="160" type="stmt" count="18"/>
      <line num="163" type="method" name="doHeader" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="179" type="method" name="doAuthors" visibility="private" complexity="2" crap="6" 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="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="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="211" type="stmt" count="0"/>
      <metrics loc="212" ncloc="181" classes="1" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="37" elements="104" coveredelements="42"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/DtdFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\DtdFormat" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="16" elements="52" coveredelements="17"/>
      </class>
      <line num="20" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="24" type="method" name="readFromVariable" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <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="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="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"/>
      <line num="43" type="stmt" count="1"/>
      <line num="46" type="method" name="writeReal" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="method" name="doHeader" visibility="private" complexity="1" crap="2" 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="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="method" name="doAuthors" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <metrics loc="105" ncloc="94" classes="1" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="16" elements="53" coveredelements="17"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/FileFormatFactory.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\FileFormatFactory" namespace="global">
        <metrics complexity="8" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="10" elements="22" coveredelements="12"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <line num="49" type="method" name="create" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="51" type="stmt" count="1"/>
      <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="62" type="stmt" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="67" type="method" name="loadInstance" visibility="public" complexity="2" crap="6" 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="74" type="stmt" count="0"/>
      <line num="77" type="method" name="getClassname" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <metrics loc="85" ncloc="65" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="10" elements="22" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/FileFormatSupport.php">
      <metrics loc="94" 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/Translate/src/FileFormatSupport/FlatPhpFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\FlatPhpFormat" namespace="global">
        <metrics complexity="11" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="0" elements="77" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="readFromVariable" visibility="public" complexity="2" crap="6" 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="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"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="method" name="writeReal" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="method" name="doHeader" visibility="private" complexity="2" crap="6" 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="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" 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="101" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="method" name="doAuthors" visibility="private" complexity="2" crap="6" 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="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" 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="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="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <metrics loc="145" ncloc="132" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="72" coveredstatements="0" elements="78" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/FluentFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\FluentFormat" namespace="global">
        <metrics complexity="73" methods="11" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="162" coveredstatements="154" elements="173" coveredelements="163"/>
      </class>
      <line num="66" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="70" type="method" name="readFromVariable" visibility="public" complexity="1" crap="1" count="22"/>
      <line num="71" type="stmt" count="22"/>
      <line num="73" type="stmt" count="22"/>
      <line num="74" type="stmt" count="22"/>
      <line num="76" type="stmt" count="22"/>
      <line num="78" type="stmt" count="22"/>
      <line num="79" type="stmt" count="22"/>
      <line num="80" type="stmt" count="22"/>
      <line num="81" type="stmt" count="22"/>
      <line num="93" type="method" name="read" visibility="public" complexity="3" crap="3" 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="99" type="stmt" count="1"/>
      <line num="103" type="method" name="parseEntries" visibility="private" complexity="27" crap="27" count="22"/>
      <line num="107" type="stmt" count="22"/>
      <line num="108" type="stmt" count="22"/>
      <line num="109" type="stmt" count="22"/>
      <line num="112" type="stmt" count="22"/>
      <line num="114" type="stmt" count="22"/>
      <line num="115" type="stmt" count="22"/>
      <line num="122" type="stmt" count="8"/>
      <line num="123" type="stmt" count="8"/>
      <line num="124" type="stmt" count="8"/>
      <line num="125" type="stmt" count="8"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="133" type="stmt" count="22"/>
      <line num="134" type="stmt" count="22"/>
      <line num="135" type="stmt" count="13"/>
      <line num="137" type="stmt" count="22"/>
      <line num="138" type="stmt" count="22"/>
      <line num="139" type="stmt" count="20"/>
      <line num="142" type="stmt" count="20"/>
      <line num="143" type="stmt" count="20"/>
      <line num="144" 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="153" type="stmt" count="22"/>
      <line num="154" type="stmt" count="21"/>
      <line num="157" type="stmt" count="22"/>
      <line num="159" type="stmt" count="22"/>
      <line num="160" type="stmt" count="11"/>
      <line num="163" type="stmt" count="22"/>
      <line num="165" type="stmt" count="22"/>
      <line num="170" type="stmt" count="22"/>
      <line num="171" type="stmt" count="3"/>
      <line num="174" type="stmt" count="22"/>
      <line num="175" type="stmt" count="22"/>
      <line num="178" type="stmt" count="22"/>
      <line num="181" type="stmt" count="22"/>
      <line num="182" type="stmt" count="22"/>
      <line num="183" type="stmt" count="22"/>
      <line num="184" type="stmt" count="22"/>
      <line num="185" type="stmt" count="10"/>
      <line num="186" type="stmt" count="10"/>
      <line num="188" type="stmt" count="22"/>
      <line num="191" type="stmt" count="22"/>
      <line num="193" type="stmt" count="22"/>
      <line num="194" type="stmt" count="2"/>
      <line num="196" type="stmt" count="21"/>
      <line num="197" type="stmt" count="16"/>
      <line num="201" type="stmt" count="21"/>
      <line num="202" type="stmt" count="9"/>
      <line num="203" type="stmt" count="9"/>
      <line num="204" type="stmt" count="9"/>
      <line num="205" type="stmt" count="8"/>
      <line num="218" type="method" name="extractValue" visibility="private" complexity="8" crap="8" count="22"/>
      <line num="220" type="stmt" count="22"/>
      <line num="221" type="stmt" count="22"/>
      <line num="223" type="stmt" count="22"/>
      <line num="224" type="stmt" count="12"/>
      <line num="230" type="stmt" count="21"/>
      <line num="232" type="stmt" count="19"/>
      <line num="233" type="stmt" count="19"/>
      <line num="234" type="stmt" count="19"/>
      <line num="235" type="stmt" count="19"/>
      <line num="237" type="stmt" count="19"/>
      <line num="241" type="stmt" count="7"/>
      <line num="242" type="stmt" count="7"/>
      <line num="243" type="stmt" count="7"/>
      <line num="244" type="stmt" count="7"/>
      <line num="245" type="stmt" count="7"/>
      <line num="248" type="stmt" count="7"/>
      <line num="249" type="stmt" count="5"/>
      <line num="252" type="stmt" count="7"/>
      <line num="256" type="method" name="isBraceBalanced" visibility="private" complexity="5" crap="5" count="21"/>
      <line num="257" type="stmt" count="21"/>
      <line num="258" type="stmt" count="21"/>
      <line num="259" type="stmt" count="21"/>
      <line num="260" type="stmt" count="12"/>
      <line num="261" type="stmt" count="21"/>
      <line num="262" type="stmt" count="10"/>
      <line num="263" type="stmt" count="2"/>
      <line num="267" type="stmt" count="20"/>
      <line num="271" type="method" name="netBraceDepth" visibility="private" complexity="1" crap="1" count="22"/>
      <line num="272" type="stmt" count="22"/>
      <line num="280" type="method" name="commonIndent" visibility="private" complexity="4" crap="4" count="21"/>
      <line num="281" type="stmt" count="21"/>
      <line num="282" type="stmt" count="21"/>
      <line num="285" type="stmt" count="21"/>
      <line num="286" type="stmt" count="21"/>
      <line num="288" type="stmt" count="7"/>
      <line num="289" type="stmt" count="7"/>
      <line num="291" type="stmt" count="21"/>
      <line num="300" type="method" name="parseAttributes" visibility="private" complexity="8" crap="8" count="9"/>
      <line num="301" type="stmt" count="9"/>
      <line num="302" 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="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="312" type="stmt" count="9"/>
      <line num="313" type="stmt" count="9"/>
      <line num="315" type="stmt" count="9"/>
      <line num="316" type="stmt" count="9"/>
      <line num="317" type="stmt" count="9"/>
      <line num="318" type="stmt" count="9"/>
      <line num="319" type="stmt" count="3"/>
      <line num="321" 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="328" type="stmt" count="9"/>
      <line num="329" type="stmt" count="9"/>
      <line num="330" type="stmt" count="9"/>
      <line num="334" type="method" name="writeReal" visibility="protected" complexity="13" crap="13.64" 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="339" type="stmt" count="1"/>
      <line num="340" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="343" type="stmt" count="1"/>
      <line num="347" type="stmt" count="1"/>
      <line num="349" type="stmt" count="1"/>
      <line num="350" type="stmt" count="1"/>
      <line num="351" type="stmt" count="1"/>
      <line num="352" type="stmt" count="1"/>
      <line num="354" type="stmt" count="1"/>
      <line num="355" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="362" type="stmt" count="1"/>
      <line num="363" 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="371" type="stmt" count="1"/>
      <line num="375" type="stmt" count="1"/>
      <line num="376" type="stmt" count="0"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="383" type="stmt" count="0"/>
      <line num="386" type="stmt" count="1"/>
      <line num="387" type="stmt" count="0"/>
      <line num="390" type="stmt" count="1"/>
      <line num="394" type="stmt" count="1"/>
      <line num="397" type="method" name="formatValue" visibility="private" complexity="2" crap="2.86" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="403" type="stmt" count="1"/>
      <metrics loc="406" ncloc="281" classes="1" methods="11" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="162" coveredstatements="154" elements="173" coveredelements="163"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/GettextFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\GettextFormat" namespace="global">
        <metrics complexity="102" methods="27" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="382" coveredstatements="268" elements="409" coveredelements="280"/>
      </class>
      <line num="36" type="method" name="getLogger" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="41" type="method" name="supportsFuzzy" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="45" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="method" name="setOfflineMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="read" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="57" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="67" type="method" name="readFromVariable" visibility="public" complexity="4" crap="4.01" count="7"/>
      <line num="68" type="stmt" count="7"/>
      <line num="69" type="stmt" count="1"/>
      <line num="72" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="6"/>
      <line num="83" type="stmt" count="6"/>
      <line num="84" type="stmt" count="6"/>
      <line num="85" type="stmt" count="0"/>
      <line num="89" type="stmt" count="6"/>
      <line num="93" type="method" name="parseGettext" visibility="private" complexity="13" crap="14.04" count="6"/>
      <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="0"/>
      <line num="102" type="stmt" count="6"/>
      <line num="107" type="stmt" count="6"/>
      <line num="110" 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="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="123" type="stmt" count="6"/>
      <line num="124" type="stmt" count="6"/>
      <line num="127" type="stmt" count="6"/>
      <line num="128" type="stmt" count="6"/>
      <line num="129" type="stmt" count="3"/>
      <line num="132" type="stmt" count="6"/>
      <line num="133" type="stmt" count="3"/>
      <line num="138" type="stmt" count="6"/>
      <line num="139" type="stmt" count="6"/>
      <line num="140" type="stmt" count="3"/>
      <line num="141" type="stmt" count="5"/>
      <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="156" type="stmt" 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="0"/>
      <line num="165" type="stmt" count="6"/>
      <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="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" type="stmt" count="6"/>
      <line num="178" type="stmt" count="6"/>
      <line num="179" type="stmt" count="6"/>
      <line num="180" type="stmt" count="6"/>
      <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="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="194" type="method" name="parseGettextSection" visibility="private" complexity="15" crap="17.64" count="6"/>
      <line num="195" type="stmt" count="6"/>
      <line num="196" type="stmt" count="0"/>
      <line num="203" type="stmt" count="6"/>
      <line num="204" type="stmt" count="0"/>
      <line num="207" type="stmt" count="6"/>
      <line num="208" type="stmt" count="6"/>
      <line num="209" type="stmt" count="6"/>
      <line num="210" 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="215" type="stmt" count="6"/>
      <line num="216" type="stmt" count="6"/>
      <line num="217" type="stmt" count="6"/>
      <line num="219" type="stmt" count="0"/>
      <line num="222" type="stmt" count="6"/>
      <line num="223" type="stmt" count="6"/>
      <line num="224" type="stmt" count="3"/>
      <line num="227" type="stmt" count="6"/>
      <line num="228" type="stmt" count="6"/>
      <line num="229" type="stmt" count="6"/>
      <line num="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="235" type="stmt" count="6"/>
      <line num="236" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="240" type="stmt" count="1"/>
      <line num="243" type="stmt" count="6"/>
      <line num="244" type="stmt" count="6"/>
      <line num="245" type="stmt" count="6"/>
      <line num="247" type="stmt" count="0"/>
      <line num="252" type="stmt" count="6"/>
      <line num="253" type="stmt" count="6"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="259" type="stmt" count="6"/>
      <line num="262" type="stmt" count="6"/>
      <line num="263" type="stmt" count="6"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="271" type="stmt" count="6"/>
      <line num="274" type="method" name="processGettextPluralMessage" visibility="private" complexity="6" crap="10.50" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="284" type="stmt" count="1"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="302" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="305" type="stmt" count="0"/>
      <line num="309" type="method" name="parseFlags" visibility="private" complexity="2" crap="2.06" count="6"/>
      <line num="310" type="stmt" count="6"/>
      <line num="311" type="stmt" count="6"/>
      <line num="312" type="stmt" count="0"/>
      <line num="314" type="stmt" count="6"/>
      <line num="318" type="method" name="expectKeyword" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="322" type="stmt" count="6"/>
      <line num="324" 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="338" type="method" name="generateKeyFromItem" visibility="public" complexity="3" crap="3" count="11"/>
      <line num="339" type="stmt" count="11"/>
      <line num="341" type="stmt" count="11"/>
      <line num="345" type="stmt" count="1"/>
      <line num="347" type="stmt" count="11"/>
      <line num="350" type="stmt" count="11"/>
      <line num="351" type="stmt" count="9"/>
      <line num="352" type="stmt" count="9"/>
      <line num="353" type="stmt" count="9"/>
      <line num="355" type="stmt" count="3"/>
      <line num="356" type="stmt" count="3"/>
      <line num="357" type="stmt" count="3"/>
      <line num="358" type="stmt" count="3"/>
      <line num="359" type="stmt" count="3"/>
      <line num="360" type="stmt" count="3"/>
      <line num="361" type="stmt" count="3"/>
      <line num="364" type="stmt" count="11"/>
      <line num="370" type="method" name="processData" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="371" type="stmt" count="6"/>
      <line num="372" type="stmt" count="6"/>
      <line num="373" type="stmt" count="6"/>
      <line num="380" type="method" name="handleWhitespace" visibility="private" complexity="4" crap="4.37" count="6"/>
      <line num="381" type="stmt" count="6"/>
      <line num="382" type="stmt" count="6"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="6"/>
      <line num="385" type="stmt" count="6"/>
      <line num="388" type="stmt" count="0"/>
      <line num="392" type="stmt" count="6"/>
      <line num="401" type="method" name="formatForWiki" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="402" type="stmt" count="6"/>
      <line num="403" type="stmt" count="6"/>
      <line num="406" type="method" name="parseHeaderTags" visibility="private" complexity="3" crap="3.58" count="6"/>
      <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="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="415" type="stmt" count="6"/>
      <line num="416" type="stmt" count="6"/>
      <line num="419" type="stmt" count="6"/>
      <line num="422" type="method" name="writeReal" visibility="protected" complexity="6" crap="8.71" 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="428" type="stmt" count="1"/>
      <line num="429" type="stmt" count="1"/>
      <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="437" type="stmt" count="1"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <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="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <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="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="478" type="stmt" count="1"/>
      <line num="481" type="method" name="doGettextHeader" visibility="private" complexity="6" crap="6.05" count="1"/>
      <line num="484" type="stmt" count="1"/>
      <line num="485" type="stmt" count="1"/>
      <line num="486" type="stmt" count="1"/>
      <line num="487" type="stmt" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="489" type="stmt" count="0"/>
      <line num="491" type="stmt" count="1"/>
      <line num="494" 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="500" type="stmt" count="1"/>
      <line num="501" type="stmt" count="1"/>
      <line num="504" type="stmt" count="1"/>
      <line num="506" type="stmt" count="1"/>
      <line num="508" type="stmt" count="1"/>
      <line num="509" type="stmt" count="1"/>
      <line num="510" type="stmt" count="1"/>
      <line num="511" type="stmt" count="0"/>
      <line num="513" type="stmt" count="1"/>
      <line num="515" type="stmt" count="1"/>
      <line num="516" type="stmt" count="1"/>
      <line num="518" type="stmt" count="1"/>
      <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="526" type="stmt" count="1"/>
      <line num="527" type="stmt" count="1"/>
      <line num="528" type="stmt" count="1"/>
      <line num="529" type="stmt" count="1"/>
      <line num="531" type="stmt" count="1"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="536" type="stmt" count="1"/>
      <line num="537" type="stmt" count="0"/>
      <line num="539" type="stmt" count="1"/>
      <line num="540" type="stmt" count="1"/>
      <line num="541" type="stmt" count="1"/>
      <line num="543" type="stmt" count="1"/>
      <line num="544" type="stmt" count="1"/>
      <line num="547" type="stmt" count="1"/>
      <line num="549" type="stmt" count="1"/>
      <line num="552" type="method" name="doAuthors" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="553" type="stmt" count="1"/>
      <line num="554" type="stmt" count="1"/>
      <line num="555" type="stmt" count="1"/>
      <line num="557" type="stmt" count="1"/>
      <line num="558" type="stmt" count="1"/>
      <line num="561" type="stmt" count="1"/>
      <line num="564" type="method" name="formatMessageBlock" visibility="private" complexity="12" crap="25.97" count="2"/>
      <line num="572" type="stmt" count="2"/>
      <line num="573" type="stmt" count="2"/>
      <line num="575" type="stmt" count="2"/>
      <line num="576" type="stmt" count="2"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="582" type="stmt" count="2"/>
      <line num="583" type="stmt" count="2"/>
      <line num="585" type="stmt" count="2"/>
      <line num="586" type="stmt" count="0"/>
      <line num="588" type="stmt" count="2"/>
      <line num="589" type="stmt" count="2"/>
      <line num="590" type="stmt" count="1"/>
      <line num="594" type="stmt" count="2"/>
      <line num="595" type="stmt" count="2"/>
      <line num="596" type="stmt" count="2"/>
      <line num="597" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="602" type="stmt" count="2"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="619" type="stmt" count="2"/>
      <line num="620" type="stmt" count="2"/>
      <line num="623" type="stmt" count="2"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="628" type="stmt" count="2"/>
      <line num="629" type="stmt" count="2"/>
      <line num="631" type="stmt" count="2"/>
      <line num="634" type="method" name="formatTime" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="635" type="stmt" count="1"/>
      <line num="637" type="stmt" count="1"/>
      <line num="640" type="method" name="getPotTime" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="641" type="stmt" count="1"/>
      <line num="643" type="stmt" count="1"/>
      <line num="646" type="method" name="formatDocumentation" visibility="private" complexity="4" crap="11.53" count="2"/>
      <line num="647" type="stmt" count="2"/>
      <line num="648" type="stmt" count="2"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="664" type="method" name="escape" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="666" type="stmt" count="2"/>
      <line num="667" type="stmt" count="2"/>
      <line num="668" type="stmt" count="2"/>
      <line num="669" type="stmt" count="2"/>
      <line num="672" type="method" name="shouldOverwrite" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="673" type="stmt" count="2"/>
      <line num="675" type="stmt" count="2"/>
      <line num="676" type="stmt" count="2"/>
      <line num="678" type="stmt" count="2"/>
      <line num="681" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="695" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="706" type="method" name="isContentEqual" visibility="public" complexity="7" crap="7.39" count="1"/>
      <line num="707" type="stmt" count="1"/>
      <line num="708" type="stmt" count="1"/>
      <line num="711" type="stmt" count="1"/>
      <line num="712" type="stmt" count="0"/>
      <line num="716" type="stmt" count="1"/>
      <line num="717" type="stmt" count="1"/>
      <line num="720" type="stmt" count="1"/>
      <line num="721" type="stmt" count="1"/>
      <line num="724" type="stmt" count="0"/>
      <line num="726" type="stmt" count="0"/>
      <line num="729" type="stmt" count="1"/>
      <line num="733" type="stmt" count="1"/>
      <line num="734" type="stmt" count="1"/>
      <line num="737" type="stmt" count="1"/>
      <line num="738" type="stmt" count="1"/>
      <line num="743" type="stmt" count="0"/>
      <metrics loc="744" ncloc="671" classes="1" methods="27" coveredmethods="12" conditionals="0" coveredconditionals="0" statements="383" coveredstatements="268" elements="410" coveredelements="280"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/GettextFormatHeaderFieldsHook.php">
      <metrics loc="32" 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/Translate/src/FileFormatSupport/GettextParseException.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\GettextParseException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="15" 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/Translate/src/FileFormatSupport/GettextPluralException.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\GettextPluralException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="15" 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/Translate/src/FileFormatSupport/IniFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\IniFormat" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="31" elements="39" coveredelements="31"/>
      </class>
      <line num="19" type="method" name="supportsFuzzy" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="readFromVariable" visibility="public" complexity="3" crap="3.00" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="37" 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="43" type="stmt" count="0"/>
      <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="52" type="method" name="writeReal" visibility="protected" complexity="6" crap="6.01" count="1"/>
      <line num="53" type="stmt" count="1"/>
      <line num="54" 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="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="0"/>
      <line num="77" 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="85" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="92" type="stmt" count="0"/>
      <metrics loc="93" ncloc="78" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="31" elements="40" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/JavaFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\JavaFormat" namespace="global">
        <metrics complexity="30" methods="10" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="52" elements="117" coveredelements="55"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="28" type="stmt" count="15"/>
      <line num="29" type="stmt" count="15"/>
      <line num="32" type="method" name="supportsFuzzy" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="readFromVariable" visibility="public" complexity="10" crap="10.24" 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="54" type="stmt" count="1"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="0"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="84" 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="method" name="writeReal" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" 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="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="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="125" type="method" name="writeRow" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="129" type="stmt" count="14"/>
      <line num="131" type="stmt" count="14"/>
      <line num="133" type="stmt" count="14"/>
      <line num="140" type="method" name="readRow" visibility="public" complexity="6" crap="6" count="15"/>
      <line num="141" type="stmt" count="15"/>
      <line num="144" type="stmt" count="6"/>
      <line num="152" type="stmt" count="10"/>
      <line num="153" type="stmt" count="10"/>
      <line num="165" type="stmt" count="10"/>
      <line num="166" type="stmt" count="10"/>
      <line num="167" type="stmt" count="10"/>
      <line num="168" type="stmt" count="10"/>
      <line num="169" type="stmt" count="10"/>
      <line num="170" type="stmt" count="10"/>
      <line num="171" type="stmt" count="10"/>
      <line num="172" type="stmt" count="8"/>
      <line num="173" type="stmt" count="10"/>
      <line num="174" type="stmt" count="10"/>
      <line num="176" type="stmt" count="10"/>
      <line num="177" type="stmt" count="10"/>
      <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="190" type="stmt" count="15"/>
      <line num="193" type="method" name="doHeader" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" 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="206" type="stmt" count="0"/>
      <line num="209" type="method" name="doAuthors" visibility="private" complexity="2" crap="6" 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="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="221" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" 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="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="231" 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="244" type="stmt" count="0"/>
      <metrics loc="245" ncloc="202" classes="1" methods="10" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="108" coveredstatements="52" elements="118" coveredelements="55"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/JsonFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\JsonFormat" namespace="global">
        <metrics complexity="22" methods="10" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="49" elements="92" coveredelements="53"/>
      </class>
      <line num="27" type="method" name="isValid" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="28" type="stmt" count="3"/>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="32" type="stmt" count="10"/>
      <line num="33" type="stmt" count="10"/>
      <line num="36" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="readFromVariable" visibility="public" complexity="4" crap="4.00" count="9"/>
      <line num="42" type="stmt" count="9"/>
      <line num="43" type="stmt" count="9"/>
      <line num="44" type="stmt" count="9"/>
      <line num="46" type="stmt" count="9"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="51" type="stmt" count="9"/>
      <line num="52" type="stmt" count="7"/>
      <line num="55" type="stmt" count="9"/>
      <line num="57" type="stmt" count="9"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="9"/>
      <line num="63" type="stmt" count="9"/>
      <line num="64" type="stmt" count="9"/>
      <line num="65" type="stmt" count="9"/>
      <line num="66" type="stmt" count="9"/>
      <line num="67" type="stmt" count="9"/>
      <line num="70" type="method" name="writeReal" visibility="protected" complexity="4" crap="4" 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="76" type="stmt" count="6"/>
      <line num="77" type="stmt" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="79" type="stmt" count="6"/>
      <line num="83" type="stmt" count="6"/>
      <line num="84" type="stmt" count="6"/>
      <line num="86" type="stmt" count="6"/>
      <line num="89" type="method" name="generateFile" visibility="public" complexity="4" crap="4.01" count="7"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="92" type="stmt" count="1"/>
      <line num="94" type="stmt" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="6"/>
      <line num="101" type="stmt" count="6"/>
      <line num="103" type="stmt" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="105" type="stmt" count="6"/>
      <line num="107" type="stmt" count="6"/>
      <line num="110" type="stmt" count="6"/>
      <line num="114" type="method" name="getIndentString" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="115" type="stmt" count="6"/>
      <line num="116" type="stmt" count="6"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="125" type="method" name="getFlattener" visibility="private" complexity="2" crap="2.50" count="10"/>
      <line num="126" type="stmt" count="10"/>
      <line num="127" type="stmt" count="10"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="method" name="isContentEqual" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="143" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="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="173" type="stmt" count="0"/>
      <metrics loc="174" ncloc="159" classes="1" methods="10" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="49" elements="93" coveredelements="53"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/SimpleFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\SimpleFormat" namespace="global">
        <metrics complexity="50" methods="19" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="114" coveredstatements="0" elements="133" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="supportsFuzzy" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="52" type="method" name="setGroup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="method" name="getGroup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="setWritePath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="method" name="getWritePath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="77" type="method" name="exists" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="97" type="method" name="read" visibility="public" complexity="6" crap="42" 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="103" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="119" 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="134" type="method" name="readFromVariable" visibility="public" complexity="5" crap="30" 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="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" 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="170" type="method" name="write" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="191" 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="197" 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="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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="220" type="method" name="writeIntoVariable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="227" type="method" name="writeReal" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="236" 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="242" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="255" type="method" name="tryReadSource" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="280" type="method" name="tryReadFile" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" 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="294" type="stmt" count="0"/>
      <line num="298" type="method" name="filterAuthors" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="309" type="method" name="isContentEqual" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="313" type="method" name="shouldOverwrite" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="322" type="method" name="isGroupFfsReadable" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <metrics loc="339" ncloc="271" classes="1" methods="19" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="115" coveredstatements="0" elements="134" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/FileFormatSupport/YamlFormat.php">
      <class name="MediaWiki\Extension\Translate\FileFormatSupport\YamlFormat" namespace="global">
        <metrics complexity="17" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="0" elements="88" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" 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="36" type="method" name="getFileExtensions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="readFromVariable" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="method" name="writeReal" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" 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="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="method" name="doHeader" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="method" name="doAuthors" visibility="private" complexity="2" crap="6" 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="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="137" type="method" name="isContentEqual" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="141" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <metrics loc="168" ncloc="152" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="81" coveredstatements="0" elements="89" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/HookHandler.php">
      <class name="MediaWiki\Extension\Translate\HookHandler" namespace="global">
        <metrics complexity="107" methods="29" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="508" coveredstatements="116" elements="537" coveredelements="124"/>
      </class>
      <line num="105" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="113" type="stmt" count="14"/>
      <line num="116" type="method" name="setupTranslate" visibility="public" complexity="16" crap="272" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="134" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" 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="215" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" 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="231" 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="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="267" 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="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" 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="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="389" 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="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" 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="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <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="423" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="453" type="stmt" 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="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" 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="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="480" type="method" name="registerHookHandlers" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="500" type="method" name="onUserGetReservedNames" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="506" type="method" name="onAbuseFilterAlterVariables" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="528" type="method" name="onAbuseFilterComputeVariable" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" 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="545" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="551" type="stmt" count="0"/>
      <line num="555" type="method" name="onAbuseFilterBuilder" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="567" type="method" name="setupParserHooks" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="569" type="stmt" count="8"/>
      <line num="578" type="method" name="onPageContentLanguage" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="579" type="stmt" count="7"/>
      <line num="580" type="stmt" count="7"/>
      <line num="581" type="stmt" count="1"/>
      <line num="589" type="method" name="translateMessageDocumentationLanguage" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="591" type="stmt" count="3"/>
      <line num="594" type="stmt" count="3"/>
      <line num="595" type="stmt" count="3"/>
      <line num="597" type="stmt" count="3"/>
      <line num="600" type="stmt" count="3"/>
      <line num="601" type="stmt" count="3"/>
      <line num="606" type="method" name="searchProfile" visibility="public" complexity="2" crap="2.01" count="1"/>
      <line num="608" type="stmt" count="1"/>
      <line num="609" type="stmt" count="1"/>
      <line num="610" type="stmt" count="1"/>
      <line num="611" type="stmt" count="1"/>
      <line num="612" type="stmt" count="1"/>
      <line num="613" type="stmt" count="1"/>
      <line num="616" type="stmt" count="1"/>
      <line num="619" type="stmt" count="1"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="624" type="stmt" count="1"/>
      <line num="625" type="stmt" count="1"/>
      <line num="626" type="stmt" count="1"/>
      <line num="627" type="stmt" count="1"/>
      <line num="628" type="stmt" count="1"/>
      <line num="632" type="method" name="searchProfileForm" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="663" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="670" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="673" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="692" type="method" name="searchProfileSetupEngine" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="709" type="method" name="maybeRemoveCategories" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="712" type="stmt" count="7"/>
      <line num="713" type="stmt" count="7"/>
      <line num="715" type="stmt" count="1"/>
      <line num="716" type="stmt" count="1"/>
      <line num="717" type="stmt" count="1"/>
      <line num="718" type="stmt" count="1"/>
      <line num="720" type="stmt" count="1"/>
      <line num="721" type="stmt" count="1"/>
      <line num="726" type="method" name="preventCategorization" visibility="public" complexity="2" crap="2" count="8"/>
      <line num="727" type="stmt" count="8"/>
      <line num="728" type="stmt" count="1"/>
      <line num="730" type="stmt" count="7"/>
      <line num="731" type="stmt" count="7"/>
      <line num="732" type="stmt" count="7"/>
      <line num="733" type="stmt" count="7"/>
      <line num="737" type="method" name="showFakeCategories" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="738" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="740" type="stmt" count="0"/>
      <line num="749" type="method" name="addConfig" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="756" type="stmt" count="0"/>
      <line num="757" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="760" type="stmt" count="0"/>
      <line num="761" type="stmt" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="771" type="method" name="onAdminLinks" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="777" type="stmt" count="0"/>
      <line num="785" type="method" name="onMergeAccountFromTo" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="786" type="stmt" count="0"/>
      <line num="790" type="stmt" count="0"/>
      <line num="791" type="stmt" count="0"/>
      <line num="792" type="stmt" count="0"/>
      <line num="793" type="stmt" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="795" type="stmt" count="0"/>
      <line num="796" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="805" type="method" name="onDeleteAccount" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="806" type="stmt" count="0"/>
      <line num="809" type="stmt" count="0"/>
      <line num="810" type="stmt" count="0"/>
      <line num="811" type="stmt" count="0"/>
      <line num="812" type="stmt" count="0"/>
      <line num="813" type="stmt" count="0"/>
      <line num="814" type="stmt" count="0"/>
      <line num="826" type="method" name="onLinkTargetIsAlwaysKnownBatch" visibility="public" complexity="11" crap="11" count="8"/>
      <line num="827" type="stmt" count="8"/>
      <line num="828" type="stmt" count="8"/>
      <line num="829" type="stmt" count="8"/>
      <line num="830" type="stmt" count="1"/>
      <line num="832" type="stmt" count="7"/>
      <line num="833" type="stmt" count="5"/>
      <line num="835" type="stmt" count="4"/>
      <line num="836" type="stmt" count="4"/>
      <line num="837" type="stmt" count="2"/>
      <line num="839" type="stmt" count="2"/>
      <line num="840" type="stmt" count="2"/>
      <line num="841" type="stmt" count="2"/>
      <line num="843" type="stmt" count="0"/>
      <line num="847" type="stmt" count="8"/>
      <line num="848" type="stmt" count="8"/>
      <line num="851" type="stmt" count="2"/>
      <line num="852" type="stmt" count="2"/>
      <line num="853" type="stmt" count="2"/>
      <line num="855" type="stmt" count="2"/>
      <line num="856" type="stmt" count="2"/>
      <line num="857" type="stmt" count="1"/>
      <line num="863" type="method" name="onParserFirstCallInit" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="864" type="stmt" count="8"/>
      <line num="867" type="method" name="translateRenderParserFunction" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="868" type="stmt" count="0"/>
      <line num="869" type="stmt" count="0"/>
      <line num="871" type="stmt" count="0"/>
      <line num="872" type="stmt" count="0"/>
      <line num="873" type="stmt" count="0"/>
      <line num="874" type="stmt" count="0"/>
      <line num="875" type="stmt" count="0"/>
      <line num="876" type="stmt" count="0"/>
      <line num="878" type="stmt" count="0"/>
      <line num="886" type="method" name="validateMessage" visibility="public" complexity="12" crap="12.30" count="2"/>
      <line num="893" type="stmt" count="2"/>
      <line num="895" type="stmt" count="0"/>
      <line num="898" type="stmt" count="2"/>
      <line num="899" type="stmt" count="2"/>
      <line num="900" type="stmt" count="1"/>
      <line num="903" type="stmt" count="1"/>
      <line num="905" type="stmt" count="1"/>
      <line num="906" type="stmt" count="0"/>
      <line num="910" type="stmt" count="1"/>
      <line num="911" type="stmt" count="1"/>
      <line num="915" type="stmt" count="1"/>
      <line num="916" type="stmt" count="1"/>
      <line num="918" type="stmt" count="1"/>
      <line num="920" type="stmt" count="0"/>
      <line num="922" type="stmt" count="1"/>
      <line num="925" type="stmt" count="1"/>
      <line num="926" type="stmt" count="1"/>
      <line num="928" type="stmt" count="1"/>
      <line num="929" type="stmt" count="1"/>
      <line num="930" type="stmt" count="0"/>
      <line num="933" type="stmt" count="1"/>
      <line num="934" type="stmt" count="1"/>
      <line num="935" type="stmt" count="1"/>
      <line num="936" type="stmt" count="1"/>
      <line num="937" type="stmt" count="1"/>
      <line num="938" type="stmt" count="1"/>
      <line num="940" type="stmt" count="1"/>
      <line num="941" type="stmt" count="1"/>
      <line num="942" type="stmt" count="1"/>
      <line num="943" type="stmt" count="1"/>
      <line num="944" type="stmt" count="1"/>
      <line num="945" type="stmt" count="1"/>
      <line num="946" type="stmt" count="1"/>
      <line num="947" type="stmt" count="1"/>
      <line num="948" type="stmt" count="1"/>
      <line num="949" type="stmt" count="1"/>
      <line num="950" type="stmt" count="1"/>
      <line num="951" type="stmt" count="1"/>
      <line num="955" type="stmt" count="0"/>
      <line num="959" type="method" name="onRevisionRecordInserted" visibility="public" complexity="5" crap="5" count="11"/>
      <line num="960" type="stmt" count="11"/>
      <line num="961" type="stmt" count="11"/>
      <line num="963" type="stmt" count="11"/>
      <line num="966" type="stmt" count="3"/>
      <line num="967" type="stmt" count="3"/>
      <line num="969" type="stmt" count="3"/>
      <line num="974" type="stmt" count="2"/>
      <line num="976" type="stmt" count="2"/>
      <line num="977" type="stmt" count="2"/>
      <line num="978" type="stmt" count="2"/>
      <line num="979" type="stmt" count="2"/>
      <line num="980" type="stmt" count="2"/>
      <line num="981" type="stmt" count="2"/>
      <line num="982" type="stmt" count="2"/>
      <line num="983" type="stmt" count="2"/>
      <line num="984" type="stmt" count="2"/>
      <line num="986" type="stmt" count="2"/>
      <line num="987" type="stmt" count="2"/>
      <line num="988" type="stmt" count="2"/>
      <line num="989" type="stmt" count="2"/>
      <line num="990" type="stmt" count="2"/>
      <line num="991" type="stmt" count="2"/>
      <line num="992" type="stmt" count="2"/>
      <line num="996" type="method" name="onListDefinedTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="997" type="stmt" count="0"/>
      <line num="1001" type="method" name="onChangeTagsListActive" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="1002" type="stmt" count="0"/>
      <line num="1003" type="stmt" count="0"/>
      <line num="1007" type="method" name="getLanguageJson" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="1008" type="stmt" count="0"/>
      <line num="1009" type="stmt" count="0"/>
      <line num="1010" type="stmt" count="0"/>
      <line num="1011" type="stmt" count="0"/>
      <line num="1015" type="method" name="onResourceLoaderRegisterModules" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="1016" type="stmt" count="0"/>
      <line num="1018" type="stmt" count="0"/>
      <line num="1020" type="stmt" count="0"/>
      <line num="1021" type="stmt" count="0"/>
      <line num="1022" type="stmt" count="0"/>
      <line num="1023" type="stmt" count="0"/>
      <line num="1024" type="stmt" count="0"/>
      <line num="1025" type="stmt" count="0"/>
      <line num="1026" type="stmt" count="0"/>
      <line num="1027" type="stmt" count="0"/>
      <line num="1028" type="stmt" count="0"/>
      <line num="1029" type="stmt" count="0"/>
      <line num="1030" type="stmt" count="0"/>
      <line num="1031" type="stmt" count="0"/>
      <line num="1032" type="stmt" count="0"/>
      <line num="1033" type="stmt" count="0"/>
      <line num="1034" type="stmt" count="0"/>
      <line num="1035" type="stmt" count="0"/>
      <line num="1036" type="stmt" count="0"/>
      <line num="1037" type="stmt" count="0"/>
      <line num="1038" type="stmt" count="0"/>
      <line num="1039" type="stmt" count="0"/>
      <line num="1040" type="stmt" count="0"/>
      <line num="1043" type="stmt" count="0"/>
      <line num="1044" type="stmt" count="0"/>
      <metrics loc="1049" ncloc="909" classes="1" methods="29" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="508" coveredstatements="116" elements="537" coveredelements="124"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/HookRunner.php">
      <class name="MediaWiki\Extension\Translate\HookRunner" namespace="global">
        <metrics complexity="16" methods="16" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="38" coveredelements="38"/>
      </class>
      <line num="58" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="61" type="stmt" count="15"/>
      <line num="64" type="method" name="onTranslate_TranslatorSandbox_UserPromoted" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="69" type="method" name="onTranslatePrefillTranslation" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="74" type="method" name="onTranslateBeforeAddModules" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="79" type="method" name="onTranslateEventTranslationReview" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="84" type="method" name="onTranslateGetSpecialTranslateOptions" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="89" type="method" name="onTranslate_newTranslation" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="94" type="method" name="onTranslate_modifyMessageGroupStates" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="99" type="method" name="onTranslateEventMessageGroupStateChange" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="110" type="method" name="onTranslateInitGroupLoaders" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="115" type="method" name="onTranslatePostInitGroups" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="120" type="method" name="onTranslateProcessAPIMessageGroupsProperties" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="130" type="method" name="onTranslateSupportedLanguages" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="135" type="method" name="onTranslateEventMessageMembershipChange" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="140" type="method" name="onTranslate_GettextFormat_headerFields" visibility="public" complexity="1" crap="1" 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="152" type="method" name="onTranslateTitlePageTranslation" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <metrics loc="162" ncloc="137" classes="1" methods="16" coveredmethods="16" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="38" coveredelements="38"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Jobs/GenericTranslateJob.php">
      <class name="MediaWiki\Extension\Translate\Jobs\GenericTranslateJob" namespace="global">
        <metrics complexity="8" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="24" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="getLogger" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="30" type="method" name="formatLogEntry" visibility="private" complexity="2" crap="6" 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="37" type="stmt" count="0"/>
      <line num="40" type="method" name="logDebug" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="logInfo" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="method" name="logNotice" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="method" name="logWarning" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="logError" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <metrics loc="65" ncloc="54" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="24" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/LogFormatter.php">
      <class name="MediaWiki\Extension\Translate\LogFormatter" namespace="global">
        <metrics complexity="9" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="0" elements="37" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="getMessageParameters" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="23" 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="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" 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="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="method" name="formatStateMessage" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="74" type="method" name="makePageLinkWithText" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <metrics loc="87" ncloc="70" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="0" elements="37" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/LogNames.php">
      <class name="MediaWiki\Extension\Translate\LogNames" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="35" ncloc="21" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/Hooks.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\Hooks" namespace="global">
        <metrics complexity="19" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="81" coveredelements="0"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="method" name="getInstance" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="64" type="method" name="onEditFilterMergedContent" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="87" type="method" name="onPageSaveComplete" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="103" 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="107" type="stmt" count="0"/>
      <line num="110" 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="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="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="129" type="stmt" 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"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="143" type="method" name="onCodeEditorGetPageLanguage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="156" type="method" name="onArticleViewHeader" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="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="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="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="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <metrics loc="193" ncloc="172" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="81" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MalformedBundle.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MalformedBundle" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="30" type="method" name="getKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="35" type="method" name="getParams" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <metrics loc="39" ncloc="32" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundle.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundle" namespace="global">
        <metrics complexity="10" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="0" elements="38" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="getMessageGroupId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="36" type="method" name="getTranslationPages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="42" type="method" name="getTranslationUnitPages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="method" name="isMoveable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="52" type="method" name="isDeletable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="method" name="isSourcePage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="85" type="method" name="clearSourcePageCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <metrics loc="90" ncloc="75" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleContent.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleContent" namespace="global">
        <metrics complexity="32" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="42" elements="100" coveredelements="44"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="isValid" visibility="public" complexity="2" crap="2" count="11"/>
      <line num="36" type="stmt" count="11"/>
      <line num="37" type="stmt" count="6"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="10"/>
      <line num="40" type="stmt" count="10"/>
      <line num="45" type="method" name="validate" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="46" type="stmt" count="10"/>
      <line num="47" type="stmt" count="5"/>
      <line num="51" type="method" name="getMessages" visibility="public" complexity="8" crap="23.30" count="1"/>
      <line num="52" type="stmt" count="1"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" 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="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="1"/>
      <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="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="stmt" count="1"/>
      <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="86" type="stmt" count="1"/>
      <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="94" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="99" type="method" name="getMetadata" visibility="public" complexity="15" crap="36.13" count="2"/>
      <line num="100" type="stmt" count="2"/>
      <line num="101" type="stmt" count="0"/>
      <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="0"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="1"/>
      <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="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="1"/>
      <line num="130" type="stmt" count="0"/>
      <line num="133" type="stmt" count="1"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="2"/>
      <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="144" type="stmt" count="0"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="2"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <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="165" type="stmt" count="2"/>
      <line num="169" type="method" name="getRawData" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" 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="175" type="stmt" count="0"/>
      <line num="178" 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="187" type="stmt" count="0"/>
      <metrics loc="190" ncloc="176" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="42" elements="100" coveredelements="44"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleContentHandler.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleContentHandler" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="36" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="getContentClass" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="makeEmptyContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="36" type="method" name="validateSave" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="50" type="method" name="fillParserOutput" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" 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="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <metrics loc="92" ncloc="79" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="36" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleDependencyPurger.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleDependencyPurger" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="method" name="purge" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="40" ncloc="33" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleLuaLibrary.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleLuaLibrary" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="25" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="register" visibility="public" complexity="1" crap="2" 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="30" type="stmt" count="0"/>
      <line num="34" type="method" name="validate" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="47" type="method" name="getMessageBundleTranslations" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <metrics loc="66" ncloc="54" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="25" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleMessageGroup" namespace="global">
        <metrics complexity="35" methods="25" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="33" elements="99" coveredelements="36"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="55" type="method" name="getGroupId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="method" name="getBundlePageId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="method" name="getData" visibility="private" complexity="5" crap="5.00" count="5"/>
      <line num="64" type="stmt" count="5"/>
      <line num="65" type="stmt" count="0"/>
      <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="4"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="93" type="method" name="makeGroupKeys" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="1"/>
      <line num="98" type="stmt" count="2"/>
      <line num="102" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="107" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="method" name="getDescription" visibility="public" complexity="3" crap="12" 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="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="132" type="method" name="getIcon" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="137" type="method" name="getNamespace" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="142" type="method" name="isMeta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="147" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="152" type="method" name="getValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="157" type="method" name="getMangler" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="162" type="method" name="initCollection" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="174" type="method" name="load" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="179" type="method" name="getDefinitions" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="181" 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="186" type="stmt" count="2"/>
      <line num="190" type="method" name="getKeys" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="195" type="method" name="getTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="200" type="method" name="getMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="209" type="method" name="getSourceLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="214" type="method" name="getMessageGroupStates" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="225" type="method" name="getTranslatableLanguages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="230" type="method" name="getSupportConfig" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="235" type="method" name="getRelatedPage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <metrics loc="240" ncloc="213" classes="1" methods="25" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="33" elements="99" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleMessageGroupFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleMessageGroupFactory" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="47" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="getCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getCacheVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="getDependencies" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="method" name="getData" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <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="70" type="stmt" count="0"/>
      <line num="74" type="method" name="createGroups" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <metrics loc="104" ncloc="94" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="47" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleMetadata.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleMetadata" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="33" type="method" name="getSourceLanguageCode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="getPriorityLanguages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="areOnlyPriorityLanguagesAllowed" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <metrics loc="53" ncloc="47" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleStore.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleStore" namespace="global">
        <metrics complexity="23" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="0" elements="85" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="method" name="move" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="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="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="method" name="handleNullRevisionInsert" visibility="public" complexity="2" crap="6" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="method" name="delete" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="88" type="method" name="validate" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" 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="116" type="stmt" count="0"/>
      <line num="117" 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="125" type="stmt" count="0"/>
      <line num="130" type="method" name="save" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="136" 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="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="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="171" type="stmt" count="0"/>
      <line num="172" 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="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <metrics loc="192" ncloc="171" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="0" elements="85" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/MessageBundleTranslationLoader.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\MessageBundleTranslationLoader" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="38" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="25" type="method" name="get" visibility="public" complexity="2" crap="6" 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"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="getTranslationsWithFallback" visibility="private" complexity="7" crap="56" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" 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="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <metrics loc="88" ncloc="80" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/PurgeMessageBundleDependenciesJob.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\PurgeMessageBundleDependenciesJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="13" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="run" visibility="public" complexity="1" crap="2" 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="36" type="stmt" count="0"/>
      <metrics loc="39" ncloc="33" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="13" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/ScribuntoHookHandler.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\ScribuntoHookHandler" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="8" type="method" name="onScribuntoExternalLibraries" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="9" type="stmt" count="0"/>
      <line num="10" 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"/>
      <metrics loc="19" ncloc="19" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageBundleTranslation/UpdateMessageBundleJob.php">
      <class name="MediaWiki\Extension\Translate\MessageBundleTranslation\UpdateMessageBundleJob" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="73" coveredstatements="0" elements="77" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="newJob" visibility="public" complexity="1" crap="2" 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"/>
      <line num="40" type="method" name="run" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" 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"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" 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="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="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="139" type="method" name="getMessageSubscriptionState" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <metrics loc="158" ncloc="127" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="73" coveredstatements="0" elements="77" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/FileBasedMessageGroupFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\FileBasedMessageGroupFactory" namespace="global">
        <metrics complexity="16" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="24" elements="48" coveredelements="26"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="34" type="method" name="getCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getCacheVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="getDependencies" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="method" name="getData" visibility="public" complexity="5" crap="5.58" 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="0"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <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="73" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="83" type="method" name="createGroups" visibility="public" complexity="2" crap="2" 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="93" type="stmt" count="1"/>
      <line num="102" type="method" name="appendAutoloader" visibility="private" complexity="4" crap="13.26" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <metrics loc="114" ncloc="100" classes="1" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="24" elements="48" coveredelements="26"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/HookDefinedMessageGroupFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\HookDefinedMessageGroupFactory" namespace="global">
        <metrics complexity="10" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="method" name="getCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="getCacheVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="getDependencies" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="getData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" 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="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="createGroups" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="71" type="method" name="appendAutoloader" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <metrics loc="83" ncloc="65" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/InvalidGroupConfigurationException.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\InvalidGroupConfigurationException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="16" ncloc="8" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/MessageGroupConfigurationParser.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\MessageGroupConfigurationParser" namespace="global">
        <metrics complexity="42" methods="11" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="48" elements="95" coveredelements="52"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="2" crap="2.15" count="12"/>
      <line num="25" type="stmt" count="12"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="stmt" count="12"/>
      <line num="41" type="method" name="getHopefullyValidConfigurations" visibility="public" complexity="8" crap="9.73" count="10"/>
      <line num="42" type="stmt" count="10"/>
      <line num="43" type="stmt" count="9"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="10"/>
      <line num="49" type="stmt" count="10"/>
      <line num="50" type="stmt" count="10"/>
      <line num="52" type="stmt" count="10"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="62" type="stmt" count="10"/>
      <line num="64" type="stmt" count="10"/>
      <line num="65" type="stmt" count="9"/>
      <line num="66" type="stmt" count="9"/>
      <line num="68" type="stmt" count="9"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="76" type="stmt" count="10"/>
      <line num="83" type="method" name="getDocumentsFromYaml" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="84" type="stmt" count="12"/>
      <line num="93" type="method" name="parseDocuments" visibility="public" complexity="6" crap="6" count="12"/>
      <line num="94" type="stmt" count="12"/>
      <line num="95" 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="4"/>
      <line num="103" type="stmt" count="12"/>
      <line num="107" type="stmt" count="12"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="113" type="stmt" count="1"/>
      <line num="115" type="stmt" count="4"/>
      <line num="119" type="stmt" count="12"/>
      <line num="132" type="method" name="resolveTemplateSelector" visibility="private" complexity="5" crap="5" count="4"/>
      <line num="133" type="stmt" count="4"/>
      <line num="134" type="stmt" count="4"/>
      <line num="135" type="stmt" count="4"/>
      <line num="137" type="stmt" count="4"/>
      <line num="138" type="stmt" count="2"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="1"/>
      <line num="143" type="stmt" count="4"/>
      <line num="149" type="method" name="isAggregateGroup" visibility="private" complexity="2" crap="2.50" count="4"/>
      <line num="151" type="stmt" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="158" type="method" name="getBaseSchema" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="167" type="method" name="validate" visibility="public" complexity="6" crap="35.66" count="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="198" type="method" name="mergeTemplate" visibility="public" complexity="5" crap="5" 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="203" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="210" type="method" name="getFilesSchemaExtra" visibility="private" complexity="3" crap="12" 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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="method" name="callGetExtraSchema" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <metrics loc="232" ncloc="183" classes="1" methods="11" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="48" elements="95" coveredelements="52"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/MessageGroupFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\MessageGroupFactory" namespace="global">
        <metrics complexity="11" 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="15"/>
      <line num="29" type="stmt" count="15"/>
      <line num="42" type="method" name="createGroup" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="43" type="stmt" count="14"/>
      <line num="44" type="stmt" count="11"/>
      <line num="57" type="method" name="resolveClass" visibility="public" complexity="6" crap="6" 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="62" type="stmt" count="15"/>
      <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="69" type="stmt" count="14"/>
      <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="76" type="stmt" count="13"/>
      <line num="77" type="stmt" count="5"/>
      <line num="80" type="stmt" count="8"/>
      <line num="91" type="method" name="instantiate" visibility="private" complexity="3" crap="3" count="11"/>
      <line num="92" type="stmt" count="11"/>
      <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="10"/>
      <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="9"/>
      <metrics loc="107" 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/Translate/src/MessageGroupConfiguration/MessageGroupTypeRegistry.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\MessageGroupTypeRegistry" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="6" coveredelements="6"/>
      </class>
      <line num="44" type="method" name="getSpec" visibility="public" complexity="2" crap="2" count="14"/>
      <line num="45" type="stmt" count="14"/>
      <line num="46" type="stmt" count="2"/>
      <line num="48" type="stmt" count="12"/>
      <line num="58" type="method" name="getClass" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="59" type="stmt" count="5"/>
      <metrics loc="62" ncloc="38" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/MetaYamlSchemaExtender.php">
      <metrics loc="27" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/PremadeIntuitionTextdomains.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\PremadeIntuitionTextdomains" namespace="global">
        <metrics complexity="9" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="42" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="getDefaultNamespace" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="processGroups" visibility="protected" complexity="7" crap="56" 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="33" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <metrics loc="94" ncloc="78" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupConfiguration/PremadeMediaWikiExtensionGroups.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupConfiguration\PremadeMediaWikiExtensionGroups" namespace="global">
        <metrics complexity="53" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="165" coveredstatements="161" elements="174" coveredelements="169"/>
      </class>
      <line num="35" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="37" type="stmt" count="6"/>
      <line num="41" type="method" name="getDefaultNamespace" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="46" type="method" name="getNamespace" visibility="protected" complexity="2" crap="2" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="2"/>
      <line num="50" type="stmt" count="3"/>
      <line num="54" type="method" name="setGroupPrefix" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="59" type="method" name="setNamespace" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="64" type="method" name="register" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="79" type="method" name="createMessageGroup" visibility="protected" complexity="14" crap="14" 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="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="90" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="95" 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="102" type="stmt" count="3"/>
      <line num="103" 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="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="118" 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="123" 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="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="141" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" 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="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="172" type="method" name="parseFile" visibility="protected" complexity="25" crap="25.23" 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="6"/>
      <line num="181" type="stmt" count="6"/>
      <line num="182" type="stmt" count="6"/>
      <line num="183" type="stmt" count="6"/>
      <line num="185" type="stmt" count="6"/>
      <line num="186" type="stmt" count="6"/>
      <line num="187" type="stmt" count="0"/>
      <line num="190" type="stmt" count="6"/>
      <line num="191" type="stmt" count="5"/>
      <line num="192" type="stmt" count="5"/>
      <line num="194" type="stmt" count="1"/>
      <line num="197" 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="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="208" type="stmt" count="4"/>
      <line num="209" type="stmt" count="4"/>
      <line num="210" type="stmt" count="4"/>
      <line num="211" 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"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="3"/>
      <line num="219" 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="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="3"/>
      <line num="229" type="stmt" count="3"/>
      <line num="230" type="stmt" count="3"/>
      <line num="233" type="stmt" count="3"/>
      <line num="234" type="stmt" count="3"/>
      <line num="235" type="stmt" count="3"/>
      <line num="237" type="stmt" count="1"/>
      <line num="242" type="stmt" count="4"/>
      <line num="243" type="stmt" count="4"/>
      <line num="244" type="stmt" count="1"/>
      <line num="246" type="stmt" count="3"/>
      <line num="250" type="stmt" count="3"/>
      <line num="253" type="method" name="processGroups" visibility="protected" complexity="6" crap="6" count="3"/>
      <line num="254" type="stmt" count="3"/>
      <line num="255" type="stmt" count="3"/>
      <line num="256" type="stmt" count="3"/>
      <line num="258" type="stmt" count="3"/>
      <line num="260" type="stmt" count="3"/>
      <line num="261" type="stmt" count="3"/>
      <line num="263" type="stmt" count="3"/>
      <line num="266" type="stmt" count="3"/>
      <line num="268" type="stmt" count="3"/>
      <line num="269" type="stmt" count="3"/>
      <line num="270" type="stmt" count="3"/>
      <line num="271" type="stmt" count="3"/>
      <line num="272" 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="281" type="stmt" count="3"/>
      <line num="282" type="stmt" count="3"/>
      <line num="283" type="stmt" count="3"/>
      <line num="284" type="stmt" count="3"/>
      <line num="286" type="stmt" count="3"/>
      <line num="287" type="stmt" count="3"/>
      <line num="288" type="stmt" count="3"/>
      <line num="293" type="stmt" count="3"/>
      <line num="294" type="stmt" count="3"/>
      <line num="298" type="stmt" count="3"/>
      <line num="299" type="stmt" count="3"/>
      <line num="301" type="stmt" count="3"/>
      <line num="304" type="stmt" count="3"/>
      <line num="309" type="stmt" count="0"/>
      <metrics loc="310" ncloc="282" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="166" coveredstatements="161" elements="175" coveredelements="169"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupAssociationFailure.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupAssociationFailure" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="27" ncloc="20" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupLanguageMismatchException.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupLanguageMismatchException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="31" ncloc="21" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupManager.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupManager" namespace="global">
        <metrics complexity="34" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="0" elements="96" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="method" name="supportsAggregation" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="getTargetTitleByGroupId" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="48" type="method" name="getTargetTitleByGroup" visibility="public" complexity="2" crap="6" 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="54" type="stmt" count="0"/>
      <line num="58" type="method" name="add" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="86" type="method" name="associate" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="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="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="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="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="136" type="method" name="disassociate" visibility="public" complexity="1" crap="2" 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="144" type="method" name="hasGroupsSupportingAggregation" visibility="public" complexity="3" crap="12" 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="152" type="stmt" count="0"/>
      <line num="159" type="method" name="getAll" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" 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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="184" type="method" name="findMissingGroupIds" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="193" type="method" name="getSubgroups" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="204" type="method" name="generateAggregateGroupId" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" 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="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <metrics loc="228" ncloc="179" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="84" coveredstatements="0" elements="96" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupMessageGroupFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupMessageGroupFactory" namespace="global">
        <metrics complexity="9" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="14" elements="39" coveredelements="16"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="21" type="stmt" count="1"/>
      <line num="23" type="method" name="getCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="getCacheVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="getDependencies" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="getData" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="60" type="method" name="createGroups" visibility="public" complexity="2" crap="2" 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="74" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <metrics loc="80" ncloc="72" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="14" elements="39" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupNotFoundException.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupNotFoundException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <metrics loc="19" ncloc="13" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupsActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupsActionApi" namespace="global">
        <metrics complexity="42" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="158" coveredstatements="0" elements="166" coveredelements="0"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="execute" visibility="public" complexity="31" crap="992" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" 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="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" 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="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="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="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="122" 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="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="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" 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="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" 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="186" type="stmt" count="0"/>
      <line num="187" 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="198" 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="203" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="222" type="method" name="getGroupsWithDifferentLanguage" visibility="private" complexity="3" crap="12" 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="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="239" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="243" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="248" 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="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="275" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="276" 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="283" type="method" name="getIncludableGroups" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <metrics loc="295" ncloc="269" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="158" coveredstatements="0" elements="166" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/AggregateGroupsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupsSpecialPage" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="0" elements="76" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="98" type="method" name="getSubGroupInfoForTemplate" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" 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="121" type="stmt" count="0"/>
      <line num="131" type="method" name="getGroupCache" visibility="private" complexity="2" crap="6" 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="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <metrics loc="145" ncloc="126" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="0" elements="76" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/CachedMessageGroupFactory.php">
      <metrics loc="33" ncloc="21" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/CachedMessageGroupFactoryLoader.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\CachedMessageGroupFactoryLoader" namespace="global">
        <metrics complexity="7" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="31" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="method" name="getGroups" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="38" type="method" name="recache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="clearCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="method" name="getCachedValue" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="method" name="getCacheData" visibility="private" complexity="1" crap="2" 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="71" type="stmt" count="0"/>
      <metrics loc="74" ncloc="65" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="31" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/CachedMessageGroupLoader.php">
      <line num="27" type="stmt" count="0"/>
      <metrics loc="28" ncloc="15" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="1" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/CsvTranslationImporter.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\CsvTranslationImporter" namespace="global">
        <metrics complexity="39" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="79" elements="132" coveredelements="81"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="29" type="stmt" count="5"/>
      <line num="36" type="method" name="parseFile" visibility="public" complexity="17" crap="17.29" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <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="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="58" type="stmt" count="4"/>
      <line num="59" type="stmt" count="4"/>
      <line num="60" type="stmt" count="2"/>
      <line num="63" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="67" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" 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="1"/>
      <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="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="93" 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="0"/>
      <line num="101" type="stmt" count="2"/>
      <line num="103" type="stmt" count="2"/>
      <line num="106" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="113" type="stmt" count="2"/>
      <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="2"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="142" type="method" name="importData" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" 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="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" 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="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="212" type="method" name="getLanguagesFromHeader" visibility="private" complexity="6" crap="6.12" count="4"/>
      <line num="213" type="stmt" count="4"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" type="stmt" count="4"/>
      <line num="221" type="stmt" count="1"/>
      <line num="224" type="stmt" count="3"/>
      <line num="225" 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="1"/>
      <line num="233" type="stmt" count="3"/>
      <line num="235" type="stmt" count="3"/>
      <line num="238" type="stmt" count="3"/>
      <line num="239" type="stmt" count="1"/>
      <line num="240" type="stmt" count="1"/>
      <line num="241" type="stmt" count="1"/>
      <line num="244" type="stmt" count="2"/>
      <line num="247" type="method" name="getMessageHandleIfValid" visibility="private" complexity="3" crap="3.03" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="0"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="258" type="stmt" count="1"/>
      <line num="262" type="method" name="isCsvRowEmpty" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="263" type="stmt" count="4"/>
      <metrics loc="266" ncloc="230" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="79" elements="132" coveredelements="81"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/DeleteTranslatableBundleJob.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\DeleteTranslatableBundleJob" namespace="global">
        <metrics complexity="15" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="0" elements="70" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="method" name="run" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" 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="90" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" 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="101" 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="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="method" name="getSummary" visibility="public" complexity="2" crap="6" 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="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="127" type="method" name="getReason" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="method" name="isTranslation" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="method" name="getPerformer" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="140" type="method" name="getBase" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="method" name="getBundleType" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <metrics loc="149" ncloc="136" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="0" elements="70" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/DuplicateAggregateGroupException.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\DuplicateAggregateGroupException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="23" ncloc="17" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/EventMessageGroupStateChangeHook.php">
      <metrics loc="32" 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/Translate/src/MessageGroupProcessing/EventMessageMembershipChangeHook.php">
      <metrics loc="26" 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/Translate/src/MessageGroupProcessing/ExportTranslatableBundleMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\ExportTranslatableBundleMaintenanceScript" namespace="global">
        <metrics complexity="9" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="64" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="51" type="stmt" count="0"/>
      <line num="55" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="method" name="setupServices" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="method" name="getBundleToExport" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="97" type="method" name="getExportFilename" visibility="private" complexity="2" crap="6" 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="0"/>
      <line num="106" type="method" name="exportPageCallback" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <metrics loc="110" ncloc="103" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="64" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/GroupReviewActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\GroupReviewActionApi" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="0" elements="56" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="execute" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" 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="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <metrics loc="111" ncloc="104" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="0" elements="56" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/ImportTranslatableBundleMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\ImportTranslatableBundleMaintenanceScript" namespace="global">
        <metrics complexity="25" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="191" coveredstatements="0" elements="201" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="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="105" type="stmt" count="0"/>
      <line num="109" type="method" name="execute" visibility="public" complexity="2" crap="6" 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="117" 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="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="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="137" 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="145" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="method" name="logPageImportComplete" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="163" type="method" name="getPathOfFileToImport" visibility="private" complexity="3" crap="12" 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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="method" name="getImportUser" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="189" type="method" name="getInterwikiPrefix" visibility="private" complexity="2" crap="6" 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="195" type="stmt" count="0"/>
      <line num="199" type="method" name="getPriorityLanguages" visibility="private" complexity="2" crap="6" 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="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="210" type="stmt" count="0"/>
      <line num="213" type="method" name="markPageForTranslation" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="218" 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="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="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" 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="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" 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="257" type="method" name="getTranslatablePageSettings" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="269" type="method" name="getTargetPageName" visibility="private" complexity="6" crap="42" 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="276" 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="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <metrics loc="297" ncloc="286" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="191" coveredstatements="0" elements="201" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/ImportTranslationsFromCsv.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\ImportTranslationsFromCsv" namespace="global">
        <metrics complexity="14" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="0" elements="82" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" 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="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="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="73" 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="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" 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="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" 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="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="126" type="method" name="progressReporter" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" 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="141" 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="151" type="method" name="filterEmptyTranslations" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <metrics loc="155" ncloc="139" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="0" elements="82" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/InitGroupLoadersHook.php">
      <metrics loc="23" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/ManageMessageGroupsActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\ManageMessageGroupsActionApi" namespace="global">
        <metrics complexity="36" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="179" coveredstatements="135" elements="186" coveredelements="137"/>
      </class>
      <line num="29" type="method" name="execute" visibility="public" complexity="10" crap="16.06" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="31" 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="38" type="stmt" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="2"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="0"/>
      <line num="71" type="stmt" count="3"/>
      <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="1"/>
      <line num="76" type="stmt" count="1"/>
      <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="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="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="101" type="stmt" count="0"/>
      <line num="105" 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="113" type="method" name="handleRename" visibility="protected" complexity="9" crap="10.06" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" 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="128" 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="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="151" type="stmt" count="2"/>
      <line num="152" type="stmt" count="0"/>
      <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="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="172" 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="177" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <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="198" 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="208" type="stmt" count="2"/>
      <line num="212" type="method" name="handleSourceRename" visibility="protected" complexity="7" crap="7.39" count="2"/>
      <line num="218" type="stmt" count="2"/>
      <line num="220" type="stmt" count="2"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" 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="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="0"/>
      <line num="235" type="stmt" count="2"/>
      <line num="236" type="stmt" count="1"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="0"/>
      <line num="244" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" 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="261" type="stmt" count="2"/>
      <line num="262" type="stmt" count="2"/>
      <line num="266" type="method" name="handleNew" visibility="protected" complexity="7" crap="7.60" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="272" 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="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="0"/>
      <line num="283" type="stmt" count="1"/>
      <line num="284" type="stmt" count="0"/>
      <line num="288" type="stmt" count="1"/>
      <line num="289" type="stmt" count="0"/>
      <line num="293" type="stmt" count="1"/>
      <line num="297" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="298" type="stmt" count="4"/>
      <line num="299" type="stmt" count="4"/>
      <line num="300" type="stmt" count="4"/>
      <line num="301" type="stmt" 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="307" 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="319" type="stmt" count="4"/>
      <line num="320" type="stmt" count="4"/>
      <line num="321" type="stmt" count="4"/>
      <line num="322" type="stmt" count="4"/>
      <line num="323" type="stmt" count="4"/>
      <line num="324" type="stmt" count="4"/>
      <line num="327" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="331" type="method" name="needsToken" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="332" type="stmt" count="4"/>
      <metrics loc="335" ncloc="298" classes="1" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="179" coveredstatements="135" elements="186" coveredelements="137"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupCache.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupCache" namespace="global">
        <metrics complexity="37" methods="15" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="87" coveredstatements="39" elements="102" coveredelements="46"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="48" type="method" name="getKeys" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" 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="58" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="68" type="method" name="getTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="73" type="method" name="getUpdateTimestamp" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="81" type="method" name="get" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="89" type="method" name="getAuthors" visibility="public" complexity="2" crap="2" 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="96" type="method" name="getExtra" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="105" type="method" name="create" visibility="public" complexity="5" crap="5.08" count="1"/>
      <line num="106" 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="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="118" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="121" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" 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="146" type="method" name="isValid" visibility="public" complexity="13" crap="182" 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="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="166" 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="175" 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="181" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="219" type="method" name="invalidate" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="method" name="serialize" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="229" type="method" name="unserialize" visibility="private" complexity="2" crap="2.06" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="0"/>
      <line num="236" type="stmt" count="1"/>
      <line num="240" type="method" name="open" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="241" type="stmt" count="1"/>
      <line num="243" type="stmt" count="1"/>
      <line num="247" type="method" name="close" visibility="protected" complexity="2" crap="3.19" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <metrics loc="255" ncloc="193" classes="1" methods="15" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="87" coveredstatements="39" elements="102" coveredelements="46"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupLoader.php">
      <line num="26" type="stmt" count="0"/>
      <metrics loc="27" ncloc="13" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="1" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupReviewStore.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupReviewStore" namespace="global">
        <metrics complexity="22" methods="11" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="106" coveredstatements="39" elements="117" coveredelements="42"/>
      </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="33" type="method" name="getState" 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="47" type="method" name="changeState" visibility="public" 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="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="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="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="86" type="method" name="getGroupPriority" visibility="public" complexity="1" crap="2" 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="93" type="method" name="setGroupPriority" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="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"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="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="123" type="method" name="preloadGroupPriorities" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" 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="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="136" type="stmt" count="0"/>
      <line num="145" type="method" name="getWorkflowState" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="154" type="method" name="getWorkflowStatesForLanguage" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="169" type="method" name="getWorkflowStatesForGroup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="178" type="method" name="getWorkflowStates" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" 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="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="method" name="result2map" visibility="private" complexity="2" crap="6" 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="208" type="stmt" count="0"/>
      <metrics loc="212" ncloc="187" classes="1" methods="11" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="106" coveredstatements="39" elements="117" coveredelements="42"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupStates.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupStates" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="method" name="getStates" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="getConditions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <metrics loc="37" ncloc="28" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupStatesUpdaterJob.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupStatesUpdaterJob" namespace="global">
        <metrics complexity="31" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="36" elements="72" coveredelements="36"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="33" type="method" name="onChange" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="run" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="method" name="getGroupsWithTransitions" visibility="public" complexity="4" crap="4.02" 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="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="92" type="method" name="getStatValue" visibility="public" complexity="6" crap="6.02" 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="2"/>
      <line num="101" type="stmt" count="4"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" 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="108" type="stmt" count="0"/>
      <line num="112" type="method" name="matchCondition" visibility="public" complexity="5" crap="5.07" count="8"/>
      <line num="114" type="stmt" count="8"/>
      <line num="115" type="stmt" count="3"/>
      <line num="116" type="stmt" count="6"/>
      <line num="117" type="stmt" count="3"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="121" type="stmt" count="0"/>
      <line num="130" type="method" name="getNewState" visibility="public" complexity="6" crap="6.03" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" 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="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="149" type="stmt" count="0"/>
      <metrics loc="152" ncloc="133" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="36" elements="72" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupSubscription.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription" namespace="global">
        <metrics complexity="47" methods="19" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="141" coveredstatements="102" elements="160" coveredelements="111"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="4"/>
      <line num="53" type="method" name="isEnabled" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="54" type="stmt" count="4"/>
      <line num="57" type="method" name="subscribeToGroup" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="method" name="isUserSubscribedTo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="method" name="unsubscribeFromGroup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="79" type="method" name="unsubscribeFromGroupsById" visibility="public" complexity="2" crap="6" 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="90" type="method" name="subscribeToGroupsById" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="98" type="method" name="getUserSubscriptions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="109" type="method" name="queueMessage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="113" type="method" name="queueNotificationJob" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="114" 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="124" type="stmt" count="1"/>
      <line num="131" type="method" name="sendNotifications" visibility="public" complexity="12" crap="13.21" count="3"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="140" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="144" type="stmt" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="2"/>
      <line num="149" 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="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="165" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <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="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="185" type="stmt" count="3"/>
      <line num="186" type="stmt" count="3"/>
      <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="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="3"/>
      <line num="202" type="stmt" count="3"/>
      <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="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="209" type="stmt" count="2"/>
      <line num="210" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <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="219" 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="225" type="stmt" count="3"/>
      <line num="226" type="stmt" count="3"/>
      <line num="235" type="method" name="getGroupSubscribers" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="250" type="method" name="excludeCommonSubscribers" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="253" type="stmt" count="3"/>
      <line num="254" type="stmt" count="3"/>
      <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="263" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="272" type="method" name="getUserIdentities" visibility="private" complexity="2" crap="2.02" count="3"/>
      <line num="273" type="stmt" count="3"/>
      <line num="274" type="stmt" count="0"/>
      <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="289" type="method" name="getSubscriberIdsForGroups" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="290" type="stmt" count="3"/>
      <line num="293" type="method" name="canUserSubscribeToGroup" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="313" type="method" name="getMappedAggregateGroupIds" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="314" type="stmt" count="3"/>
      <line num="316" type="stmt" count="3"/>
      <line num="317" type="stmt" count="3"/>
      <line num="318" type="stmt" count="3"/>
      <line num="320" 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="330" type="stmt" count="3"/>
      <line num="334" type="method" name="mapGroups" visibility="private" complexity="5" crap="5" count="3"/>
      <line num="335" type="stmt" count="3"/>
      <line num="336" type="stmt" count="3"/>
      <line num="337" type="stmt" count="3"/>
      <line num="339" type="stmt" count="3"/>
      <line num="340" type="stmt" count="3"/>
      <line num="341" type="stmt" count="3"/>
      <line num="342" type="stmt" count="3"/>
      <line num="344" type="stmt" count="3"/>
      <line num="346" type="stmt" count="3"/>
      <line num="349" type="stmt" count="3"/>
      <line num="357" type="method" name="appendToState" visibility="private" complexity="2" crap="2" 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="364" type="stmt" count="2"/>
      <metrics loc="367" ncloc="292" classes="1" methods="19" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="141" coveredstatements="102" elements="160" coveredelements="111"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupSubscriptionActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionActionApi" namespace="global">
        <metrics complexity="13" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="0" elements="53" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="method" name="handleSubscriptionFailure" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <metrics loc="100" ncloc="93" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="0" elements="53" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupSubscriptionHookHandler.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionHookHandler" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="38" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="registerHooks" visibility="public" complexity="1" crap="2" 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="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="onBeforeCreateEchoEvent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="68" type="method" name="onEchoGetBundleRules" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <metrics loc="74" ncloc="67" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupSubscriptionNotificationJob.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionNotificationJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="28" type="method" name="run" visibility="public" complexity="1" crap="2" 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="33" type="stmt" count="0"/>
      <metrics loc="36" ncloc="28" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupSubscriptionPresentationModel.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionPresentationModel" namespace="global">
        <metrics complexity="12" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="43" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getIconType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="23" type="method" name="getPrimaryLink" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="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="37" type="method" name="getHeaderMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" type="method" name="getCompactHeaderMessageKey" visibility="public" complexity="2" crap="6" 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="50" type="stmt" count="0"/>
      <line num="54" type="method" name="getCompactHeaderMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="method" name="getBodyMessage" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="82" type="method" name="getNumberOfChangedMessages" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <metrics loc="91" ncloc="79" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroupSubscriptionStore.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionStore" namespace="global">
        <metrics complexity="10" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="31" elements="49" coveredelements="33"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="26" type="method" name="addSubscription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <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="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="44" type="method" name="getSubscriptions" visibility="public" complexity="4" crap="4.06" 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="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="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" 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="69" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="74" type="method" name="removeSubscriptions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="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="86" type="method" name="getGroupIdForDatabase" visibility="public" complexity="3" crap="3.07" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <metrics loc="97" ncloc="83" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="31" elements="49" coveredelements="33"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/MessageGroups.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroups" namespace="global">
        <metrics complexity="99" methods="30" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="255" coveredstatements="163" elements="285" coveredelements="173"/>
      </class>
      <line num="46" type="method" name="init" visibility="protected" complexity="3" crap="3" count="6"/>
      <line num="47" type="stmt" count="6"/>
      <line num="48" type="stmt" count="5"/>
      <line num="51" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="63" type="method" name="initGroupsFromDefinitions" visibility="protected" complexity="3" crap="3.14" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="0"/>
      <line num="70" type="stmt" count="6"/>
      <line num="74" type="method" name="recache" visibility="public" complexity="3" crap="3" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="79" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="81" type="stmt" count="6"/>
      <line num="83" type="stmt" count="6"/>
      <line num="86" type="stmt" count="6"/>
      <line num="95" type="method" name="clearProcessCache" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="97" type="stmt" count="6"/>
      <line num="100" type="method" name="getCache" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="101" type="stmt" count="6"/>
      <line num="105" type="method" name="setCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="110" type="method" name="getCacheKey" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="111" type="stmt" count="6"/>
      <line num="119" type="method" name="getGroupLoaders" visibility="protected" complexity="5" crap="5.04" count="6"/>
      <line num="120" type="stmt" count="6"/>
      <line num="121" type="stmt" count="5"/>
      <line num="124" type="stmt" count="6"/>
      <line num="125" type="stmt" count="6"/>
      <line num="126" type="stmt" count="6"/>
      <line num="128" 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="136" type="stmt" count="6"/>
      <line num="138" type="stmt" count="6"/>
      <line num="139" type="stmt" count="1"/>
      <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="146" type="stmt" count="1"/>
      <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"/>
      <line num="154" type="stmt" count="6"/>
      <line num="155" type="stmt" count="6"/>
      <line num="157" type="stmt" count="6"/>
      <line num="158" type="stmt" 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="167" type="stmt" count="6"/>
      <line num="169" type="stmt" count="6"/>
      <line num="178" type="method" name="getGroup" visibility="public" complexity="4" crap="6.74" count="5"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <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="193" type="stmt" count="0"/>
      <line num="197" type="method" name="normalizeId" visibility="public" complexity="3" crap="3.33" count="5"/>
      <line num="200" type="stmt" count="5"/>
      <line num="202" type="stmt" count="5"/>
      <line num="203" type="stmt" count="0"/>
      <line num="207" type="stmt" count="5"/>
      <line num="208" type="stmt" count="0"/>
      <line num="211" type="stmt" count="5"/>
      <line num="214" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="219" type="method" name="labelExists" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="220" 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="230" type="stmt" count="0"/>
      <line num="237" type="method" name="getAllGroups" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="238" type="stmt" count="3"/>
      <line num="248" type="method" name="getPriority" visibility="public" complexity="2" crap="2.06" count="5"/>
      <line num="249" type="stmt" count="5"/>
      <line num="250" type="stmt" count="5"/>
      <line num="252" type="stmt" count="0"/>
      <line num="255" type="stmt" count="5"/>
      <line num="264" type="method" name="setPriority" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="275" type="method" name="isDynamic" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="287" type="method" name="getSharedGroups" visibility="public" complexity="3" crap="3" 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="297" type="stmt" count="3"/>
      <line num="298" type="stmt" count="3"/>
      <line num="299" type="stmt" count="3"/>
      <line num="303" type="stmt" count="3"/>
      <line num="312" type="method" name="getParentGroups" visibility="public" complexity="11" crap="11.03" count="3"/>
      <line num="313" type="stmt" count="3"/>
      <line num="314" type="stmt" count="3"/>
      <line num="315" type="stmt" count="0"/>
      <line num="318" type="stmt" count="3"/>
      <line num="323" type="stmt" count="3"/>
      <line num="324" type="stmt" count="3"/>
      <line num="325" type="stmt" count="3"/>
      <line num="326" type="stmt" count="3"/>
      <line num="328" type="stmt" count="3"/>
      <line num="335" type="stmt" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="339" type="stmt" count="3"/>
      <line num="340" type="stmt" count="3"/>
      <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="348" type="stmt" count="2"/>
      <line num="351" type="stmt" count="3"/>
      <line num="354" type="stmt" count="3"/>
      <line num="356" type="stmt" count="3"/>
      <line num="359" type="stmt" count="3"/>
      <line num="360" type="stmt" count="0"/>
      <line num="363" type="stmt" count="3"/>
      <line num="365" type="stmt" count="3"/>
      <line num="367" type="stmt" count="3"/>
      <line num="368" type="stmt" count="3"/>
      <line num="374" type="stmt" count="3"/>
      <line num="375" type="stmt" count="3"/>
      <line num="376" type="stmt" count="3"/>
      <line num="379" type="method" name="singleton" visibility="public" complexity="2" crap="2.06" count="6"/>
      <line num="380" type="stmt" count="6"/>
      <line num="381" type="stmt" count="6"/>
      <line num="382" type="stmt" count="0"/>
      <line num="385" type="stmt" count="6"/>
      <line num="393" type="method" name="getGroups" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="394" type="stmt" count="6"/>
      <line num="396" type="stmt" count="6"/>
      <line num="407" type="method" name="getGroupsById" visibility="public" complexity="5" crap="30" 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="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="433" type="method" name="expandWildcards" visibility="public" complexity="7" crap="8.81" count="5"/>
      <line num="434" type="stmt" count="5"/>
      <line num="436" type="stmt" count="5"/>
      <line num="437" type="stmt" count="5"/>
      <line num="439" type="stmt" count="5"/>
      <line num="440" type="stmt" count="5"/>
      <line num="441" type="stmt" count="5"/>
      <line num="442" type="stmt" count="5"/>
      <line num="444" type="stmt" count="5"/>
      <line num="448" type="stmt" count="5"/>
      <line num="449" type="stmt" count="5"/>
      <line num="453" type="stmt" 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="460" type="stmt" count="0"/>
      <line num="468" type="method" name="getDynamicGroups" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="469" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="483" type="method" name="getGroupsByType" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="504" type="method" name="getGroupStructure" visibility="public" complexity="10" crap="11.56" count="3"/>
      <line num="505" type="stmt" count="3"/>
      <line num="508" type="stmt" count="3"/>
      <line num="509" type="stmt" count="3"/>
      <line num="510" type="stmt" count="3"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="515" type="stmt" count="3"/>
      <line num="516" type="stmt" count="3"/>
      <line num="517" type="stmt" count="3"/>
      <line num="522" type="stmt" count="3"/>
      <line num="527" type="stmt" count="3"/>
      <line num="528" type="stmt" count="3"/>
      <line num="529" type="stmt" count="3"/>
      <line num="537" type="stmt" count="3"/>
      <line num="538" type="stmt" count="3"/>
      <line num="539" type="stmt" count="3"/>
      <line num="540" type="stmt" count="3"/>
      <line num="541" type="stmt" count="3"/>
      <line num="542" type="stmt" count="3"/>
      <line num="543" type="stmt" count="3"/>
      <line num="544" type="stmt" count="3"/>
      <line num="545" type="stmt" count="3"/>
      <line num="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="557" type="stmt" count="3"/>
      <line num="561" type="method" name="groupLabelSort" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="562" type="stmt" count="3"/>
      <line num="563" type="stmt" count="3"/>
      <line num="565" type="stmt" count="3"/>
      <line num="579" type="method" name="subGroups" visibility="public" complexity="5" crap="5.70" count="3"/>
      <line num="584" type="stmt" count="3"/>
      <line num="586" type="stmt" count="3"/>
      <line num="587" type="stmt" count="3"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="600" type="stmt" count="3"/>
      <line num="601" type="stmt" count="3"/>
      <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="610" type="stmt" count="3"/>
      <line num="615" type="stmt" count="3"/>
      <line num="617" type="stmt" count="3"/>
      <line num="619" type="stmt" count="3"/>
      <line num="622" type="stmt" count="3"/>
      <line num="630" type="method" name="haveSingleSourceLanguage" visibility="public" complexity="4" crap="4" count="1"/>
      <line num="631" 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="642" type="stmt" count="1"/>
      <line num="653" type="method" name="isTranslatableMessage" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="662" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="673" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="692" type="method" name="overrideGroupsForTesting" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <metrics loc="699" ncloc="514" classes="1" methods="30" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="256" coveredstatements="163" elements="286" coveredelements="173"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/ModifyMessageGroupStatesHook.php">
      <metrics loc="25" 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/Translate/src/MessageGroupProcessing/MoveTranslatableBundleJob.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\MoveTranslatableBundleJob" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="33" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="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="53" type="stmt" count="0"/>
      <line num="56" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="62" type="method" name="run" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <metrics loc="89" ncloc="71" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="33" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/PageDeleteLogger.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\PageDeleteLogger" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="method" name="logBundleSuccess" visibility="public" complexity="1" crap="2" 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="32" type="method" name="logPageSuccess" visibility="public" complexity="1" crap="2" 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="38" type="method" name="logBundleError" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="method" name="logPageError" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="method" name="publishError" visibility="private" complexity="1" crap="2" 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="54" type="stmt" count="0"/>
      <line num="57" type="method" name="getManualLogEntry" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <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="71" type="stmt" count="0"/>
      <metrics loc="74" ncloc="67" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/PageMoveLogger.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\PageMoveLogger" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="method" name="logSuccess" visibility="public" complexity="1" crap="2" 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="36" type="method" name="logError" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <metrics loc="48" ncloc="41" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/PostInitGroupsHook.php">
      <metrics loc="26" 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/Translate/src/MessageGroupProcessing/ProcessAPIMessageGroupsPropertiesHook.php">
      <metrics loc="33" 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/Translate/src/MessageGroupProcessing/QueryManageMessageGroupsActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\QueryManageMessageGroupsActionApi" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="72" coveredstatements="60" elements="77" coveredelements="62"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="5" crap="5.55" 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="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="1"/>
      <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="53" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="70" type="method" name="getPossibleRenames" visibility="protected" complexity="3" crap="3" 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="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" 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="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="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="117" type="method" name="getAllowedParams" 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="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="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="137" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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"/>
      <metrics loc="144" ncloc="133" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="72" coveredstatements="60" elements="77" coveredelements="62"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/QueryMessageGroupSubscriptionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\QueryMessageGroupSubscriptionApi" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" 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="35" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <metrics loc="39" ncloc="32" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/QueryMessageGroupsActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\QueryMessageGroupsActionApi" namespace="global">
        <metrics complexity="57" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="175" coveredstatements="115" elements="182" coveredelements="118"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="35" type="stmt" count="3"/>
      <line num="38" type="method" name="execute" visibility="public" complexity="21" crap="45.55" count="3"/>
      <line num="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="43" type="stmt" count="3"/>
      <line num="45" type="stmt" count="3"/>
      <line num="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="3"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <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="76" 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="87" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="98" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="101" type="stmt" count="0"/>
      <line num="105" type="stmt" count="3"/>
      <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="118" type="stmt" count="3"/>
      <line num="119" type="stmt" count="3"/>
      <line num="120" type="stmt" count="0"/>
      <line num="124" type="stmt" count="3"/>
      <line num="125" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="130" type="stmt" count="3"/>
      <line num="131" type="stmt" count="3"/>
      <line num="134" type="stmt" count="0"/>
      <line num="138" type="stmt" count="3"/>
      <line num="147" type="method" name="formatGroup" visibility="protected" complexity="23" crap="56.86" count="3"/>
      <line num="148" type="stmt" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="166" type="stmt" count="3"/>
      <line num="167" type="stmt" count="2"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="2"/>
      <line num="174" type="stmt" count="3"/>
      <line num="175" type="stmt" count="0"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="2"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="2"/>
      <line num="186" type="stmt" count="3"/>
      <line num="187" type="stmt" count="2"/>
      <line num="190" type="stmt" count="3"/>
      <line num="191" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="197" type="stmt" count="3"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="3"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="207" type="stmt" count="3"/>
      <line num="208" type="stmt" count="0"/>
      <line num="211" type="stmt" count="3"/>
      <line num="212" type="stmt" count="0"/>
      <line num="215" type="stmt" count="3"/>
      <line num="216" type="stmt" count="0"/>
      <line num="220" type="stmt" count="3"/>
      <line num="221" type="stmt" count="3"/>
      <line num="223" type="stmt" count="0"/>
      <line num="226" type="stmt" count="3"/>
      <line num="229" type="stmt" count="3"/>
      <line num="230" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="237" type="stmt" count="3"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="245" type="stmt" count="3"/>
      <line num="253" type="method" name="getWorkflowStates" visibility="private" complexity="9" crap="90" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="287" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" 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="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="303" type="stmt" count="3"/>
      <line num="304" type="stmt" count="3"/>
      <line num="305" type="stmt" 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="3"/>
      <line num="315" type="stmt" count="3"/>
      <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="3"/>
      <line num="332" type="method" name="getPropertyList" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="333" type="stmt" count="3"/>
      <line num="334" type="stmt" count="3"/>
      <line num="335" type="stmt" count="3"/>
      <line num="336" type="stmt" count="3"/>
      <line num="337" type="stmt" count="3"/>
      <line num="338" type="stmt" count="3"/>
      <line num="339" type="stmt" count="3"/>
      <line num="340" type="stmt" count="3"/>
      <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="3"/>
      <line num="352" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <metrics loc="358" ncloc="311" classes="1" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="175" coveredstatements="115" elements="182" coveredelements="118"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/RevTagStore.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\RevTagStore" namespace="global">
        <metrics complexity="20" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="0" elements="134" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="replaceTag" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="method" name="getLatestRevisionWithTag" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="82" type="method" name="getLatestRevisionsForTags" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="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="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="method" name="removeTags" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" 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"/>
      <line num="136" 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="142" type="stmt" count="0"/>
      <line num="145" type="method" name="isRevIdFuzzy" visibility="public" complexity="1" crap="2" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="173" type="method" name="getTransver" visibility="public" complexity="3" crap="12" 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="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="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="201" type="method" name="setTransver" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="202" 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="226" type="method" name="getTranslatableBundleIds" visibility="public" complexity="2" crap="6" 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="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" 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="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <metrics loc="252" ncloc="207" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="0" elements="134" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/SubpageListBuilder.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\SubpageListBuilder" namespace="global">
        <metrics complexity="23" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="0" elements="71" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="method" name="getSubpagesPerType" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="93" type="method" name="getEmptyResultSet" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="109" type="method" name="filterOtherTranslationPages" visibility="private" complexity="4" crap="20" 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="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="122" type="stmt" count="0"/>
      <line num="132" type="method" name="getTalkPages" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" 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="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="151" type="stmt" count="0"/>
      <metrics loc="154" ncloc="128" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="0" elements="71" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundle.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundle" namespace="global">
        <metrics complexity="4" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="26" coveredelements="0"/>
      </class>
      <line num="55" type="method" name="getTranslationUnitPagesByTitle" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <metrics loc="103" ncloc="63" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="26" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleExporter.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleExporter" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="35" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="35" type="method" name="export" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="69" type="method" name="setExportPageCallback" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="77" type="method" name="exportPages" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <metrics loc="87" ncloc="73" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="35" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleFactory" namespace="global">
        <metrics complexity="17" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="0" elements="35" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="method" name="getBundle" visibility="public" complexity="3" crap="12" 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="35" type="stmt" count="0"/>
      <line num="39" type="method" name="getValidBundle" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="method" name="getBundleFromClass" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="56" type="method" name="getPageMoveLogger" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="getPageDeleteLogger" visibility="public" complexity="3" crap="12" 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="73" type="stmt" count="0"/>
      <line num="76" type="method" name="getStore" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <metrics loc="86" ncloc="77" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="0" elements="35" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleImportException.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImportException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="16" 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/Translate/src/MessageGroupProcessing/TranslatableBundleImportTitleFactory.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImportTitleFactory" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="9" elements="18" coveredelements="10"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="33" type="method" name="createTitleFromForeignTitle" visibility="public" complexity="3" crap="3.91" count="2"/>
      <line num="34" type="stmt" count="2"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <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="50" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="53" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <metrics loc="58" ncloc="50" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="9" elements="18" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleImporter.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImporter" namespace="global">
        <metrics complexity="18" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="66" coveredelements="0"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="51" type="method" name="getInstance" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="56" type="method" name="import" visibility="public" complexity="6" crap="42" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="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="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="118" type="method" name="setPageImportCompleteCallback" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="method" name="logImport" visibility="private" complexity="2" crap="6" 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="130" type="stmt" count="0"/>
      <line num="138" type="method" name="addReadyTagForTranslatablePage" visibility="private" complexity="4" crap="20" 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="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="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="161" type="method" name="onAfterImportPage" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <metrics loc="170" ncloc="149" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="66" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleLogFormatter.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleLogFormatter" namespace="global">
        <metrics complexity="18" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="0" elements="58" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getMessageParameters" visibility="protected" complexity="12" crap="156" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" 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="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <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="70" type="stmt" count="0"/>
      <line num="73" type="method" name="getComment" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="method" name="getMessageKey" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <metrics loc="104" ncloc="96" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="0" elements="58" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleState.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleState" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="24" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="34" type="method" name="newFromText" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="method" name="getStateId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="getStateText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="method" name="jsonSerialize" visibility="public" complexity="1" crap="2" 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="56" type="method" name="fromJson" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <metrics loc="70" ncloc="64" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="24" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleStatus.php">
      <metrics loc="11" 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/Translate/src/MessageGroupProcessing/TranslatableBundleStatusStore.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleStatusStore" namespace="global">
        <metrics complexity="13" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="20" elements="48" coveredelements="22"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="32" type="method" name="setStatus" visibility="public" complexity="2" crap="2.00" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="0"/>
      <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"/>
      <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="53" type="method" name="getAllWithStatus" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="method" name="removeStatus" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="method" name="getBundleTypeId" visibility="private" complexity="3" crap="4.94" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="95" type="method" name="doesTableExist" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <metrics loc="103" ncloc="95" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="20" elements="48" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/TranslatableBundleStore.php">
      <metrics loc="23" 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/Translate/src/MessageGroupProcessing/TranslatablePageStore.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatablePageStore" namespace="global">
        <metrics complexity="21" methods="9" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="100" coveredstatements="18" elements="109" coveredelements="20"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="42" type="stmt" count="5"/>
      <line num="44" type="method" name="move" visibility="public" complexity="1" crap="2" 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="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="handleNullRevisionInsert" visibility="public" complexity="4" crap="20" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" 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="87" type="method" name="delete" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="99" type="method" name="unmark" visibility="public" complexity="2" crap="6" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="122" type="method" name="performStatusUpdate" visibility="public" complexity="1" crap="2" 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="131" type="method" name="updateStatus" visibility="public" complexity="2" crap="2" 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="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="144" type="stmt" count="5"/>
      <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="152" type="stmt" count="5"/>
      <line num="155" type="method" name="moveMetadata" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" 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="175" type="stmt" count="0"/>
      <line num="176" 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="188" type="method" name="removeFromAggregateGroups" visibility="private" complexity="4" crap="20" 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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="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"/>
      <metrics loc="210" ncloc="191" classes="1" methods="9" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="100" coveredstatements="18" elements="109" coveredelements="20"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroupProcessing/WorkflowStatesMessageGroupLoader.php">
      <class name="MediaWiki\Extension\Translate\MessageGroupProcessing\WorkflowStatesMessageGroupLoader" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="2" crap="6" 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="24" type="method" name="getGroups" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <metrics loc="32" ncloc="27" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/AggregateMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\AggregateMessageGroup" namespace="global">
        <metrics complexity="28" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="0" elements="76" coveredelements="0"/>
      </class>
      <line num="35" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="load" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="52" type="method" name="getMangler" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="64" type="method" name="getGroups" visibility="public" complexity="6" crap="42" 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="70" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="method" name="loadMessagesFromCache" visibility="protected" complexity="6" crap="42" 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="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="120" type="method" name="initCollection" visibility="public" complexity="1" crap="2" 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="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="132" type="method" name="getMessage" visibility="public" complexity="4" crap="20" 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="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="164" type="method" name="getTags" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="175" type="method" name="getKeys" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="189" type="method" name="getSourceLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <metrics loc="198" ncloc="153" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="0" elements="77" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/FileBasedMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\FileBasedMessageGroup" namespace="global">
        <metrics complexity="44" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="152" coveredstatements="14" elements="168" coveredelements="14"/>
      </class>
      <line num="49" type="method" name="newFromMessageGroup" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="method" name="getFFS" visibility="public" complexity="3" crap="12" 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="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="92" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="97" type="method" name="load" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="109" type="method" name="parseExternal" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" 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="120" type="stmt" count="0"/>
      <line num="127" type="method" name="getSourceFilePath" visibility="public" complexity="4" crap="20" 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="131" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="143" type="method" name="getTargetFilename" visibility="public" complexity="4" crap="20" 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="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="175" type="method" name="replaceVariables" visibility="public" complexity="1" crap="2" 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="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="201" type="method" name="mapCode" visibility="public" complexity="9" crap="9.16" count="3"/>
      <line num="202" type="stmt" count="3"/>
      <line num="203" type="stmt" count="3"/>
      <line num="205" type="stmt" count="3"/>
      <line num="206" type="stmt" count="0"/>
      <line num="210" type="stmt" count="3"/>
      <line num="211" type="stmt" count="3"/>
      <line num="215" type="stmt" count="2"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="224" type="stmt" count="2"/>
      <line num="225" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="0"/>
      <line num="234" type="stmt" count="2"/>
      <line num="244" type="method" name="mapCodeWithAlgorithm" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" 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="255" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="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="276" 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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" 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="292" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="298" type="method" name="getKeys" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="308" type="method" name="initCollection" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" 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="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="327" type="method" name="getMessage" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="352" type="method" name="getMessageGroupCache" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="360" type="method" name="getSourceLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <metrics loc="369" ncloc="287" classes="1" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="153" coveredstatements="14" elements="169" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/MediaWikiExtensionMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\MediaWikiExtensionMessageGroup" namespace="global">
        <metrics complexity="6" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="getDescription" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="25" 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="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <metrics loc="47" ncloc="30" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/MessageGroup.php">
      <line num="184" type="stmt" count="0"/>
      <metrics loc="185" ncloc="56" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="1" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/MessageGroupBase.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\MessageGroupBase" namespace="global">
        <metrics complexity="60" methods="25" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="49" elements="151" coveredelements="58"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="protected" complexity="1" crap="1" count="12"/>
      <line num="40" type="stmt" count="12"/>
      <line num="42" type="method" name="factory" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="43" type="stmt" count="12"/>
      <line num="52" type="method" name="newFromConf" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="54" type="stmt" count="12"/>
      <line num="55" type="stmt" count="12"/>
      <line num="56" type="stmt" count="12"/>
      <line num="57" type="stmt" count="12"/>
      <line num="60" type="method" name="getConfiguration" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="65" type="method" name="getId" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="70" type="method" name="getLabel" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="75" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="method" name="getIcon" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="method" name="getNamespace" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="90" type="method" name="isMeta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="95" type="method" name="getDefinitions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="100" type="method" name="getValidator" visibility="public" complexity="4" crap="6.00" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <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="117" type="stmt" count="0"/>
      <line num="121" type="stmt" count="1"/>
      <line num="125" type="method" name="getMangler" visibility="public" complexity="5" crap="5.93" 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="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="136" 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="143" type="stmt" count="1"/>
      <line num="151" type="method" name="getInsertablesSuggester" visibility="public" complexity="5" crap="7.19" count="2"/>
      <line num="152" type="stmt" count="2"/>
      <line num="153" 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="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="163" type="stmt" count="2"/>
      <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="170" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="1"/>
      <line num="179" type="stmt" count="2"/>
      <line num="183" type="method" name="getKeys" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="188" type="method" name="getTags" visibility="public" complexity="2" crap="6" 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="195" type="stmt" count="0"/>
      <line num="199" type="method" name="parseTags" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="202" 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="212" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="227" type="method" name="getRawTags" visibility="protected" complexity="2" crap="6" 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="233" type="stmt" count="0"/>
      <line num="236" type="method" name="setTags" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="242" type="method" name="parseNamespace" visibility="protected" complexity="4" crap="4" count="12"/>
      <line num="243" type="stmt" count="12"/>
      <line num="245" type="stmt" count="12"/>
      <line num="246" type="stmt" count="2"/>
      <line num="249" type="stmt" count="12"/>
      <line num="250" type="stmt" count="12"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="263" type="method" name="isSourceLanguage" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="268" type="method" name="getMessageGroupStates" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="270" type="stmt" count="1"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="279" type="method" name="getTranslatableLanguages" visibility="public" complexity="13" crap="182" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <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="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="332" type="method" name="getSupportConfig" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="337" type="method" name="getRelatedPage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <metrics loc="344" ncloc="292" classes="1" methods="25" coveredmethods="9" conditionals="0" coveredconditionals="0" statements="127" coveredstatements="49" elements="152" coveredelements="58"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/MessageGroupOld.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\MessageGroupOld" namespace="global">
        <metrics complexity="38" methods="28" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="0" elements="83" coveredelements="0"/>
      </class>
      <line num="46" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="method" name="setLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="62" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="method" name="setId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="83" type="method" name="getNamespace" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="91" type="method" name="setNamespace" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="103" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="method" name="setDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="method" name="getIcon" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="124" type="method" name="isMeta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="129" type="method" name="getSourceLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="141" type="method" name="getMangler" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="150" type="method" name="load" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="160" type="method" name="getDefinitions" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="175" type="method" name="getUniqueDefinitions" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="180" type="method" name="getKeys" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="192" type="method" name="getMessage" visibility="public" complexity="2" crap="6" 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="198" type="stmt" count="0"/>
      <line num="202" type="method" name="normaliseKeys" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" 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="213" type="stmt" count="0"/>
      <line num="230" type="method" name="initCollection" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" 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="251" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="256" type="method" name="getValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="261" type="method" name="getTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="269" type="method" name="isSourceLanguage" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="277" type="method" name="getMessageGroupStates" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="288" type="method" name="getTranslatableLanguages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="method" name="addContext" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="302" type="method" name="getSupportConfig" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="307" type="method" name="getRelatedPage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <metrics loc="314" ncloc="193" classes="1" methods="28" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="0" elements="84" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/MessagePrefixMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\MessagePrefixMessageGroup" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="15" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="23" type="method" name="setLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="28" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="38" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" type="method" name="getDefinitions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="getValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <metrics loc="56" ncloc="41" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/RecentAdditionsMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\RecentAdditionsMessageGroup" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="19" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="39" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="getQueryConditions" visibility="protected" complexity="1" crap="2" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <metrics loc="61" ncloc="43" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/RecentMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\RecentMessageGroup" namespace="global">
        <metrics complexity="18" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="0" elements="70" coveredelements="0"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="method" name="setLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="66" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="method" name="getRCCutoff" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="88" type="method" name="getQueryConditions" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="108" type="method" name="matchingMessage" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="113" type="method" name="getDefinitions" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" 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="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="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="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" 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="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="160" type="method" name="getValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="169" type="method" name="getMessageContent" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" 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="178" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <metrics loc="184" ncloc="134" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="0" elements="71" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/SandboxMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\SandboxMessageGroup" namespace="global">
        <metrics complexity="19" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="65" coveredelements="0"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="method" name="setLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="65" type="method" name="getDefinitions" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" 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="102" 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="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="145" type="method" name="getValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="154" type="method" name="getMessageContent" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="171" 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="178" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <metrics loc="184" ncloc="131" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="66" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/SubsetMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\SubsetMessageGroup" namespace="global">
        <metrics complexity="22" methods="11" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="24" elements="66" coveredelements="27"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="43" type="method" name="getLogger" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="method" name="isMeta" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="exists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="load" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="63" type="method" name="getKeys" visibility="public" complexity="4" crap="4" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="1"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" 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="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="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="88" type="method" name="getDefinitions" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="94" 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="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="113" type="method" name="getTags" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="1"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="126" type="method" name="getMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="138" type="method" name="getIcon" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="142" type="method" name="getParentGroup" visibility="protected" complexity="3" crap="12" 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="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <metrics loc="159" ncloc="139" classes="1" methods="11" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="24" elements="67" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/WikiMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\WikiMessageGroup" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="22" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="45" type="method" name="getSourceLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="55" type="method" name="getDefinitions" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" 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="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="87" type="method" name="getMessage" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <metrics loc="98" ncloc="54" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="0" elements="23" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/WikiPageMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\WikiPageMessageGroup" namespace="global">
        <metrics complexity="23" methods="13" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="73" coveredstatements="8" elements="86" coveredelements="10"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="51" type="method" name="getSourceLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="method" name="getTitle" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="71" type="method" name="getDefinitions" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="108" type="method" name="makeGroupKeys" visibility="public" complexity="1" crap="2" 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="122" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="134" type="method" name="clearCaches" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="139" type="method" name="load" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="156" type="method" name="getMessage" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="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="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="189" type="method" name="getValidator" visibility="public" complexity="1" crap="1" 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="197" type="stmt" count="1"/>
      <line num="200" type="method" name="getInsertablesSuggester" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="205" type="method" name="getDescription" visibility="public" complexity="1" crap="2" 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="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="220" type="method" name="getRelatedPage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <metrics loc="227" ncloc="165" classes="1" methods="13" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="74" coveredstatements="8" elements="87" coveredelements="10"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageGroups/WorkflowStatesMessageGroup.php">
      <class name="MediaWiki\Extension\Translate\MessageGroups\WorkflowStatesMessageGroup" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="42" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="getLabel" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="57" type="method" name="getDefinitions" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="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="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <metrics loc="109" ncloc="86" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/CDBMessageIndex.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\CDBMessageIndex" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="0" elements="39" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="retrieve" visibility="public" complexity="3" crap="12" 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="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="getKeys" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="get" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="65" type="method" name="store" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="method" name="getReader" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <metrics loc="96" ncloc="81" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="0" elements="39" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/DatabaseMessageIndex.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\DatabaseMessageIndex" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="0" elements="52" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="retrieve" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="method" name="get" visibility="public" complexity="2" crap="6" 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="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="method" name="store" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <metrics loc="99" ncloc="89" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="0" elements="52" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/FatMessage.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\FatMessage" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="setTranslation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="translation" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <metrics loc="31" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/HashMessageIndex.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\HashMessageIndex" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="retrieve" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <line num="15" type="method" name="get" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="20" type="method" name="store" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <metrics loc="24" ncloc="21" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/InvalidFilterException.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\InvalidFilterException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="9" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="10" type="stmt" count="0"/>
      <metrics loc="13" ncloc="13" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/Message.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\Message" namespace="global">
        <metrics complexity="14" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="28" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="key" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="46" type="method" name="definition" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="method" name="rawDefinition" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="58" type="method" name="setInfile" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="63" type="method" name="infile" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="68" type="method" name="addTag" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="73" type="method" name="hasTag" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="81" type="method" name="getTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="89" type="method" name="setProperty" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="97" type="method" name="appendProperty" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="105" type="method" name="getProperty" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="110" type="method" name="getPropertyNames" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <metrics loc="114" ncloc="72" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="28" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/MessageCollection.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\MessageCollection" namespace="global">
        <metrics complexity="129" methods="42" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="327" coveredstatements="254" elements="369" coveredelements="273"/>
      </class>
      <line num="100" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="109" type="method" name="newFromDefinitions" visibility="public" complexity="1" crap="1" 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="114" type="stmt" count="3"/>
      <line num="117" type="method" name="getLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="128" type="method" name="setInFile" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="137" type="method" name="setTags" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="145" type="method" name="keys" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="153" type="method" name="getTitles" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="161" type="method" name="getMessageKeys" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="170" type="method" name="getTags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="180" type="method" name="getAuthors" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" 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="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="210" type="stmt" count="0"/>
      <line num="218" type="method" name="addCollectionAuthors" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="220" 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="226" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="238" type="method" name="loadTranslations" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="241" type="stmt" count="3"/>
      <line num="242" type="stmt" count="3"/>
      <line num="244" type="stmt" count="3"/>
      <line num="245" type="stmt" count="3"/>
      <line num="246" type="stmt" count="3"/>
      <line num="247" type="stmt" count="3"/>
      <line num="254" type="method" name="resetForNewLanguage" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="255" type="stmt" count="3"/>
      <line num="256" type="stmt" count="3"/>
      <line num="257" type="stmt" count="3"/>
      <line num="258" type="stmt" count="3"/>
      <line num="259" type="stmt" count="3"/>
      <line num="260" type="stmt" count="3"/>
      <line num="261" type="stmt" count="3"/>
      <line num="262" type="stmt" count="3"/>
      <line num="264" type="stmt" count="3"/>
      <line num="265" type="stmt" count="3"/>
      <line num="275" type="method" name="slice" visibility="public" complexity="6" crap="6.35" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="284" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="288" type="stmt" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="302" type="stmt" count="0"/>
      <line num="315" type="stmt" count="1"/>
      <line num="316" type="stmt" count="1"/>
      <line num="319" type="stmt" count="1"/>
      <line num="321" type="stmt" count="1"/>
      <line num="350" type="method" name="filter" visibility="public" complexity="11" crap="14.96" count="3"/>
      <line num="351" type="stmt" count="3"/>
      <line num="352" type="stmt" count="0"/>
      <line num="355" type="stmt" count="3"/>
      <line num="356" type="stmt" count="3"/>
      <line num="357" type="stmt" count="3"/>
      <line num="358" type="stmt" count="3"/>
      <line num="359" type="stmt" count="3"/>
      <line num="360" type="stmt" count="3"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="3"/>
      <line num="367" type="stmt" count="1"/>
      <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="1"/>
      <line num="373" type="stmt" count="3"/>
      <line num="374" type="stmt" count="3"/>
      <line num="375" type="stmt" count="0"/>
      <line num="377" type="stmt" count="3"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="384" type="stmt" count="3"/>
      <line num="388" type="method" name="filterUntranslatedOptional" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="389" type="stmt" count="3"/>
      <line num="391" type="stmt" count="3"/>
      <line num="394" type="stmt" count="3"/>
      <line num="395" type="stmt" count="3"/>
      <line num="397" type="stmt" count="3"/>
      <line num="415" type="method" name="filterOnCondition" visibility="private" complexity="5" crap="5.07" count="3"/>
      <line num="416" type="stmt" count="3"/>
      <line num="418" type="stmt" count="3"/>
      <line num="419" type="stmt" count="0"/>
      <line num="423" type="stmt" count="3"/>
      <line num="424" type="stmt" count="3"/>
      <line num="425" type="stmt" count="3"/>
      <line num="430" type="stmt" count="3"/>
      <line num="440" type="method" name="filterFuzzy" visibility="private" complexity="5" crap="5.68" count="3"/>
      <line num="441" type="stmt" count="3"/>
      <line num="443" type="stmt" count="3"/>
      <line num="444" type="stmt" count="3"/>
      <line num="445" type="stmt" count="0"/>
      <line num="448" type="stmt" count="3"/>
      <line num="449" type="stmt" count="3"/>
      <line num="450" type="stmt" count="0"/>
      <line num="454" type="stmt" count="3"/>
      <line num="455" type="stmt" count="0"/>
      <line num="458" type="stmt" count="3"/>
      <line num="468" type="method" name="filterHastranslation" visibility="private" complexity="5" crap="5.02" count="3"/>
      <line num="469" type="stmt" count="3"/>
      <line num="471" type="stmt" count="3"/>
      <line num="472" type="stmt" count="3"/>
      <line num="473" type="stmt" count="3"/>
      <line num="476" type="stmt" count="3"/>
      <line num="477" type="stmt" count="3"/>
      <line num="481" type="stmt" count="3"/>
      <line num="482" type="stmt" count="0"/>
      <line num="486" type="stmt" count="3"/>
      <line num="487" type="stmt" count="3"/>
      <line num="490" type="stmt" count="3"/>
      <line num="501" type="method" name="filterChanged" visibility="private" complexity="8" crap="8.04" count="1"/>
      <line num="502" type="stmt" count="1"/>
      <line num="504" type="stmt" count="1"/>
      <line num="505" type="stmt" count="1"/>
      <line num="506" type="stmt" count="0"/>
      <line num="509" type="stmt" count="1"/>
      <line num="510" type="stmt" count="1"/>
      <line num="511" type="stmt" count="1"/>
      <line num="512" type="stmt" count="1"/>
      <line num="513" type="stmt" count="1"/>
      <line num="514" 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="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="528" type="stmt" count="1"/>
      <line num="534" type="stmt" count="1"/>
      <line num="535" type="stmt" count="0"/>
      <line num="538" type="stmt" count="1"/>
      <line num="549" type="method" name="filterReviewer" visibility="private" complexity="5" crap="5.39" count="3"/>
      <line num="550" type="stmt" count="3"/>
      <line num="551" type="stmt" count="3"/>
      <line num="555" type="stmt" count="3"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="561" type="stmt" count="3"/>
      <line num="562" type="stmt" count="3"/>
      <line num="565" type="stmt" count="3"/>
      <line num="574" type="method" name="filterLastTranslator" visibility="private" complexity="4" crap="4.02" count="1"/>
      <line num="575" type="stmt" count="1"/>
      <line num="576" type="stmt" count="1"/>
      <line num="578" type="stmt" count="1"/>
      <line num="579" type="stmt" count="1"/>
      <line num="580" type="stmt" count="1"/>
      <line num="581" type="stmt" count="1"/>
      <line num="585" type="stmt" count="1"/>
      <line num="586" type="stmt" count="0"/>
      <line num="589" type="stmt" count="1"/>
      <line num="596" type="method" name="fixKeys" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="597" type="stmt" count="3"/>
      <line num="599" type="stmt" count="3"/>
      <line num="600" type="stmt" count="3"/>
      <line num="601" type="stmt" count="3"/>
      <line num="602" type="stmt" count="3"/>
      <line num="603" type="stmt" count="3"/>
      <line num="604" type="stmt" count="3"/>
      <line num="607" type="stmt" count="3"/>
      <line num="615" type="method" name="loadInfo" visibility="private" complexity="4" crap="4.01" count="3"/>
      <line num="616" type="stmt" count="3"/>
      <line num="617" type="stmt" count="3"/>
      <line num="620" type="stmt" count="3"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="625" type="stmt" count="3"/>
      <line num="627" type="stmt" count="3"/>
      <line num="628" type="stmt" count="3"/>
      <line num="629" type="stmt" count="3"/>
      <line num="630" type="stmt" count="3"/>
      <line num="631" type="stmt" count="3"/>
      <line num="632" type="stmt" count="3"/>
      <line num="633" type="stmt" count="3"/>
      <line num="634" type="stmt" count="3"/>
      <line num="635" type="stmt" count="3"/>
      <line num="636" type="stmt" count="3"/>
      <line num="637" type="stmt" count="3"/>
      <line num="638" type="stmt" count="3"/>
      <line num="639" type="stmt" count="3"/>
      <line num="640" type="stmt" count="3"/>
      <line num="641" type="stmt" count="3"/>
      <line num="644" type="stmt" count="3"/>
      <line num="649" type="stmt" count="3"/>
      <line num="657" type="method" name="loadReviewInfo" visibility="private" complexity="4" crap="4.06" count="3"/>
      <line num="658" type="stmt" count="3"/>
      <line num="659" type="stmt" count="0"/>
      <line num="662" type="stmt" count="3"/>
      <line num="663" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="667" type="stmt" count="3"/>
      <line num="669" type="stmt" count="3"/>
      <line num="670" type="stmt" count="3"/>
      <line num="671" type="stmt" count="3"/>
      <line num="672" type="stmt" count="3"/>
      <line num="673" type="stmt" count="3"/>
      <line num="674" type="stmt" count="3"/>
      <line num="675" type="stmt" count="3"/>
      <line num="676" type="stmt" count="3"/>
      <line num="677" type="stmt" count="3"/>
      <line num="678" type="stmt" count="3"/>
      <line num="679" type="stmt" count="3"/>
      <line num="682" type="stmt" count="3"/>
      <line num="687" type="stmt" count="3"/>
      <line num="695" type="method" name="loadData" visibility="private" complexity="4" crap="4.02" count="3"/>
      <line num="696" type="stmt" count="3"/>
      <line num="697" type="stmt" count="2"/>
      <line num="700" type="stmt" count="3"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="705" type="stmt" count="3"/>
      <line num="706" type="stmt" count="3"/>
      <line num="708" type="stmt" count="3"/>
      <line num="709" type="stmt" count="3"/>
      <line num="710" type="stmt" count="3"/>
      <line num="711" type="stmt" count="3"/>
      <line num="712" type="stmt" count="3"/>
      <line num="713" type="stmt" count="3"/>
      <line num="714" type="stmt" count="3"/>
      <line num="715" type="stmt" count="3"/>
      <line num="716" type="stmt" count="3"/>
      <line num="717" type="stmt" count="3"/>
      <line num="718" type="stmt" count="3"/>
      <line num="721" type="stmt" count="3"/>
      <line num="726" type="stmt" count="3"/>
      <line num="733" type="method" name="getTitleConds" visibility="private" complexity="4" crap="4" count="3"/>
      <line num="734" type="stmt" count="3"/>
      <line num="735" type="stmt" count="3"/>
      <line num="736" type="stmt" count="3"/>
      <line num="738" type="stmt" count="3"/>
      <line num="740" type="stmt" count="3"/>
      <line num="741" type="stmt" count="3"/>
      <line num="742" type="stmt" count="3"/>
      <line num="743" type="stmt" count="3"/>
      <line num="744" 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="754" type="stmt" count="3"/>
      <line num="757" type="stmt" count="3"/>
      <line num="760" type="stmt" count="3"/>
      <line num="768" type="method" name="rowToKey" visibility="private" complexity="2" crap="2.26" count="3"/>
      <line num="769" type="stmt" count="3"/>
      <line num="770" type="stmt" count="3"/>
      <line num="771" type="stmt" count="3"/>
      <line num="773" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="780" type="method" name="getReverseMap" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="781" type="stmt" count="3"/>
      <line num="782" type="stmt" count="3"/>
      <line num="785" type="stmt" count="3"/>
      <line num="787" type="stmt" count="3"/>
      <line num="788" type="stmt" count="3"/>
      <line num="791" type="stmt" count="3"/>
      <line num="792" type="stmt" count="3"/>
      <line num="799" type="method" name="initMessages" visibility="public" complexity="21" crap="27.48" count="3"/>
      <line num="800" type="stmt" count="3"/>
      <line num="801" type="stmt" count="0"/>
      <line num="804" type="stmt" count="3"/>
      <line num="805" type="stmt" count="3"/>
      <line num="806" type="stmt" count="3"/>
      <line num="807" type="stmt" count="3"/>
      <line num="808" type="stmt" count="3"/>
      <line num="809" type="stmt" count="3"/>
      <line num="812" type="stmt" count="3"/>
      <line num="813" type="stmt" count="3"/>
      <line num="814" type="stmt" count="3"/>
      <line num="815" type="stmt" count="3"/>
      <line num="816" type="stmt" count="3"/>
      <line num="817" type="stmt" count="3"/>
      <line num="819" type="stmt" count="3"/>
      <line num="820" type="stmt" count="3"/>
      <line num="821" type="stmt" count="3"/>
      <line num="822" type="stmt" count="1"/>
      <line num="824" type="stmt" count="3"/>
      <line num="825" type="stmt" count="3"/>
      <line num="827" type="stmt" count="3"/>
      <line num="828" type="stmt" count="3"/>
      <line num="829" type="stmt" count="3"/>
      <line num="834" type="stmt" count="3"/>
      <line num="835" type="stmt" count="3"/>
      <line num="836" type="stmt" count="3"/>
      <line num="837" type="stmt" count="0"/>
      <line num="841" type="stmt" count="3"/>
      <line num="844" type="stmt" count="3"/>
      <line num="845" type="stmt" count="3"/>
      <line num="846" type="stmt" count="0"/>
      <line num="847" type="stmt" count="0"/>
      <line num="853" type="stmt" count="3"/>
      <line num="854" type="stmt" count="0"/>
      <line num="855" type="stmt" count="0"/>
      <line num="859" type="stmt" count="3"/>
      <line num="860" type="stmt" count="0"/>
      <line num="861" type="stmt" count="0"/>
      <line num="862" type="stmt" count="0"/>
      <line num="864" type="stmt" count="0"/>
      <line num="868" type="stmt" count="3"/>
      <line num="869" type="stmt" count="3"/>
      <line num="870" type="stmt" count="0"/>
      <line num="871" type="stmt" count="3"/>
      <line num="872" type="stmt" count="0"/>
      <line num="873" type="stmt" count="3"/>
      <line num="874" type="stmt" count="3"/>
      <line num="876" type="stmt" count="2"/>
      <line num="880" type="stmt" count="3"/>
      <line num="887" type="method" name="offsetExists" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="888" type="stmt" count="0"/>
      <line num="892" type="method" name="offsetGet" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="893" type="stmt" count="1"/>
      <line num="900" type="method" name="offsetSet" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="901" type="stmt" count="0"/>
      <line num="905" type="method" name="offsetUnset" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="906" type="stmt" count="0"/>
      <line num="915" type="method" name="__get" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="916" type="stmt" count="0"/>
      <line num="924" type="method" name="__set" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="925" type="stmt" count="0"/>
      <line num="933" type="method" name="rewind" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="934" type="stmt" count="1"/>
      <line num="938" type="method" name="current" visibility="public" complexity="2" crap="2.15" count="1"/>
      <line num="940" type="stmt" count="1"/>
      <line num="941" type="stmt" count="0"/>
      <line num="945" type="stmt" count="1"/>
      <line num="948" type="method" name="key" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="949" type="stmt" count="1"/>
      <line num="952" type="method" name="next" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="953" type="stmt" count="1"/>
      <line num="956" type="method" name="valid" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="957" type="stmt" count="1"/>
      <line num="958" type="stmt" count="1"/>
      <line num="961" type="method" name="count" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="962" type="stmt" count="3"/>
      <metrics loc="967" ncloc="681" classes="1" methods="42" coveredmethods="19" conditionals="0" coveredconditionals="0" statements="327" coveredstatements="254" elements="369" coveredelements="273"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/MessageDefinitions.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\MessageDefinitions" namespace="global">
        <metrics complexity="8" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="21" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="getDefinitions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="36" type="method" name="getPages" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <metrics loc="65" ncloc="50" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="21" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/MessageHandle.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\MessageHandle" namespace="global">
        <metrics complexity="40" methods="19" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="0" elements="145" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="isMessageNamespace" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="52" type="method" name="figureMessage" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="71" type="method" name="getKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="81" type="method" name="getCode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="91" type="method" name="getEffectiveLanguage" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="104" type="method" name="isDoc" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="114" type="method" name="isPageTranslation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="125" type="method" name="getGroupIds" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="137" type="method" name="getGroup" visibility="public" complexity="2" crap="6" 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="142" type="stmt" count="0"/>
      <line num="146" type="method" name="isValid" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="187" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="192" type="method" name="getTitleForLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="200" type="method" name="getTitleForBase" visibility="public" complexity="1" crap="2" 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="212" type="method" name="hasFuzzyString" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="217" type="method" name="makeFuzzyString" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="222" type="method" name="isFuzzy" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="223" 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="231" 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="240" type="stmt" count="0"/>
      <line num="248" type="method" name="getInternalKey" visibility="public" complexity="6" crap="42" 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="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" 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="278" type="stmt" count="0"/>
      <line num="282" type="method" name="needsFuzzy" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" 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="307" type="stmt" count="0"/>
      <line num="308" 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="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <metrics loc="326" ncloc="259" classes="1" methods="19" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="0" elements="145" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/MessageIndex.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\MessageIndex" namespace="global">
        <metrics complexity="45" methods="16" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="66" elements="204" coveredelements="69"/>
      </class>
      <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="54" type="stmt" count="9"/>
      <line num="55" type="stmt" count="9"/>
      <line num="56" type="stmt" count="9"/>
      <line num="60" type="method" name="normaliseKey" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="70" type="method" name="getGroupIds" visibility="public" complexity="3" crap="3.01" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" 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="87" type="stmt" count="1"/>
      <line num="97" type="method" name="getGroupIdsForBaseDatabaseTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="method" name="getPrimaryGroupId" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="113" type="method" name="getWithCache" visibility="private" complexity="3" crap="3.02" 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="123" type="stmt" count="0"/>
      <line num="127" type="method" name="get" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="132" type="method" name="getKeys" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="136" type="method" name="lock" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="137" 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="146" type="stmt" count="0"/>
      <line num="149" type="method" name="unlock" visibility="private" complexity="2" crap="6" 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="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="168" type="method" name="rebuild" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="180" 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="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="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="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="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" 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="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="231" 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="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" 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="259" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="272" type="method" name="getStatusCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="276" type="method" name="storeInterim" visibility="public" complexity="3" crap="3.09" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="285" type="stmt" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="288" type="stmt" count="1"/>
      <line num="289" type="stmt" 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"/>
      <line num="296" type="stmt" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <line num="298" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="301" 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="337" type="method" name="getArrayDiff" visibility="public" complexity="7" crap="7" count="8"/>
      <line num="338" type="stmt" count="8"/>
      <line num="339" type="stmt" count="8"/>
      <line num="340" type="stmt" count="7"/>
      <line num="341" type="stmt" count="7"/>
      <line num="343" 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="351" type="stmt" count="8"/>
      <line num="352" type="stmt" count="7"/>
      <line num="353" type="stmt" count="5"/>
      <line num="354" type="stmt" count="5"/>
      <line num="356" type="stmt" count="2"/>
      <line num="357" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="363" type="stmt" count="8"/>
      <line num="364" type="stmt" count="3"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <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="378" type="method" name="clearMessageGroupStats" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="394" type="method" name="checkAndAdd" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="399" 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="407" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="412" 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="422" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <metrics loc="428" ncloc="345" classes="1" methods="16" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="66" elements="204" coveredelements="69"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/MessageIndexException.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\MessageIndexException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="15" 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/Translate/src/MessageLoading/MessageIndexStore.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\MessageIndexStore" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="get" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="24" type="method" name="getKeys" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="35" type="method" name="serialize" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="43" type="method" name="unserialize" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <metrics loc="48" ncloc="29" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/QueryMessageCollectionActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\QueryMessageCollectionActionApi" namespace="global">
        <metrics complexity="35" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="154" coveredstatements="128" elements="164" coveredelements="134"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="36" type="stmt" count="2"/>
      <line num="39" type="method" name="execute" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="44" type="method" name="getCacheMode" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="49" type="method" name="executeGenerator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="method" name="validateLanguageCode" visibility="private" complexity="2" crap="2.50" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="run" visibility="private" complexity="19" crap="21.38" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="63" type="stmt" count="2"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <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="97" type="stmt" count="1"/>
      <line num="100" type="stmt" count="2"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="0"/>
      <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="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <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="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="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="154" type="stmt" count="2"/>
      <line num="156" type="stmt" count="2"/>
      <line num="158" type="stmt" count="2"/>
      <line num="159" type="stmt" count="1"/>
      <line num="162" 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="2"/>
      <line num="169" type="stmt" count="2"/>
      <line num="170" type="stmt" count="2"/>
      <line num="172" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="180" type="stmt" count="0"/>
      <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="0"/>
      <line num="194" type="method" name="getLanguageName" visibility="private" complexity="1" crap="1" 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="method" name="extractMessageData" visibility="private" complexity="7" crap="7" count="2"/>
      <line num="205" type="stmt" count="2"/>
      <line num="207" type="stmt" count="2"/>
      <line num="208" type="stmt" count="1"/>
      <line num="210" type="stmt" count="2"/>
      <line num="212" type="stmt" count="2"/>
      <line num="213" type="stmt" count="2"/>
      <line num="214" type="stmt" count="1"/>
      <line num="216" type="stmt" count="2"/>
      <line num="218" type="stmt" count="2"/>
      <line num="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="229" type="stmt" count="2"/>
      <line num="233" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <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="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="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="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="261" type="stmt" count="2"/>
      <line num="262" type="stmt" count="2"/>
      <line num="263" type="stmt" count="2"/>
      <line num="264" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="266" type="stmt" count="2"/>
      <line num="267" type="stmt" count="2"/>
      <line num="268" type="stmt" count="2"/>
      <line num="269" type="stmt" count="2"/>
      <line num="270" type="stmt" count="2"/>
      <line num="271" type="stmt" count="2"/>
      <line num="272" type="stmt" count="2"/>
      <line num="273" type="stmt" count="2"/>
      <line num="277" type="method" name="getExamplesMessages" 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="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="286" type="stmt" count="0"/>
      <metrics loc="289" ncloc="269" classes="1" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="154" coveredstatements="128" elements="164" coveredelements="134"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/QueryMessageTranslationsActionApi.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\QueryMessageTranslationsActionApi" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="0" elements="53" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="26" type="method" name="getCacheMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="execute" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="31" 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="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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"/>
      <metrics loc="103" ncloc="96" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="0" elements="53" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/RebuildMessageIndexJob.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\RebuildMessageIndexJob" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="newJob" visibility="public" complexity="1" crap="2" 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="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="run" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="allowRetries" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="method" name="getDeduplicationInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <metrics loc="80" ncloc="58" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/SerializedMessageIndex.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\SerializedMessageIndex" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="retrieve" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="store" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <metrics loc="47" ncloc="33" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageLoading/ThinMessage.php">
      <class name="MediaWiki\Extension\Translate\MessageLoading\ThinMessage" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="15" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="setRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="37" type="method" name="setTranslation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="42" type="method" name="translation" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="50" type="method" name="getProperty" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="getPropertyNames" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <metrics loc="63" ncloc="43" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="15" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageProcessing/ArrayFlattener.php">
      <class name="MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener" namespace="global">
        <metrics complexity="44" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="117" coveredstatements="101" elements="123" coveredelements="101"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="41" type="method" name="flatten" visibility="public" complexity="7" crap="7.08" count="3"/>
      <line num="42" 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="50" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="0"/>
      <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="63" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="70" type="stmt" count="3"/>
      <line num="78" type="method" name="flattenCLDRPlurals" visibility="public" complexity="10" crap="10" 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="0"/>
      <line num="88" type="stmt" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="91" type="stmt" count="3"/>
      <line num="96" type="stmt" count="5"/>
      <line num="97" type="stmt" count="1"/>
      <line num="101" type="stmt" count="5"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="1"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <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="117" type="stmt" count="3"/>
      <line num="121" type="stmt" count="3"/>
      <line num="122" type="stmt" count="3"/>
      <line num="124" type="stmt" count="3"/>
      <line num="132" type="method" name="unflatten" visibility="public" complexity="9" crap="11.42" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" 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="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <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="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="158" 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="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="173" type="stmt" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="175" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="180" type="stmt" count="3"/>
      <line num="187" type="method" name="unflattenCLDRPlurals" visibility="public" complexity="11" crap="11" count="5"/>
      <line num="189" type="stmt" count="5"/>
      <line num="190" type="stmt" count="1"/>
      <line num="197" type="stmt" count="5"/>
      <line num="198" type="stmt" count="5"/>
      <line num="199" type="stmt" count="5"/>
      <line num="201" type="stmt" count="5"/>
      <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="209" type="stmt" count="5"/>
      <line num="210" type="stmt" count="5"/>
      <line num="211" 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="220" type="stmt" count="5"/>
      <line num="221" type="stmt" count="0"/>
      <line num="225" type="stmt" count="5"/>
      <line num="232" type="stmt" count="5"/>
      <line num="233" type="stmt" count="5"/>
      <line num="234" type="stmt" count="5"/>
      <line num="235" type="stmt" count="5"/>
      <line num="237" type="stmt" count="5"/>
      <line num="238" type="stmt" count="5"/>
      <line num="239" type="stmt" count="5"/>
      <line num="240" type="stmt" count="5"/>
      <line num="241" type="stmt" count="5"/>
      <line num="243" type="stmt" count="5"/>
      <line num="244" type="stmt" count="5"/>
      <line num="247" type="stmt" count="5"/>
      <line num="248" type="stmt" count="5"/>
      <line num="251" type="stmt" count="5"/>
      <line num="252" 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="263" type="stmt" count="0"/>
      <line num="266" type="stmt" count="5"/>
      <line num="270" type="method" name="compareContent" visibility="public" complexity="6" crap="6.10" count="9"/>
      <line num="271" type="stmt" count="9"/>
      <line num="272" type="stmt" count="0"/>
      <line num="275" type="stmt" count="9"/>
      <line num="276" type="stmt" count="9"/>
      <line num="279" type="stmt" count="9"/>
      <line num="280" type="stmt" count="2"/>
      <line num="284" type="stmt" count="7"/>
      <metrics loc="287" ncloc="229" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="117" coveredstatements="101" elements="123" coveredelements="101"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageProcessing/MessageGroupMetadata.php">
      <class name="MediaWiki\Extension\Translate\MessageProcessing\MessageGroupMetadata" namespace="global">
        <metrics complexity="32" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="0" elements="138" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="35" type="method" name="preloadGroups" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="67" type="method" name="get" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="77" type="method" name="getWithDefaultValue" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="89" type="method" name="set" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="118" type="method" name="getSubgroups" visibility="public" complexity="5" crap="30" 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="122" type="stmt" count="0"/>
      <line num="124" 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="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="140" type="method" name="setSubgroups" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="146" type="method" name="deleteGroup" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="159" type="method" name="isExcluded" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" 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="175" 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="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="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="193" type="stmt" count="0"/>
      <line num="202" type="method" name="loadBasicMetadataForTranslatablePages" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" 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="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="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" 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="226" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="232" type="method" name="moveMetadata" visibility="public" complexity="3" crap="12" 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="242" type="stmt" count="0"/>
      <line num="251" type="method" name="clearMetadata" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="259" type="method" name="getGroupsWithSubgroups" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="261" 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"/>
      <metrics loc="274" ncloc="216" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="125" coveredstatements="0" elements="138" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageProcessing/StringMangler.php">
      <metrics loc="67" 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/Translate/src/MessageProcessing/StringMatcher.php">
      <class name="MediaWiki\Extension\Translate\MessageProcessing\StringMatcher" namespace="global">
        <metrics complexity="28" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="47" elements="104" coveredelements="52"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="51"/>
      <line num="28" type="stmt" count="51"/>
      <line num="29" type="stmt" count="51"/>
      <line num="40" type="method" name="init" visibility="protected" complexity="4" crap="4" count="51"/>
      <line num="41" type="stmt" count="51"/>
      <line num="42" type="stmt" count="33"/>
      <line num="43" type="stmt" count="33"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="31"/>
      <line num="46" type="stmt" count="26"/>
      <line num="47" type="stmt" count="26"/>
      <line num="49" type="stmt" count="7"/>
      <line num="50" type="stmt" count="7"/>
      <line num="55" type="method" name="getValidKeyChars" visibility="protected" complexity="2" crap="3.54" count="51"/>
      <line num="56" type="stmt" count="51"/>
      <line num="57" type="stmt" count="51"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="51"/>
      <line num="72" type="method" name="setConf" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="78" type="method" name="matches" visibility="public" complexity="6" crap="6" count="51"/>
      <line num="79" type="stmt" count="51"/>
      <line num="80" type="stmt" count="2"/>
      <line num="83" type="stmt" count="49"/>
      <line num="84" type="stmt" count="25"/>
      <line num="85" type="stmt" count="21"/>
      <line num="89" type="stmt" count="28"/>
      <line num="90" type="stmt" count="6"/>
      <line num="91" type="stmt" count="3"/>
      <line num="95" type="stmt" count="25"/>
      <line num="99" type="method" name="mangle" visibility="public" complexity="3" crap="3" count="51"/>
      <line num="100" type="stmt" count="51"/>
      <line num="101" type="stmt" count="26"/>
      <line num="104" type="stmt" count="51"/>
      <line num="105" type="stmt" count="29"/>
      <line num="106" type="stmt" count="29"/>
      <line num="107" type="stmt" count="29"/>
      <line num="109" type="stmt" count="29"/>
      <line num="110" type="stmt" count="51"/>
      <line num="113" type="stmt" count="51"/>
      <line num="114" type="stmt" count="51"/>
      <line num="116" type="stmt" count="51"/>
      <line num="120" type="stmt" count="51"/>
      <line num="124" type="method" name="mangleList" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="129" type="method" name="mangleArray" visibility="public" complexity="2" crap="6" 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="135" type="stmt" count="0"/>
      <line num="139" type="method" name="unmangle" visibility="public" complexity="3" crap="3" count="51"/>
      <line num="142" type="stmt" count="51"/>
      <line num="143" type="stmt" count="51"/>
      <line num="144" type="stmt" count="51"/>
      <line num="145" type="stmt" count="29"/>
      <line num="146" type="stmt" count="51"/>
      <line num="147" type="stmt" count="51"/>
      <line num="148" type="stmt" count="51"/>
      <line num="150" type="stmt" count="51"/>
      <line num="151" type="stmt" count="45"/>
      <line num="154" type="stmt" count="45"/>
      <line num="155" type="stmt" count="26"/>
      <line num="158" type="stmt" count="25"/>
      <line num="162" type="method" name="unmangleList" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="171" type="method" name="unmangleArray" visibility="public" complexity="2" crap="6" 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="177" type="stmt" count="0"/>
      <line num="181" type="method" name="getExtraSchema" visibility="public" complexity="1" crap="2" 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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="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="205" type="stmt" count="0"/>
      <metrics loc="208" ncloc="170" classes="1" methods="12" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="92" coveredstatements="47" elements="104" coveredelements="52"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageProcessing/TranslateReplaceTitle.php">
      <class name="MediaWiki\Extension\Translate\MessageProcessing\TranslateReplaceTitle" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="0" elements="28" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="getTitlesForMove" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="51" type="method" name="getMatchingTitles" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <metrics loc="68" ncloc="53" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="0" elements="28" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/MessageSync/MessageSourceChange.php">
      <class name="MediaWiki\Extension\Translate\MessageSync\MessageSourceChange" namespace="global">
        <metrics complexity="64" methods="34" coveredmethods="22" conditionals="0" coveredconditionals="0" statements="151" coveredstatements="128" elements="185" coveredelements="150"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="52" type="stmt" count="8"/>
      <line num="54" type="stmt" count="8"/>
      <line num="55" type="stmt" count="8"/>
      <line num="56" type="stmt" count="8"/>
      <line num="57" type="stmt" count="8"/>
      <line num="58" type="stmt" count="8"/>
      <line num="67" type="method" name="addChange" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="77" type="method" name="addAddition" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="78" type="stmt" count="8"/>
      <line num="87" type="method" name="addDeletion" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="88" type="stmt" count="8"/>
      <line num="98" type="method" name="addRename" visibility="public" complexity="1" crap="1" 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="102" 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="107" type="stmt" count="8"/>
      <line num="108" type="stmt" count="8"/>
      <line num="109" type="stmt" count="8"/>
      <line num="110" 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="121" type="method" name="setRenameState" visibility="public" complexity="5" crap="5.93" 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="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="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="146" type="method" name="addModification" visibility="protected" complexity="1" crap="1" count="8"/>
      <line num="147" type="stmt" count="8"/>
      <line num="148" type="stmt" count="8"/>
      <line num="149" type="stmt" count="8"/>
      <line num="150" type="stmt" count="8"/>
      <line num="158" type="method" name="getChanges" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="167" type="method" name="getDeletions" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="168" type="stmt" count="4"/>
      <line num="176" type="method" name="getAdditions" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="177" type="stmt" count="4"/>
      <line num="188" type="method" name="findMessage" visibility="public" complexity="8" crap="8" count="4"/>
      <line num="189" type="stmt" count="4"/>
      <line num="190" type="stmt" count="4"/>
      <line num="191" 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="196" type="stmt" count="4"/>
      <line num="197" type="stmt" count="1"/>
      <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="stmt" count="4"/>
      <line num="206" type="stmt" count="4"/>
      <line num="207" type="stmt" count="4"/>
      <line num="208" type="stmt" count="4"/>
      <line num="210" type="stmt" count="1"/>
      <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="222" type="stmt" count="3"/>
      <line num="223" type="stmt" count="3"/>
      <line num="232" type="method" name="breakRename" visibility="public" complexity="7" crap="7.18" count="2"/>
      <line num="233" type="stmt" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="0"/>
      <line num="243" type="stmt" count="2"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="1"/>
      <line num="251" type="stmt" count="0"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" 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="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="266" type="stmt" count="2"/>
      <line num="267" type="stmt" count="2"/>
      <line num="268" type="stmt" count="2"/>
      <line num="271" type="stmt" count="2"/>
      <line num="279" type="method" name="getRenames" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="280" type="stmt" count="4"/>
      <line num="281" type="stmt" count="4"/>
      <line num="282" type="stmt" count="4"/>
      <line num="285" type="stmt" count="4"/>
      <line num="293" type="method" name="getModification" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="294" type="stmt" count="4"/>
      <line num="302" type="method" name="removeAdditions" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="303" type="stmt" count="2"/>
      <line num="311" type="method" name="removeDeletions" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="312" type="stmt" count="2"/>
      <line num="320" type="method" name="removeChanges" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="321" type="stmt" count="1"/>
      <line num="329" type="method" name="removeRenames" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="330" type="stmt" count="2"/>
      <line num="340" type="method" name="removeBasedOnType" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="341" 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="350" type="stmt" count="1"/>
      <line num="357" type="method" name="removeChangesForLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="366" type="method" name="removeModification" visibility="protected" complexity="5" crap="5.25" count="4"/>
      <line num="367" type="stmt" count="4"/>
      <line num="369" type="stmt" count="0"/>
      <line num="372" type="stmt" count="4"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="377" type="stmt" count="4"/>
      <line num="378" type="stmt" count="2"/>
      <line num="379" type="stmt" count="2"/>
      <line num="381" type="stmt" count="2"/>
      <line num="382" type="stmt" count="2"/>
      <line num="383" 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="394" type="method" name="getAllModifications" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="403" type="method" name="getModificationsForLanguage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="412" type="method" name="loadModifications" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="420" type="method" name="getLanguages" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="421" type="stmt" count="1"/>
      <line num="431" type="method" name="hasOnly" visibility="public" complexity="4" crap="4" count="1"/>
      <line num="432" type="stmt" count="1"/>
      <line num="433" type="stmt" count="1"/>
      <line num="435" type="stmt" count="1"/>
      <line num="436" type="stmt" count="1"/>
      <line num="439" type="stmt" count="1"/>
      <line num="449" type="method" name="isPreviousState" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="450" type="stmt" count="1"/>
      <line num="452" type="stmt" count="1"/>
      <line num="461" type="method" name="getMatchedMessage" visibility="public" complexity="2" crap="2.06" count="3"/>
      <line num="462" type="stmt" count="3"/>
      <line num="463" type="stmt" count="3"/>
      <line num="464" type="stmt" count="3"/>
      <line num="467" type="stmt" count="0"/>
      <line num="476" type="method" name="getMatchedKey" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="477" type="stmt" count="3"/>
      <line num="486" type="method" name="getSimilarity" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="498" type="method" name="isEqual" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="510" type="method" name="isSimilar" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="520" type="method" name="areStringsSimilar" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="529" type="method" name="areStringsEqual" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <metrics loc="533" ncloc="319" classes="1" methods="34" coveredmethods="22" conditionals="0" coveredconditionals="0" statements="151" coveredstatements="128" elements="185" coveredelements="150"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Notifications/FilterTranslationReviewNotificationsMiddleware.php">
      <class name="MediaWiki\Extension\Translate\Notifications\FilterTranslationReviewNotificationsMiddleware" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="5" elements="7" coveredelements="5"/>
      </class>
      <line num="13" type="method" name="filter" visibility="protected" complexity="3" crap="3.04" count="1"/>
      <line num="14" type="stmt" count="1"/>
      <line num="16" type="stmt" count="1"/>
      <line num="17" type="stmt" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="19" type="stmt" count="1"/>
      <line num="21" type="stmt" count="0"/>
      <metrics loc="25" ncloc="25" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="5" elements="7" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/DeleteTranslatableBundleSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\DeleteTranslatableBundleSpecialPage" namespace="global">
        <metrics complexity="44" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="0" elements="203" coveredelements="0"/>
      </class>
      <line num="54" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="63" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="68" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="73" type="method" name="execute" visibility="public" complexity="15" crap="240" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="114" 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="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="0"/>
      <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="134" type="stmt" count="0"/>
      <line num="143" type="method" name="doBasicChecks" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="175" type="method" name="checkToken" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="180" type="method" name="showForm" visibility="private" complexity="1" crap="2" 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="185" 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="200" type="method" name="showConfirmation" visibility="private" complexity="6" crap="42" 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="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="210" 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="219" type="stmt" count="0"/>
      <line num="220" 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="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="234" 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="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" 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="254" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" 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="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="276" 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="283" type="method" name="getChangeLine" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="287" type="method" name="performAction" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="288" type="stmt" 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="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="301" type="method" name="getCommonFormFields" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" 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="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="335" type="method" name="listPages" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="343" type="method" name="getDeleteReason" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" 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="359" type="method" name="identifyEntityType" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="374" type="method" name="isTranslation" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <metrics loc="378" ncloc="341" classes="1" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="188" coveredstatements="0" elements="203" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/DiscourageActionApi.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\DiscourageActionApi" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="0" elements="48" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="7" crap="56" 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="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <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="75" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <metrics loc="104" ncloc="93" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="0" elements="48" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/Hooks.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\Hooks" namespace="global">
        <metrics complexity="231" methods="42" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="886" coveredstatements="125" elements="928" coveredelements="131"/>
      </class>
      <line num="89" type="method" name="renderTagPage" visibility="public" complexity="8" crap="12.23" count="6"/>
      <line num="90" type="stmt" count="6"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="stmt" count="6"/>
      <line num="98" type="stmt" count="6"/>
      <line num="99" type="stmt" count="1"/>
      <line num="104" type="stmt" count="5"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="110" type="stmt" count="5"/>
      <line num="111" type="stmt" count="5"/>
      <line num="112" type="stmt" count="5"/>
      <line num="113" type="stmt" count="5"/>
      <line num="114" type="stmt" count="0"/>
      <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="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="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="136" type="stmt" count="1"/>
      <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="148" type="stmt" count="0"/>
      <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="160" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="172" type="method" name="preprocessTagPage" visibility="public" complexity="3" crap="3.07" count="6"/>
      <line num="173" type="stmt" count="6"/>
      <line num="175" type="stmt" count="6"/>
      <line num="177" 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="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="188" type="stmt" count="5"/>
      <line num="189" type="stmt" count="5"/>
      <line num="204" type="method" name="fetchTranslatableTemplateAndTitle" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" 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="226" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="260" 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="280" type="method" name="onPageContentLanguage" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="283" type="stmt" count="5"/>
      <line num="284" type="stmt" count="2"/>
      <line num="285" type="stmt" count="2"/>
      <line num="296" type="method" name="onTitleGetEditNotices" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" 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="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="327" type="method" name="onBeforePageDisplay" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="373" type="method" name="onVisualEditorBeforeEditor" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="387" type="method" name="onSectionSave" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="421" type="method" name="updateTranslationPage" visibility="private" complexity="5" crap="30" 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="435" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="469" type="method" name="onGetMagicVariableIDs" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="470" type="stmt" count="6"/>
      <line num="476" type="method" name="onParserGetVariableValueSwitch" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="484" type="stmt" count="1"/>
      <line num="485" type="stmt" count="1"/>
      <line num="486" type="stmt" count="1"/>
      <line num="487" type="stmt" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="498" type="method" name="languages" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="533" 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="539" 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="546" type="stmt" count="0"/>
      <line num="547" type="stmt" count="0"/>
      <line num="548" 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="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="606" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="652" type="method" name="tpProgressIcon" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="662" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="671" type="method" name="getTranslatablePageStatus" visibility="private" complexity="8" crap="8.25" count="1"/>
      <line num="672" type="stmt" count="1"/>
      <line num="673" type="stmt" count="0"/>
      <line num="675" 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="1"/>
      <line num="683" type="stmt" count="1"/>
      <line num="686" type="stmt" count="1"/>
      <line num="687" type="stmt" count="1"/>
      <line num="688" type="stmt" count="0"/>
      <line num="691" type="stmt" count="1"/>
      <line num="693" type="stmt" count="1"/>
      <line num="694" type="stmt" count="1"/>
      <line num="695" type="stmt" count="0"/>
      <line num="698" type="stmt" count="1"/>
      <line num="699" type="stmt" count="1"/>
      <line num="700" type="stmt" count="1"/>
      <line num="701" type="stmt" count="1"/>
      <line num="709" type="method" name="addLanguageLinks" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="717" type="stmt" count="0"/>
      <line num="718" type="stmt" count="0"/>
      <line num="719" type="stmt" count="0"/>
      <line num="720" type="stmt" count="0"/>
      <line num="726" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="728" type="stmt" count="0"/>
      <line num="731" type="stmt" count="0"/>
      <line num="732" type="stmt" count="0"/>
      <line num="733" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="737" type="stmt" count="0"/>
      <line num="738" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="742" type="stmt" count="0"/>
      <line num="743" type="stmt" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="748" type="stmt" count="0"/>
      <line num="749" type="stmt" count="0"/>
      <line num="750" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="756" type="stmt" count="0"/>
      <line num="757" type="stmt" count="0"/>
      <line num="758" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="761" type="stmt" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="769" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="773" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="778" type="stmt" count="0"/>
      <line num="789" type="method" name="formatLanguageLink" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="795" type="stmt" count="0"/>
      <line num="796" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="800" type="stmt" count="0"/>
      <line num="801" type="stmt" count="0"/>
      <line num="802" type="stmt" count="0"/>
      <line num="803" type="stmt" count="0"/>
      <line num="804" type="stmt" count="0"/>
      <line num="805" type="stmt" count="0"/>
      <line num="807" type="stmt" count="0"/>
      <line num="819" type="method" name="tpSyntaxCheckForEditContent" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="825" type="stmt" count="0"/>
      <line num="827" type="stmt" count="0"/>
      <line num="828" type="stmt" count="0"/>
      <line num="829" type="stmt" count="0"/>
      <line num="832" type="stmt" count="0"/>
      <line num="835" type="method" name="tpSyntaxError" visibility="private" complexity="5" crap="5.15" count="6"/>
      <line num="836" type="stmt" count="6"/>
      <line num="837" type="stmt" count="1"/>
      <line num="841" type="stmt" count="5"/>
      <line num="844" type="stmt" count="5"/>
      <line num="845" type="stmt" count="5"/>
      <line num="846" type="stmt" count="5"/>
      <line num="847" type="stmt" count="5"/>
      <line num="849" type="stmt" count="4"/>
      <line num="850" type="stmt" count="0"/>
      <line num="851" type="stmt" count="0"/>
      <line num="855" type="stmt" count="5"/>
      <line num="869" type="method" name="tpSyntaxCheck" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="876" type="stmt" count="6"/>
      <line num="878" type="stmt" count="6"/>
      <line num="879" type="stmt" count="6"/>
      <line num="880" type="stmt" count="6"/>
      <line num="881" type="stmt" count="6"/>
      <line num="883" type="stmt" count="6"/>
      <line num="884" type="stmt" count="5"/>
      <line num="885" type="stmt" count="5"/>
      <line num="888" type="stmt" count="1"/>
      <line num="901" type="method" name="addTranstagAfterSave" visibility="public" complexity="3" crap="3" count="6"/>
      <line num="909" type="stmt" count="6"/>
      <line num="912" type="stmt" count="6"/>
      <line num="913" type="stmt" count="1"/>
      <line num="917" type="stmt" count="5"/>
      <line num="919" type="stmt" count="5"/>
      <line num="920" type="stmt" count="5"/>
      <line num="922" type="stmt" count="4"/>
      <line num="923" type="stmt" count="4"/>
      <line num="927" type="stmt" count="5"/>
      <line num="928" type="stmt" count="5"/>
      <line num="945" type="method" name="updateTranstagOnNullRevisions" visibility="public" complexity="6" crap="6" count="6"/>
      <line num="946" type="stmt" count="6"/>
      <line num="947" type="stmt" count="6"/>
      <line num="949" type="stmt" count="6"/>
      <line num="952" type="stmt" count="1"/>
      <line num="953" type="stmt" count="1"/>
      <line num="954" type="stmt" count="1"/>
      <line num="956" type="stmt" count="1"/>
      <line num="958" type="stmt" count="1"/>
      <line num="961" type="stmt" count="1"/>
      <line num="962" type="stmt" count="1"/>
      <line num="964" type="stmt" count="1"/>
      <line num="965" type="stmt" count="1"/>
      <line num="966" type="stmt" count="1"/>
      <line num="984" type="method" name="onGetUserPermissionsErrorsExpensive" visibility="public" complexity="23" crap="552" count="0"/>
      <line num="990" type="stmt" count="0"/>
      <line num="992" type="stmt" count="0"/>
      <line num="993" type="stmt" count="0"/>
      <line num="996" type="stmt" count="0"/>
      <line num="997" type="stmt" count="0"/>
      <line num="999" type="stmt" count="0"/>
      <line num="1000" type="stmt" count="0"/>
      <line num="1001" type="stmt" count="0"/>
      <line num="1002" type="stmt" count="0"/>
      <line num="1004" type="stmt" count="0"/>
      <line num="1005" type="stmt" count="0"/>
      <line num="1006" type="stmt" count="0"/>
      <line num="1009" type="stmt" count="0"/>
      <line num="1012" type="stmt" count="0"/>
      <line num="1013" type="stmt" count="0"/>
      <line num="1018" type="stmt" count="0"/>
      <line num="1019" type="stmt" count="0"/>
      <line num="1020" type="stmt" count="0"/>
      <line num="1021" type="stmt" count="0"/>
      <line num="1022" type="stmt" count="0"/>
      <line num="1023" type="stmt" count="0"/>
      <line num="1024" type="stmt" count="0"/>
      <line num="1025" type="stmt" count="0"/>
      <line num="1026" type="stmt" count="0"/>
      <line num="1030" type="stmt" count="0"/>
      <line num="1031" type="stmt" count="0"/>
      <line num="1032" type="stmt" count="0"/>
      <line num="1033" type="stmt" count="0"/>
      <line num="1034" type="stmt" count="0"/>
      <line num="1035" type="stmt" count="0"/>
      <line num="1036" type="stmt" count="0"/>
      <line num="1037" type="stmt" count="0"/>
      <line num="1040" type="stmt" count="0"/>
      <line num="1041" type="stmt" count="0"/>
      <line num="1042" type="stmt" count="0"/>
      <line num="1043" type="stmt" count="0"/>
      <line num="1044" type="stmt" count="0"/>
      <line num="1045" type="stmt" count="0"/>
      <line num="1046" type="stmt" count="0"/>
      <line num="1047" type="stmt" count="0"/>
      <line num="1057" type="stmt" count="0"/>
      <line num="1058" type="stmt" count="0"/>
      <line num="1061" type="stmt" count="0"/>
      <line num="1067" type="stmt" count="0"/>
      <line num="1068" type="stmt" count="0"/>
      <line num="1069" type="stmt" count="0"/>
      <line num="1070" type="stmt" count="0"/>
      <line num="1071" type="stmt" count="0"/>
      <line num="1072" type="stmt" count="0"/>
      <line num="1074" type="stmt" count="0"/>
      <line num="1075" type="stmt" count="0"/>
      <line num="1077" type="stmt" count="0"/>
      <line num="1081" type="stmt" count="0"/>
      <line num="1082" type="stmt" count="0"/>
      <line num="1083" type="stmt" count="0"/>
      <line num="1084" type="stmt" count="0"/>
      <line num="1088" type="stmt" count="0"/>
      <line num="1089" type="stmt" count="0"/>
      <line num="1090" type="stmt" count="0"/>
      <line num="1091" type="stmt" count="0"/>
      <line num="1092" type="stmt" count="0"/>
      <line num="1093" type="stmt" count="0"/>
      <line num="1096" type="method" name="checkTranslatablePageSlow" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="1097" type="stmt" count="0"/>
      <line num="1098" type="stmt" count="0"/>
      <line num="1099" type="stmt" count="0"/>
      <line num="1100" type="stmt" count="0"/>
      <line num="1101" type="stmt" count="0"/>
      <line num="1102" type="stmt" count="0"/>
      <line num="1105" type="stmt" count="0"/>
      <line num="1106" type="stmt" count="0"/>
      <line num="1107" type="stmt" count="0"/>
      <line num="1110" type="stmt" count="0"/>
      <line num="1111" type="stmt" count="0"/>
      <line num="1112" type="stmt" count="0"/>
      <line num="1114" type="stmt" count="0"/>
      <line num="1115" type="stmt" count="0"/>
      <line num="1118" type="stmt" count="0"/>
      <line num="1128" type="method" name="getTranslationRestrictions" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="1132" type="stmt" count="0"/>
      <line num="1133" type="stmt" count="0"/>
      <line num="1136" type="stmt" count="0"/>
      <line num="1138" type="stmt" count="0"/>
      <line num="1139" type="stmt" count="0"/>
      <line num="1140" type="stmt" count="0"/>
      <line num="1144" type="stmt" count="0"/>
      <line num="1145" type="stmt" count="0"/>
      <line num="1146" type="stmt" count="0"/>
      <line num="1147" type="stmt" count="0"/>
      <line num="1148" type="stmt" count="0"/>
      <line num="1150" type="stmt" count="0"/>
      <line num="1153" type="stmt" count="0"/>
      <line num="1154" type="stmt" count="0"/>
      <line num="1155" type="stmt" count="0"/>
      <line num="1156" type="stmt" count="0"/>
      <line num="1159" type="stmt" count="0"/>
      <line num="1162" type="stmt" count="0"/>
      <line num="1174" type="method" name="preventDirectEditing" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="1175" type="stmt" count="0"/>
      <line num="1176" type="stmt" count="0"/>
      <line num="1179" type="stmt" count="0"/>
      <line num="1180" type="stmt" count="0"/>
      <line num="1181" type="stmt" count="0"/>
      <line num="1182" type="stmt" count="0"/>
      <line num="1183" type="stmt" count="0"/>
      <line num="1184" type="stmt" count="0"/>
      <line num="1185" type="stmt" count="0"/>
      <line num="1186" type="stmt" count="0"/>
      <line num="1187" type="stmt" count="0"/>
      <line num="1188" type="stmt" count="0"/>
      <line num="1190" type="stmt" count="0"/>
      <line num="1193" type="stmt" count="0"/>
      <line num="1194" type="stmt" count="0"/>
      <line num="1195" type="stmt" count="0"/>
      <line num="1196" type="stmt" count="0"/>
      <line num="1197" type="stmt" count="0"/>
      <line num="1198" type="stmt" count="0"/>
      <line num="1199" type="stmt" count="0"/>
      <line num="1200" type="stmt" count="0"/>
      <line num="1201" type="stmt" count="0"/>
      <line num="1202" type="stmt" count="0"/>
      <line num="1205" type="stmt" count="0"/>
      <line num="1207" type="stmt" count="0"/>
      <line num="1208" type="stmt" count="0"/>
      <line num="1209" type="stmt" count="0"/>
      <line num="1210" type="stmt" count="0"/>
      <line num="1211" type="stmt" count="0"/>
      <line num="1212" type="stmt" count="0"/>
      <line num="1215" type="stmt" count="0"/>
      <line num="1216" type="stmt" count="0"/>
      <line num="1217" type="stmt" count="0"/>
      <line num="1219" type="stmt" count="0"/>
      <line num="1220" type="stmt" count="0"/>
      <line num="1221" type="stmt" count="0"/>
      <line num="1223" type="stmt" count="0"/>
      <line num="1224" type="stmt" count="0"/>
      <line num="1226" type="stmt" count="0"/>
      <line num="1229" type="stmt" count="0"/>
      <line num="1237" type="method" name="preventMoves" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="1238" type="stmt" count="0"/>
      <line num="1239" type="stmt" count="0"/>
      <line num="1242" type="stmt" count="0"/>
      <line num="1243" type="stmt" count="0"/>
      <line num="1247" type="stmt" count="0"/>
      <line num="1248" type="stmt" count="0"/>
      <line num="1251" type="stmt" count="0"/>
      <line num="1252" type="stmt" count="0"/>
      <line num="1254" type="stmt" count="0"/>
      <line num="1268" type="method" name="disableDelete" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="1269" type="stmt" count="0"/>
      <line num="1270" type="stmt" count="0"/>
      <line num="1271" type="stmt" count="0"/>
      <line num="1272" type="stmt" count="0"/>
      <line num="1273" type="stmt" count="0"/>
      <line num="1274" type="stmt" count="0"/>
      <line num="1275" type="stmt" count="0"/>
      <line num="1276" type="stmt" count="0"/>
      <line num="1277" type="stmt" count="0"/>
      <line num="1278" type="stmt" count="0"/>
      <line num="1281" type="stmt" count="0"/>
      <line num="1291" type="method" name="translatablePageHeader" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="1292" type="stmt" count="0"/>
      <line num="1293" type="stmt" count="0"/>
      <line num="1296" type="stmt" count="0"/>
      <line num="1297" type="stmt" count="0"/>
      <line num="1298" type="stmt" count="0"/>
      <line num="1299" type="stmt" count="0"/>
      <line num="1300" type="stmt" count="0"/>
      <line num="1302" type="stmt" count="0"/>
      <line num="1303" type="stmt" count="0"/>
      <line num="1304" type="stmt" count="0"/>
      <line num="1305" type="stmt" count="0"/>
      <line num="1306" type="stmt" count="0"/>
      <line num="1307" type="stmt" count="0"/>
      <line num="1308" type="stmt" count="0"/>
      <line num="1309" type="stmt" count="0"/>
      <line num="1310" type="stmt" count="0"/>
      <line num="1311" type="stmt" count="0"/>
      <line num="1312" type="stmt" count="0"/>
      <line num="1313" type="stmt" count="0"/>
      <line num="1314" type="stmt" count="0"/>
      <line num="1315" type="stmt" count="0"/>
      <line num="1317" type="stmt" count="0"/>
      <line num="1322" type="method" name="sourcePageHeader" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="1323" type="stmt" count="0"/>
      <line num="1325" type="stmt" count="0"/>
      <line num="1326" type="stmt" count="0"/>
      <line num="1328" type="stmt" count="0"/>
      <line num="1330" type="stmt" count="0"/>
      <line num="1331" type="stmt" count="0"/>
      <line num="1332" type="stmt" count="0"/>
      <line num="1334" type="stmt" count="0"/>
      <line num="1335" type="stmt" count="0"/>
      <line num="1336" type="stmt" count="0"/>
      <line num="1339" type="stmt" count="0"/>
      <line num="1340" type="stmt" count="0"/>
      <line num="1341" type="stmt" count="0"/>
      <line num="1343" type="stmt" count="0"/>
      <line num="1344" type="stmt" count="0"/>
      <line num="1345" type="stmt" count="0"/>
      <line num="1347" type="stmt" count="0"/>
      <line num="1349" type="stmt" count="0"/>
      <line num="1350" type="stmt" count="0"/>
      <line num="1352" type="stmt" count="0"/>
      <line num="1353" type="stmt" count="0"/>
      <line num="1354" type="stmt" count="0"/>
      <line num="1357" type="stmt" count="0"/>
      <line num="1361" type="stmt" count="0"/>
      <line num="1362" type="stmt" count="0"/>
      <line num="1365" type="stmt" count="0"/>
      <line num="1366" type="stmt" count="0"/>
      <line num="1367" type="stmt" count="0"/>
      <line num="1368" type="stmt" count="0"/>
      <line num="1369" type="stmt" count="0"/>
      <line num="1370" type="stmt" count="0"/>
      <line num="1371" type="stmt" count="0"/>
      <line num="1372" type="stmt" count="0"/>
      <line num="1373" type="stmt" count="0"/>
      <line num="1375" type="stmt" count="0"/>
      <line num="1378" type="method" name="getTranslateLink" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="1383" type="stmt" count="0"/>
      <line num="1385" type="stmt" count="0"/>
      <line num="1386" type="stmt" count="0"/>
      <line num="1387" type="stmt" count="0"/>
      <line num="1388" type="stmt" count="0"/>
      <line num="1389" type="stmt" count="0"/>
      <line num="1390" type="stmt" count="0"/>
      <line num="1391" type="stmt" count="0"/>
      <line num="1392" type="stmt" count="0"/>
      <line num="1393" type="stmt" count="0"/>
      <line num="1394" type="stmt" count="0"/>
      <line num="1395" type="stmt" count="0"/>
      <line num="1396" type="stmt" count="0"/>
      <line num="1399" type="method" name="translationPageHeader" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="1402" type="stmt" count="0"/>
      <line num="1403" type="stmt" count="0"/>
      <line num="1404" type="stmt" count="0"/>
      <line num="1407" type="stmt" count="0"/>
      <line num="1410" type="stmt" count="0"/>
      <line num="1411" type="stmt" count="0"/>
      <line num="1412" type="stmt" count="0"/>
      <line num="1413" type="stmt" count="0"/>
      <line num="1416" type="stmt" count="0"/>
      <line num="1417" type="stmt" count="0"/>
      <line num="1419" type="stmt" count="0"/>
      <line num="1421" type="stmt" count="0"/>
      <line num="1423" type="stmt" count="0"/>
      <line num="1425" type="stmt" count="0"/>
      <line num="1426" type="stmt" count="0"/>
      <line num="1427" type="stmt" count="0"/>
      <line num="1429" type="stmt" count="0"/>
      <line num="1430" type="stmt" count="0"/>
      <line num="1431" type="stmt" count="0"/>
      <line num="1432" type="stmt" count="0"/>
      <line num="1433" type="stmt" count="0"/>
      <line num="1436" type="stmt" count="0"/>
      <line num="1437" type="stmt" count="0"/>
      <line num="1438" type="stmt" count="0"/>
      <line num="1439" type="stmt" count="0"/>
      <line num="1440" type="stmt" count="0"/>
      <line num="1441" type="stmt" count="0"/>
      <line num="1442" type="stmt" count="0"/>
      <line num="1443" type="stmt" count="0"/>
      <line num="1444" type="stmt" count="0"/>
      <line num="1446" type="stmt" count="0"/>
      <line num="1448" type="stmt" count="0"/>
      <line num="1449" type="stmt" count="0"/>
      <line num="1451" type="stmt" count="0"/>
      <line num="1452" type="stmt" count="0"/>
      <line num="1454" type="stmt" count="0"/>
      <line num="1455" type="stmt" count="0"/>
      <line num="1456" type="stmt" count="0"/>
      <line num="1457" type="stmt" count="0"/>
      <line num="1458" type="stmt" count="0"/>
      <line num="1459" type="stmt" count="0"/>
      <line num="1460" type="stmt" count="0"/>
      <line num="1461" type="stmt" count="0"/>
      <line num="1462" type="stmt" count="0"/>
      <line num="1464" type="stmt" count="0"/>
      <line num="1469" type="method" name="isAllowedContentModel" visibility="private" complexity="3" crap="4.94" count="6"/>
      <line num="1470" type="stmt" count="6"/>
      <line num="1471" type="stmt" count="6"/>
      <line num="1472" type="stmt" count="6"/>
      <line num="1473" type="stmt" count="6"/>
      <line num="1476" type="stmt" count="6"/>
      <line num="1477" type="stmt" count="0"/>
      <line num="1478" type="stmt" count="0"/>
      <line num="1479" type="stmt" count="0"/>
      <line num="1480" type="stmt" count="0"/>
      <line num="1481" type="stmt" count="0"/>
      <line num="1482" type="stmt" count="0"/>
      <line num="1483" type="stmt" count="0"/>
      <line num="1484" type="stmt" count="0"/>
      <line num="1485" type="stmt" count="0"/>
      <line num="1488" type="stmt" count="6"/>
      <line num="1495" type="method" name="replaceMovePage" visibility="public" complexity="2" crap="2.00" count="6"/>
      <line num="1496" type="stmt" count="6"/>
      <line num="1499" type="stmt" count="6"/>
      <line num="1500" type="stmt" count="0"/>
      <line num="1503" type="stmt" count="6"/>
      <line num="1504" type="stmt" count="6"/>
      <line num="1505" type="stmt" count="6"/>
      <line num="1506" type="stmt" count="6"/>
      <line num="1507" type="stmt" count="6"/>
      <line num="1508" type="stmt" count="6"/>
      <line num="1509" type="stmt" count="6"/>
      <line num="1510" type="stmt" count="6"/>
      <line num="1511" type="stmt" count="6"/>
      <line num="1512" type="stmt" count="6"/>
      <line num="1513" type="stmt" count="6"/>
      <line num="1514" type="stmt" count="6"/>
      <line num="1525" type="method" name="lockedPagesCheck" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="1526" type="stmt" count="0"/>
      <line num="1527" type="stmt" count="0"/>
      <line num="1530" type="stmt" count="0"/>
      <line num="1531" type="stmt" count="0"/>
      <line num="1532" type="stmt" count="0"/>
      <line num="1533" type="stmt" count="0"/>
      <line num="1535" type="stmt" count="0"/>
      <line num="1538" type="stmt" count="0"/>
      <line num="1548" type="method" name="replaceSubtitle" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="1549" type="stmt" count="0"/>
      <line num="1551" type="stmt" count="0"/>
      <line num="1552" type="stmt" count="0"/>
      <line num="1553" type="stmt" count="0"/>
      <line num="1555" type="stmt" count="0"/>
      <line num="1559" type="stmt" count="0"/>
      <line num="1561" type="stmt" count="0"/>
      <line num="1562" type="stmt" count="0"/>
      <line num="1564" type="stmt" count="0"/>
      <line num="1565" type="stmt" count="0"/>
      <line num="1566" type="stmt" count="0"/>
      <line num="1567" type="stmt" count="0"/>
      <line num="1568" type="stmt" count="0"/>
      <line num="1570" type="stmt" count="0"/>
      <line num="1572" type="stmt" count="0"/>
      <line num="1573" type="stmt" count="0"/>
      <line num="1574" type="stmt" count="0"/>
      <line num="1575" type="stmt" count="0"/>
      <line num="1577" type="stmt" count="0"/>
      <line num="1578" type="stmt" count="0"/>
      <line num="1579" type="stmt" count="0"/>
      <line num="1580" type="stmt" count="0"/>
      <line num="1582" type="stmt" count="0"/>
      <line num="1583" type="stmt" count="0"/>
      <line num="1584" type="stmt" count="0"/>
      <line num="1585" type="stmt" count="0"/>
      <line num="1586" type="stmt" count="0"/>
      <line num="1588" type="stmt" count="0"/>
      <line num="1590" type="stmt" count="0"/>
      <line num="1591" type="stmt" count="0"/>
      <line num="1593" type="stmt" count="0"/>
      <line num="1596" type="stmt" count="0"/>
      <line num="1597" type="stmt" count="0"/>
      <line num="1599" type="stmt" count="0"/>
      <line num="1602" type="stmt" count="0"/>
      <line num="1606" type="stmt" count="0"/>
      <line num="1609" type="stmt" count="0"/>
      <line num="1619" type="method" name="onSkinTemplateNavigation__Universal" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="1620" type="stmt" count="0"/>
      <line num="1621" type="stmt" count="0"/>
      <line num="1622" type="stmt" count="0"/>
      <line num="1623" type="stmt" count="0"/>
      <line num="1625" type="stmt" count="0"/>
      <line num="1626" type="stmt" count="0"/>
      <line num="1627" type="stmt" count="0"/>
      <line num="1628" type="stmt" count="0"/>
      <line num="1629" type="stmt" count="0"/>
      <line num="1630" type="stmt" count="0"/>
      <line num="1631" type="stmt" count="0"/>
      <line num="1632" type="stmt" count="0"/>
      <line num="1633" type="stmt" count="0"/>
      <line num="1635" type="stmt" count="0"/>
      <line num="1638" type="stmt" count="0"/>
      <line num="1640" type="stmt" count="0"/>
      <line num="1641" type="stmt" count="0"/>
      <line num="1644" type="stmt" count="0"/>
      <line num="1646" type="stmt" count="0"/>
      <line num="1647" type="stmt" count="0"/>
      <line num="1648" type="stmt" count="0"/>
      <line num="1649" type="stmt" count="0"/>
      <line num="1650" type="stmt" count="0"/>
      <line num="1651" type="stmt" count="0"/>
      <line num="1653" type="stmt" count="0"/>
      <line num="1654" type="stmt" count="0"/>
      <line num="1655" type="stmt" count="0"/>
      <line num="1657" type="stmt" count="0"/>
      <line num="1660" type="stmt" count="0"/>
      <line num="1661" type="stmt" count="0"/>
      <line num="1662" type="stmt" count="0"/>
      <line num="1663" type="stmt" count="0"/>
      <line num="1666" type="stmt" count="0"/>
      <line num="1668" type="stmt" count="0"/>
      <line num="1671" type="stmt" count="0"/>
      <line num="1675" type="stmt" count="0"/>
      <line num="1692" type="method" name="onMovePageTranslationUnits" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="1701" type="stmt" count="0"/>
      <line num="1706" type="stmt" count="0"/>
      <line num="1707" type="stmt" count="0"/>
      <line num="1710" type="stmt" count="0"/>
      <line num="1711" type="stmt" count="0"/>
      <line num="1712" type="stmt" count="0"/>
      <line num="1713" type="stmt" count="0"/>
      <line num="1714" type="stmt" count="0"/>
      <line num="1716" type="stmt" count="0"/>
      <line num="1717" type="stmt" count="0"/>
      <line num="1720" type="stmt" count="0"/>
      <line num="1721" type="stmt" count="0"/>
      <line num="1722" type="stmt" count="0"/>
      <line num="1725" type="stmt" count="0"/>
      <line num="1728" type="stmt" count="0"/>
      <line num="1729" type="stmt" count="0"/>
      <line num="1734" type="stmt" count="0"/>
      <line num="1735" type="stmt" count="0"/>
      <line num="1736" type="stmt" count="0"/>
      <line num="1737" type="stmt" count="0"/>
      <line num="1752" type="method" name="onDeleteTranslationUnit" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="1760" type="stmt" count="0"/>
      <line num="1761" type="stmt" count="0"/>
      <line num="1762" type="stmt" count="0"/>
      <line num="1763" type="stmt" count="0"/>
      <line num="1766" type="stmt" count="0"/>
      <line num="1767" type="stmt" count="0"/>
      <line num="1768" type="stmt" count="0"/>
      <line num="1771" type="stmt" count="0"/>
      <line num="1774" type="stmt" count="0"/>
      <line num="1775" type="stmt" count="0"/>
      <line num="1776" type="stmt" count="0"/>
      <line num="1779" type="stmt" count="0"/>
      <line num="1780" type="stmt" count="0"/>
      <line num="1783" type="stmt" count="0"/>
      <line num="1784" type="stmt" count="0"/>
      <line num="1785" type="stmt" count="0"/>
      <line num="1787" type="stmt" count="0"/>
      <line num="1788" type="stmt" count="0"/>
      <line num="1789" type="stmt" count="0"/>
      <line num="1790" type="stmt" count="0"/>
      <line num="1791" type="stmt" count="0"/>
      <line num="1792" type="stmt" count="0"/>
      <line num="1793" type="stmt" count="0"/>
      <line num="1794" type="stmt" count="0"/>
      <line num="1795" type="stmt" count="0"/>
      <line num="1796" type="stmt" count="0"/>
      <line num="1797" type="stmt" count="0"/>
      <line num="1800" type="stmt" count="0"/>
      <line num="1801" type="stmt" count="0"/>
      <line num="1804" type="stmt" count="0"/>
      <line num="1806" type="stmt" count="0"/>
      <line num="1808" type="stmt" count="0"/>
      <line num="1809" type="stmt" count="0"/>
      <line num="1811" type="stmt" count="0"/>
      <line num="1812" type="stmt" count="0"/>
      <line num="1813" type="stmt" count="0"/>
      <line num="1816" type="stmt" count="0"/>
      <line num="1817" type="stmt" count="0"/>
      <line num="1819" type="stmt" count="0"/>
      <line num="1826" type="method" name="onReplaceTextFilterPageTitlesForEdit" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="1827" type="stmt" count="0"/>
      <line num="1828" type="stmt" count="0"/>
      <line num="1829" type="stmt" count="0"/>
      <line num="1830" type="stmt" count="0"/>
      <line num="1839" type="method" name="onReplaceTextFilterPageTitlesForRename" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="1840" type="stmt" count="0"/>
      <line num="1841" type="stmt" count="0"/>
      <line num="1843" type="stmt" count="0"/>
      <line num="1844" type="stmt" count="0"/>
      <line num="1846" type="stmt" count="0"/>
      <line num="1851" type="method" name="getSpecialManageMessageGroupSubscriptionsLink" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="1855" type="stmt" count="0"/>
      <line num="1856" type="stmt" count="0"/>
      <line num="1857" type="stmt" count="0"/>
      <line num="1864" type="method" name="onLinksUpdateComplete" visibility="public" complexity="6" crap="30.12" count="6"/>
      <line num="1865" type="stmt" count="6"/>
      <line num="1866" type="stmt" count="6"/>
      <line num="1867" type="stmt" count="6"/>
      <line num="1869" type="stmt" count="0"/>
      <line num="1870" type="stmt" count="0"/>
      <line num="1871" type="stmt" count="0"/>
      <line num="1872" type="stmt" count="0"/>
      <line num="1873" type="stmt" count="0"/>
      <line num="1874" type="stmt" count="0"/>
      <line num="1875" type="stmt" count="0"/>
      <line num="1876" type="stmt" count="0"/>
      <line num="1877" type="stmt" count="0"/>
      <line num="1881" type="stmt" count="0"/>
      <line num="1883" type="stmt" count="0"/>
      <line num="1884" type="stmt" count="0"/>
      <line num="1885" type="stmt" count="0"/>
      <line num="1887" type="stmt" count="0"/>
      <line num="1888" type="stmt" count="0"/>
      <line num="1889" type="stmt" count="0"/>
      <line num="1890" type="stmt" count="0"/>
      <line num="1891" type="stmt" count="0"/>
      <line num="1892" type="stmt" count="0"/>
      <line num="1893" type="stmt" count="0"/>
      <line num="1894" type="stmt" count="0"/>
      <metrics loc="1899" ncloc="1520" classes="1" methods="42" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="886" coveredstatements="125" elements="928" coveredelements="131"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/ImpossiblePageMove.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\ImpossiblePageMove" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="getBlockers" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <metrics loc="27" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/InvalidPageTitleRename.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\InvalidPageTitleRename" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="16" 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/Translate/src/PageTranslation/ManageMessageGroupSubscriptionsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\ManageMessageGroupSubscriptionsSpecialPage" namespace="global">
        <metrics complexity="40" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="178" coveredstatements="0" elements="192" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="46" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="47" 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="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="77" type="method" name="executeRawEditForm" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="87" type="method" name="executeNormalEditForm" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="104" type="method" name="getAssociatedNavigationLinks" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="112" type="method" name="getSubpagesForPrefixSearch" visibility="public" complexity="1" crap="2" 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="120" type="method" name="submitRaw" visibility="public" complexity="6" crap="42" 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="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="131" type="stmt" count="0"/>
      <line num="132" 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="137" type="stmt" count="0"/>
      <line num="138" 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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="168" type="method" name="showTitles" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" 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="177" type="stmt" count="0"/>
      <line num="178" 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="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="195" 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="209" type="method" name="getMessageGroupSubscriptionInfo" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="210" 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="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="230" type="method" name="submitNormal" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="254" type="method" name="getNormalForm" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="276" 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="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="305" type="method" name="buildRemoveLine" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <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="317" type="method" name="getRawForm" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <metrics loc="339" ncloc="302" classes="1" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="178" coveredstatements="0" elements="192" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/MarkForTranslationActionApi.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\MarkForTranslationActionApi" namespace="global">
        <metrics complexity="18" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="113" coveredstatements="102" elements="119" coveredelements="106"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="27" type="stmt" count="10"/>
      <line num="30" type="method" name="execute" visibility="public" complexity="12" crap="12.52" count="10"/>
      <line num="31" type="stmt" count="10"/>
      <line num="33" type="stmt" count="10"/>
      <line num="34" type="stmt" count="10"/>
      <line num="35" type="stmt" count="10"/>
      <line num="37" 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="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="stmt" count="10"/>
      <line num="51" type="stmt" count="10"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="10"/>
      <line num="59" type="stmt" count="10"/>
      <line num="60" type="stmt" count="10"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="2"/>
      <line num="67" type="stmt" count="10"/>
      <line num="68" type="stmt" count="10"/>
      <line num="70" type="stmt" count="10"/>
      <line num="71" type="stmt" count="10"/>
      <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="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="85" type="stmt" count="9"/>
      <line num="86" type="stmt" count="9"/>
      <line num="87" type="stmt" count="9"/>
      <line num="89" type="stmt" count="9"/>
      <line num="90" type="stmt" count="9"/>
      <line num="93" type="stmt" count="10"/>
      <line num="94" type="stmt" count="10"/>
      <line num="95" type="stmt" count="8"/>
      <line num="98" type="stmt" count="10"/>
      <line num="99" type="stmt" count="10"/>
      <line num="100" type="stmt" count="10"/>
      <line num="101" type="stmt" count="10"/>
      <line num="102" type="stmt" 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="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="10"/>
      <line num="114" type="stmt" count="10"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="10"/>
      <line num="120" type="stmt" count="10"/>
      <line num="121" type="stmt" count="10"/>
      <line num="122" type="stmt" count="10"/>
      <line num="123" type="stmt" count="10"/>
      <line num="124" type="stmt" count="10"/>
      <line num="128" type="method" name="getTriState" visibility="private" complexity="2" crap="2" count="10"/>
      <line num="129" type="stmt" count="10"/>
      <line num="133" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="138" type="method" name="needsToken" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="139" type="stmt" count="10"/>
      <line num="142" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="143" type="stmt" count="10"/>
      <line num="144" type="stmt" count="10"/>
      <line num="145" type="stmt" count="10"/>
      <line num="146" type="stmt" count="10"/>
      <line num="147" type="stmt" count="10"/>
      <line num="148" type="stmt" count="10"/>
      <line num="149" type="stmt" count="10"/>
      <line num="150" type="stmt" count="10"/>
      <line num="151" type="stmt" count="10"/>
      <line num="152" type="stmt" count="10"/>
      <line num="153" type="stmt" count="10"/>
      <line num="154" type="stmt" count="10"/>
      <line num="155" type="stmt" count="10"/>
      <line num="156" type="stmt" count="10"/>
      <line num="157" type="stmt" count="10"/>
      <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="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="167" type="stmt" count="10"/>
      <line num="168" type="stmt" count="10"/>
      <line num="169" type="stmt" count="10"/>
      <line num="170" type="stmt" count="10"/>
      <line num="171" type="stmt" count="10"/>
      <line num="172" type="stmt" count="10"/>
      <line num="173" type="stmt" count="10"/>
      <line num="174" type="stmt" count="10"/>
      <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="179" type="stmt" count="10"/>
      <line num="180" type="stmt" count="10"/>
      <line num="181" type="stmt" count="10"/>
      <line num="182" type="stmt" count="10"/>
      <line num="183" type="stmt" count="10"/>
      <line num="184" type="stmt" count="10"/>
      <line num="185" type="stmt" count="10"/>
      <line num="186" type="stmt" count="10"/>
      <metrics loc="190" ncloc="174" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="113" coveredstatements="102" elements="119" coveredelements="106"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/MessageGroupSubscriptionHtmlForm.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\MessageGroupSubscriptionHtmlForm" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="getLegend" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="11" type="stmt" 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="18" type="method" name="displaySection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <metrics loc="24" ncloc="22" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/MigrateTranslatablePageSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\MigrateTranslatablePageSpecialPage" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="0" elements="33" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="20" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="24" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="29" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="34" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <metrics loc="62" ncloc="54" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="0" elements="33" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/MoveTranslatableBundleMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\MoveTranslatableBundleMaintenanceScript" namespace="global">
        <metrics complexity="36" methods="11" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="209" coveredstatements="49" elements="220" coveredelements="51"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="26" type="stmt" count="7"/>
      <line num="28" type="stmt" 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="32" 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="38" 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="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="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="7"/>
      <line num="59" type="stmt" count="7"/>
      <line num="60" type="stmt" count="7"/>
      <line num="61" 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="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="73" type="stmt" count="7"/>
      <line num="77" type="method" name="execute" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="78" 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="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" 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="115" 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="122" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <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="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" 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="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="169" type="method" name="parseErrorMessage" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" 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="175" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="181" type="method" name="progressCallback" visibility="private" complexity="2" crap="6" 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="0"/>
      <line num="188" 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="198" type="method" name="displayPagesToMove" visibility="private" complexity="12" crap="156" 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="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="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" 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="241" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="248" 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="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="260" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="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="278" type="stmt" count="0"/>
      <line num="281" 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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="293" type="method" name="getSectionHeader" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="315" type="method" name="getConfirmation" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="316" type="stmt" count="7"/>
      <line num="317" type="stmt" count="1"/>
      <line num="320" type="stmt" count="6"/>
      <line num="321" type="stmt" count="6"/>
      <line num="324" type="stmt" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="326" type="stmt" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="330" type="stmt" count="5"/>
      <line num="333" type="method" name="getSeparator" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="337" type="method" name="logSeparator" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="341" type="method" name="message" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="345" type="method" name="getTitleFromInput" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <metrics loc="350" ncloc="342" classes="1" methods="11" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="209" coveredstatements="49" elements="220" coveredelements="51"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/MoveTranslatableBundleSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\MoveTranslatableBundleSpecialPage" namespace="global">
        <metrics complexity="51" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="287" coveredstatements="0" elements="301" coveredelements="0"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="52" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="method" name="execute" visibility="public" complexity="13" crap="182" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <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="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" 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="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="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="146" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="168" type="method" name="authorizeMove" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="183" type="method" name="checkToken" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="188" type="method" name="showErrors" visibility="protected" complexity="2" crap="6" 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="195" type="stmt" count="0"/>
      <line num="198" 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="211" type="method" name="showForm" visibility="public" complexity="2" crap="6" 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="218" type="stmt" count="0"/>
      <line num="220" 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="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="236" type="method" name="showConfirmation" visibility="protected" complexity="13" crap="182" 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="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" 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="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="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" 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="286" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" 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="307" 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="319" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="375" type="method" name="addSectionHeaderAndMessage" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="394" type="method" name="getSubactionFromRequest" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="407" type="method" name="getCommonFormFields" visibility="private" complexity="1" crap="2" 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="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <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="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="448" type="method" name="getSpecialPageTitle" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="458" type="method" name="getLogPageWikiLink" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <metrics loc="467" ncloc="438" classes="1" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="287" coveredstatements="0" elements="301" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/PageMoveCollection.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\PageMoveCollection" namespace="global">
        <metrics complexity="23" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="74" coveredelements="0"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="getTranslatablePage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="65" type="method" name="getTranslationPagesPair" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="70" type="method" name="getUnitPagesPair" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="75" type="method" name="getSubpagesPair" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="method" name="getTranslatableSubpages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="method" name="getTranslationPages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="90" type="method" name="getUnitPages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="95" type="method" name="getSubpages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="100" type="method" name="getListOfPages" visibility="public" complexity="1" crap="2" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="method" name="getListOfPagesToRedirect" visibility="public" complexity="1" crap="2" 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="128" type="method" name="getNonMovableSubpages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="136" type="method" name="getOldPagesFromList" visibility="private" complexity="2" crap="6" 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="142" type="stmt" count="0"/>
      <line num="149" type="method" name="getPagePairFromList" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="163" type="method" name="getLeaveRedirectPairFromList" visibility="private" complexity="4" crap="20" 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="170" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="179" type="method" name="getTalkpages" visibility="private" complexity="3" crap="12" 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="188" type="stmt" count="0"/>
      <metrics loc="191" ncloc="143" classes="1" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="0" elements="74" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/PageMoveOperation.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\PageMoveOperation" namespace="global">
        <metrics complexity="11" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="24" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="method" name="getOldTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="32" type="method" name="getNewTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="method" name="getOldTalkpage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="getNewTalkpage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="method" name="shouldLeaveRedirect" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="method" name="setLeaveRedirect" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="method" name="hasTalkpage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="method" name="getRenameErrorCode" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="method" name="setTalkpage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <metrics loc="66" ncloc="60" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="24" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/PageTitleRenamer.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\PageTitleRenamer" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="50" elements="53" coveredelements="51"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="3" crap="3" count="8"/>
      <line num="28" type="stmt" count="8"/>
      <line num="29" type="stmt" 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="8"/>
      <line num="36" type="stmt" count="8"/>
      <line num="37" type="stmt" count="8"/>
      <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="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="52" type="stmt" count="8"/>
      <line num="53" type="stmt" count="8"/>
      <line num="54" type="stmt" count="8"/>
      <line num="55" type="stmt" count="8"/>
      <line num="56" type="stmt" count="8"/>
      <line num="58" type="stmt" count="8"/>
      <line num="59" type="stmt" count="8"/>
      <line num="60" type="stmt" count="8"/>
      <line num="61" type="stmt" count="8"/>
      <line num="62" type="stmt" count="8"/>
      <line num="66" type="method" name="getNewTitle" visibility="public" complexity="7" crap="7" count="8"/>
      <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="74" type="stmt" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <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="6"/>
      <line num="88" type="stmt" count="6"/>
      <line num="89" type="stmt" count="2"/>
      <line num="92" type="stmt" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="97" type="stmt" count="1"/>
      <line num="100" type="stmt" count="5"/>
      <line num="101" type="stmt" count="5"/>
      <line num="102" type="stmt" count="0"/>
      <line num="105" type="stmt" count="5"/>
      <metrics loc="108" ncloc="94" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="50" elements="53" coveredelements="51"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/PageTranslationHookHandler.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\PageTranslationHookHandler" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="47" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="onSpecialPrefixIndexGetFormFilters" visibility="public" complexity="1" crap="2" 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="32" type="method" name="onSpecialPrefixIndexQuery" visibility="public" complexity="2" crap="6" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="46" type="method" name="onLonelyPagesQuery" visibility="public" complexity="1" crap="2" 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="54" type="stmt" count="0"/>
      <line num="58" type="method" name="onSpecialPageBeforeFormDisplay" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="73" type="method" name="onSpecialWhatLinksHereQuery" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <metrics loc="90" ncloc="83" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="47" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/PageTranslationSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\PageTranslationSpecialPage" namespace="global">
        <metrics complexity="142" methods="27" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="904" coveredstatements="319" elements="931" coveredelements="326"/>
      </class>
      <line num="80" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="106" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="115" type="method" name="execute" visibility="public" complexity="30" crap="373.91" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" 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="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="132" type="stmt" count="2"/>
      <line num="134" type="stmt" count="2"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="148" type="stmt" count="2"/>
      <line num="150" type="stmt" count="2"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="2"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="2"/>
      <line num="166" type="stmt" count="2"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="171" type="stmt" count="2"/>
      <line num="172" type="stmt" count="0"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="0"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="187" type="stmt" count="2"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="stmt" count="2"/>
      <line num="193" type="stmt" count="2"/>
      <line num="195" type="stmt" count="2"/>
      <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="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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="220" 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="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="230" 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="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" 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="256" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="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="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="290" type="method" name="onActionMark" visibility="protected" complexity="11" crap="12.58" count="2"/>
      <line num="291" type="stmt" count="2"/>
      <line num="292" type="stmt" count="2"/>
      <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="300" type="stmt" count="2"/>
      <line num="308" type="stmt" count="2"/>
      <line num="309" type="stmt" count="2"/>
      <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="316" type="stmt" count="2"/>
      <line num="318" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="321" type="stmt" count="2"/>
      <line num="323" type="stmt" count="2"/>
      <line num="324" type="stmt" count="2"/>
      <line num="325" type="stmt" count="1"/>
      <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="332" type="stmt" count="1"/>
      <line num="333" type="stmt" count="1"/>
      <line num="334" type="stmt" count="0"/>
      <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="345" type="stmt" count="1"/>
      <line num="346" type="stmt" count="0"/>
      <line num="348" type="stmt" count="1"/>
      <line num="350" type="stmt" count="1"/>
      <line num="351" type="stmt" count="1"/>
      <line num="352" type="stmt" count="1"/>
      <line num="353" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <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="362" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" 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="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="399" type="method" name="showSuccess" visibility="private" complexity="4" crap="4.25" 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="406" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="409" type="stmt" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="411" type="stmt" count="1"/>
      <line num="415" type="stmt" count="1"/>
      <line num="416" type="stmt" count="0"/>
      <line num="421" type="stmt" count="1"/>
      <line num="422" type="stmt" count="1"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="430" type="stmt" count="1"/>
      <line num="433" type="method" name="showConfirmation" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="474" type="method" name="loadPagesFromDB" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <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="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="500" type="method" name="buildPageArray" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="524" type="method" name="classifyPages" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="525" 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="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" 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="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="551" type="stmt" count="0"/>
      <line num="552" 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="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="579" type="method" name="listPages" visibility="public" complexity="13" crap="182" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="596" type="stmt" 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="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="645" type="method" name="actionLinks" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="662" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="670" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="673" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="675" type="stmt" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="695" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="711" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="715" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="717" type="stmt" count="0"/>
      <line num="718" type="stmt" count="0"/>
      <line num="719" type="stmt" count="0"/>
      <line num="720" type="stmt" count="0"/>
      <line num="721" type="stmt" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="723" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="728" type="stmt" count="0"/>
      <line num="731" type="stmt" count="0"/>
      <line num="734" type="method" name="showPage" visibility="private" complexity="22" crap="71.50" count="1"/>
      <line num="735" type="stmt" count="1"/>
      <line num="736" type="stmt" count="1"/>
      <line num="737" type="stmt" count="1"/>
      <line num="739" type="stmt" count="1"/>
      <line num="740" type="stmt" count="1"/>
      <line num="741" type="stmt" count="1"/>
      <line num="742" type="stmt" count="1"/>
      <line num="743" type="stmt" count="1"/>
      <line num="744" type="stmt" count="1"/>
      <line num="746" 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="754" type="stmt" count="1"/>
      <line num="756" type="stmt" count="1"/>
      <line num="757" type="stmt" count="1"/>
      <line num="758" type="stmt" count="1"/>
      <line num="759" type="stmt" count="1"/>
      <line num="760" type="stmt" count="1"/>
      <line num="761" type="stmt" count="1"/>
      <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="766" type="stmt" count="1"/>
      <line num="767" type="stmt" count="1"/>
      <line num="768" type="stmt" count="1"/>
      <line num="769" type="stmt" count="1"/>
      <line num="773" type="stmt" count="1"/>
      <line num="774" type="stmt" count="1"/>
      <line num="775" type="stmt" count="1"/>
      <line num="776" type="stmt" count="1"/>
      <line num="777" type="stmt" count="1"/>
      <line num="778" type="stmt" count="0"/>
      <line num="779" type="stmt" count="0"/>
      <line num="780" type="stmt" count="0"/>
      <line num="781" type="stmt" count="0"/>
      <line num="782" type="stmt" count="0"/>
      <line num="783" type="stmt" count="0"/>
      <line num="784" type="stmt" count="0"/>
      <line num="785" type="stmt" count="0"/>
      <line num="786" type="stmt" count="0"/>
      <line num="787" type="stmt" count="0"/>
      <line num="788" type="stmt" count="0"/>
      <line num="789" type="stmt" count="0"/>
      <line num="790" type="stmt" count="0"/>
      <line num="791" type="stmt" count="0"/>
      <line num="792" type="stmt" count="0"/>
      <line num="793" type="stmt" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="795" type="stmt" count="0"/>
      <line num="796" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="798" type="stmt" count="0"/>
      <line num="799" type="stmt" count="0"/>
      <line num="800" type="stmt" count="0"/>
      <line num="801" type="stmt" count="0"/>
      <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="812" type="stmt" count="1"/>
      <line num="815" type="stmt" count="1"/>
      <line num="816" type="stmt" count="1"/>
      <line num="818" type="stmt" count="1"/>
      <line num="819" type="stmt" count="0"/>
      <line num="821" type="stmt" count="1"/>
      <line num="822" type="stmt" count="1"/>
      <line num="823" type="stmt" count="0"/>
      <line num="824" type="stmt" count="0"/>
      <line num="828" type="stmt" count="1"/>
      <line num="829" type="stmt" count="1"/>
      <line num="830" type="stmt" count="1"/>
      <line num="831" type="stmt" count="1"/>
      <line num="832" type="stmt" count="1"/>
      <line num="833" type="stmt" count="1"/>
      <line num="834" type="stmt" count="1"/>
      <line num="835" type="stmt" count="1"/>
      <line num="836" type="stmt" count="1"/>
      <line num="837" type="stmt" count="1"/>
      <line num="838" type="stmt" count="1"/>
      <line num="839" type="stmt" count="1"/>
      <line num="840" type="stmt" count="1"/>
      <line num="841" type="stmt" count="1"/>
      <line num="842" type="stmt" count="1"/>
      <line num="845" type="stmt" count="1"/>
      <line num="846" type="stmt" count="0"/>
      <line num="847" type="stmt" count="0"/>
      <line num="849" type="stmt" count="1"/>
      <line num="852" type="stmt" count="1"/>
      <line num="853" type="stmt" count="0"/>
      <line num="854" type="stmt" count="0"/>
      <line num="855" type="stmt" count="0"/>
      <line num="856" type="stmt" count="0"/>
      <line num="858" type="stmt" count="0"/>
      <line num="859" type="stmt" count="0"/>
      <line num="860" type="stmt" count="0"/>
      <line num="861" type="stmt" count="0"/>
      <line num="863" type="stmt" count="0"/>
      <line num="864" type="stmt" count="0"/>
      <line num="865" type="stmt" count="0"/>
      <line num="867" type="stmt" count="0"/>
      <line num="869" type="stmt" count="0"/>
      <line num="870" type="stmt" count="0"/>
      <line num="871" type="stmt" count="0"/>
      <line num="873" type="stmt" count="0"/>
      <line num="874" type="stmt" count="0"/>
      <line num="875" type="stmt" count="0"/>
      <line num="876" type="stmt" count="0"/>
      <line num="877" type="stmt" count="0"/>
      <line num="878" type="stmt" count="0"/>
      <line num="879" type="stmt" count="0"/>
      <line num="880" type="stmt" count="0"/>
      <line num="881" type="stmt" count="0"/>
      <line num="882" type="stmt" count="0"/>
      <line num="883" type="stmt" count="0"/>
      <line num="884" type="stmt" count="0"/>
      <line num="885" type="stmt" count="0"/>
      <line num="887" type="stmt" count="1"/>
      <line num="891" type="stmt" count="1"/>
      <line num="892" type="stmt" count="1"/>
      <line num="893" type="stmt" count="1"/>
      <line num="894" type="stmt" count="1"/>
      <line num="895" type="stmt" count="1"/>
      <line num="896" type="stmt" count="1"/>
      <line num="897" type="stmt" count="1"/>
      <line num="898" type="stmt" count="1"/>
      <line num="899" type="stmt" count="1"/>
      <line num="900" type="stmt" count="1"/>
      <line num="902" type="stmt" count="1"/>
      <line num="903" type="stmt" count="0"/>
      <line num="904" type="stmt" count="0"/>
      <line num="905" type="stmt" count="0"/>
      <line num="906" type="stmt" count="0"/>
      <line num="907" type="stmt" count="0"/>
      <line num="909" type="stmt" count="0"/>
      <line num="910" type="stmt" count="0"/>
      <line num="911" type="stmt" count="0"/>
      <line num="914" type="stmt" count="0"/>
      <line num="918" type="stmt" count="1"/>
      <line num="919" type="stmt" count="0"/>
      <line num="920" type="stmt" count="0"/>
      <line num="922" type="stmt" count="0"/>
      <line num="923" type="stmt" count="0"/>
      <line num="924" type="stmt" count="0"/>
      <line num="925" type="stmt" count="0"/>
      <line num="926" type="stmt" count="0"/>
      <line num="927" type="stmt" count="0"/>
      <line num="928" type="stmt" count="0"/>
      <line num="929" type="stmt" count="0"/>
      <line num="930" type="stmt" count="0"/>
      <line num="934" type="stmt" count="1"/>
      <line num="935" type="stmt" count="1"/>
      <line num="939" type="stmt" count="1"/>
      <line num="940" type="stmt" count="1"/>
      <line num="941" type="stmt" count="1"/>
      <line num="942" type="stmt" count="1"/>
      <line num="943" type="stmt" count="1"/>
      <line num="944" type="stmt" count="1"/>
      <line num="945" type="stmt" count="1"/>
      <line num="946" type="stmt" count="1"/>
      <line num="948" type="stmt" count="1"/>
      <line num="949" type="stmt" count="0"/>
      <line num="951" type="stmt" count="0"/>
      <line num="952" type="stmt" count="0"/>
      <line num="954" type="stmt" count="0"/>
      <line num="955" type="stmt" count="0"/>
      <line num="956" type="stmt" count="0"/>
      <line num="958" type="stmt" count="0"/>
      <line num="959" type="stmt" count="0"/>
      <line num="960" type="stmt" count="0"/>
      <line num="962" type="stmt" count="0"/>
      <line num="964" type="stmt" count="0"/>
      <line num="965" type="stmt" count="0"/>
      <line num="966" type="stmt" count="0"/>
      <line num="967" type="stmt" count="0"/>
      <line num="968" type="stmt" count="0"/>
      <line num="969" type="stmt" count="0"/>
      <line num="971" type="stmt" count="0"/>
      <line num="975" type="stmt" count="1"/>
      <line num="979" type="stmt" count="1"/>
      <line num="981" type="stmt" count="1"/>
      <line num="982" type="stmt" count="1"/>
      <line num="983" type="stmt" count="1"/>
      <line num="984" type="stmt" count="1"/>
      <line num="986" type="stmt" count="1"/>
      <line num="987" type="stmt" count="1"/>
      <line num="988" type="stmt" count="1"/>
      <line num="989" type="stmt" count="1"/>
      <line num="990" type="stmt" count="1"/>
      <line num="991" type="stmt" count="1"/>
      <line num="992" type="stmt" count="1"/>
      <line num="993" type="stmt" count="1"/>
      <line num="994" type="stmt" count="1"/>
      <line num="995" type="stmt" count="1"/>
      <line num="996" type="stmt" count="1"/>
      <line num="998" type="stmt" count="1"/>
      <line num="999" type="stmt" count="1"/>
      <line num="1002" type="method" name="getTranslationsLink" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="1003" type="stmt" count="1"/>
      <line num="1004" type="stmt" count="1"/>
      <line num="1005" type="stmt" count="1"/>
      <line num="1006" type="stmt" count="1"/>
      <line num="1007" type="stmt" count="1"/>
      <line num="1008" type="stmt" count="1"/>
      <line num="1011" type="method" name="priorityLanguagesForm" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="1012" type="stmt" count="1"/>
      <line num="1013" type="stmt" count="1"/>
      <line num="1014" type="stmt" count="1"/>
      <line num="1015" type="stmt" count="1"/>
      <line num="1017" type="stmt" count="1"/>
      <line num="1018" type="stmt" count="1"/>
      <line num="1020" type="stmt" count="1"/>
      <line num="1021" type="stmt" count="1"/>
      <line num="1022" type="stmt" count="1"/>
      <line num="1023" type="stmt" count="1"/>
      <line num="1024" type="stmt" count="1"/>
      <line num="1025" type="stmt" count="1"/>
      <line num="1026" type="stmt" count="1"/>
      <line num="1027" type="stmt" count="1"/>
      <line num="1028" type="stmt" count="1"/>
      <line num="1029" type="stmt" count="1"/>
      <line num="1030" type="stmt" count="1"/>
      <line num="1031" type="stmt" count="1"/>
      <line num="1032" type="stmt" count="1"/>
      <line num="1033" type="stmt" count="1"/>
      <line num="1034" type="stmt" count="1"/>
      <line num="1035" type="stmt" count="1"/>
      <line num="1036" type="stmt" count="1"/>
      <line num="1037" type="stmt" count="1"/>
      <line num="1038" type="stmt" count="1"/>
      <line num="1039" type="stmt" count="1"/>
      <line num="1040" type="stmt" count="1"/>
      <line num="1041" type="stmt" count="1"/>
      <line num="1042" type="stmt" count="1"/>
      <line num="1043" type="stmt" count="1"/>
      <line num="1044" type="stmt" count="1"/>
      <line num="1045" type="stmt" count="1"/>
      <line num="1046" type="stmt" count="1"/>
      <line num="1047" type="stmt" count="1"/>
      <line num="1048" type="stmt" count="1"/>
      <line num="1049" type="stmt" count="1"/>
      <line num="1050" type="stmt" count="1"/>
      <line num="1051" type="stmt" count="1"/>
      <line num="1052" type="stmt" count="1"/>
      <line num="1053" type="stmt" count="1"/>
      <line num="1054" type="stmt" count="1"/>
      <line num="1055" type="stmt" count="1"/>
      <line num="1056" type="stmt" count="1"/>
      <line num="1057" type="stmt" count="1"/>
      <line num="1058" type="stmt" count="1"/>
      <line num="1059" type="stmt" count="1"/>
      <line num="1060" type="stmt" count="1"/>
      <line num="1062" type="stmt" count="1"/>
      <line num="1063" type="stmt" count="1"/>
      <line num="1065" type="stmt" count="1"/>
      <line num="1066" type="stmt" count="1"/>
      <line num="1069" type="method" name="getLanguageOptions" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="1070" type="stmt" count="1"/>
      <line num="1071" type="stmt" count="1"/>
      <line num="1072" type="stmt" count="1"/>
      <line num="1073" type="stmt" count="1"/>
      <line num="1076" type="stmt" count="1"/>
      <line num="1079" type="method" name="syntaxVersionForm" visibility="private" complexity="3" crap="8.37" count="1"/>
      <line num="1080" type="stmt" count="1"/>
      <line num="1082" type="stmt" count="1"/>
      <line num="1083" type="stmt" count="1"/>
      <line num="1086" type="stmt" count="0"/>
      <line num="1087" type="stmt" count="0"/>
      <line num="1088" type="stmt" count="0"/>
      <line num="1089" type="stmt" count="0"/>
      <line num="1090" type="stmt" count="0"/>
      <line num="1091" type="stmt" count="0"/>
      <line num="1093" type="stmt" count="0"/>
      <line num="1094" type="stmt" count="0"/>
      <line num="1095" type="stmt" count="0"/>
      <line num="1096" type="stmt" count="0"/>
      <line num="1097" type="stmt" count="0"/>
      <line num="1098" type="stmt" count="0"/>
      <line num="1099" type="stmt" count="0"/>
      <line num="1100" type="stmt" count="0"/>
      <line num="1101" type="stmt" count="0"/>
      <line num="1103" type="stmt" count="0"/>
      <line num="1106" type="method" name="templateTransclusionForm" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="1107" type="stmt" count="1"/>
      <line num="1108" type="stmt" count="1"/>
      <line num="1110" type="stmt" count="1"/>
      <line num="1111" type="stmt" count="1"/>
      <line num="1112" type="stmt" count="1"/>
      <line num="1113" type="stmt" count="1"/>
      <line num="1114" type="stmt" count="1"/>
      <line num="1115" type="stmt" count="1"/>
      <line num="1116" type="stmt" count="1"/>
      <line num="1117" type="stmt" count="1"/>
      <line num="1118" type="stmt" count="1"/>
      <line num="1119" type="stmt" count="1"/>
      <line num="1120" type="stmt" count="1"/>
      <line num="1121" type="stmt" count="1"/>
      <line num="1122" type="stmt" count="1"/>
      <line num="1123" type="stmt" count="1"/>
      <line num="1125" type="stmt" count="1"/>
      <line num="1128" type="method" name="getPriorityLanguage" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="1131" type="stmt" count="2"/>
      <line num="1132" type="stmt" count="2"/>
      <line num="1133" type="stmt" count="2"/>
      <line num="1136" type="stmt" count="2"/>
      <line num="1137" type="stmt" count="2"/>
      <line num="1139" type="stmt" count="2"/>
      <line num="1142" type="method" name="getPageList" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="1143" type="stmt" count="0"/>
      <line num="1145" type="stmt" count="0"/>
      <line num="1146" type="stmt" count="0"/>
      <line num="1147" type="stmt" count="0"/>
      <line num="1148" type="stmt" count="0"/>
      <line num="1149" type="stmt" count="0"/>
      <line num="1150" type="stmt" count="0"/>
      <line num="1151" type="stmt" count="0"/>
      <line num="1152" type="stmt" count="0"/>
      <line num="1153" type="stmt" count="0"/>
      <line num="1154" type="stmt" count="0"/>
      <line num="1155" type="stmt" count="0"/>
      <line num="1156" type="stmt" count="0"/>
      <line num="1157" type="stmt" count="0"/>
      <line num="1158" type="stmt" count="0"/>
      <line num="1159" type="stmt" count="0"/>
      <line num="1161" type="stmt" count="0"/>
      <line num="1162" type="stmt" count="0"/>
      <line num="1163" type="stmt" count="0"/>
      <line num="1164" type="stmt" count="0"/>
      <line num="1165" type="stmt" count="0"/>
      <line num="1166" type="stmt" count="0"/>
      <line num="1168" type="stmt" count="0"/>
      <line num="1169" type="stmt" count="0"/>
      <line num="1170" type="stmt" count="0"/>
      <line num="1173" type="stmt" count="0"/>
      <line num="1174" type="stmt" count="0"/>
      <line num="1179" type="stmt" count="0"/>
      <line num="1180" type="stmt" count="0"/>
      <line num="1181" type="stmt" count="0"/>
      <line num="1182" type="stmt" count="0"/>
      <line num="1183" type="stmt" count="0"/>
      <line num="1184" type="stmt" count="0"/>
      <line num="1185" type="stmt" count="0"/>
      <line num="1186" type="stmt" count="0"/>
      <line num="1187" type="stmt" count="0"/>
      <line num="1188" type="stmt" count="0"/>
      <line num="1189" type="stmt" count="0"/>
      <line num="1190" type="stmt" count="0"/>
      <line num="1191" type="stmt" count="0"/>
      <line num="1194" type="stmt" count="0"/>
      <line num="1198" type="method" name="displayPagesWithProposedState" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="1199" type="stmt" count="0"/>
      <line num="1200" type="stmt" count="0"/>
      <line num="1201" type="stmt" count="0"/>
      <line num="1202" type="stmt" count="0"/>
      <line num="1203" type="stmt" count="0"/>
      <line num="1204" type="stmt" count="0"/>
      <line num="1205" type="stmt" count="0"/>
      <line num="1206" type="stmt" count="0"/>
      <line num="1207" type="stmt" count="0"/>
      <line num="1208" type="stmt" count="0"/>
      <line num="1209" type="stmt" count="0"/>
      <line num="1210" type="stmt" count="0"/>
      <line num="1211" type="stmt" count="0"/>
      <line num="1213" type="stmt" count="0"/>
      <line num="1216" type="method" name="showTranslationSettings" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="1217" type="stmt" count="0"/>
      <line num="1218" type="stmt" count="0"/>
      <line num="1220" type="stmt" count="0"/>
      <line num="1222" type="stmt" count="0"/>
      <line num="1223" type="stmt" count="0"/>
      <line num="1224" type="stmt" count="0"/>
      <line num="1225" type="stmt" count="0"/>
      <line num="1228" type="stmt" count="0"/>
      <line num="1229" type="stmt" count="0"/>
      <line num="1232" type="stmt" count="0"/>
      <line num="1233" type="stmt" count="0"/>
      <line num="1236" type="stmt" count="0"/>
      <line num="1237" type="stmt" count="0"/>
      <line num="1238" type="stmt" count="0"/>
      <line num="1239" type="stmt" count="0"/>
      <line num="1240" type="stmt" count="0"/>
      <line num="1241" type="stmt" count="0"/>
      <line num="1242" type="stmt" count="0"/>
      <line num="1243" type="stmt" count="0"/>
      <line num="1245" type="stmt" count="0"/>
      <line num="1246" type="stmt" count="0"/>
      <line num="1247" type="stmt" count="0"/>
      <line num="1248" type="stmt" count="0"/>
      <line num="1249" type="stmt" count="0"/>
      <line num="1250" type="stmt" count="0"/>
      <line num="1251" type="stmt" count="0"/>
      <line num="1252" type="stmt" count="0"/>
      <line num="1253" type="stmt" count="0"/>
      <line num="1254" type="stmt" count="0"/>
      <line num="1255" type="stmt" count="0"/>
      <line num="1256" type="stmt" count="0"/>
      <line num="1257" type="stmt" count="0"/>
      <line num="1258" type="stmt" count="0"/>
      <line num="1259" type="stmt" count="0"/>
      <line num="1260" type="stmt" count="0"/>
      <line num="1261" type="stmt" count="0"/>
      <line num="1262" type="stmt" count="0"/>
      <line num="1263" type="stmt" count="0"/>
      <line num="1264" type="stmt" count="0"/>
      <line num="1265" type="stmt" count="0"/>
      <line num="1266" type="stmt" count="0"/>
      <line num="1267" type="stmt" count="0"/>
      <line num="1268" type="stmt" count="0"/>
      <line num="1269" type="stmt" count="0"/>
      <line num="1270" type="stmt" count="0"/>
      <line num="1271" type="stmt" count="0"/>
      <line num="1272" type="stmt" count="0"/>
      <line num="1273" type="stmt" count="0"/>
      <line num="1274" type="stmt" count="0"/>
      <line num="1275" type="stmt" count="0"/>
      <line num="1276" type="stmt" count="0"/>
      <line num="1277" type="stmt" count="0"/>
      <line num="1278" type="stmt" count="0"/>
      <line num="1279" type="stmt" count="0"/>
      <line num="1280" type="stmt" count="0"/>
      <line num="1281" type="stmt" count="0"/>
      <line num="1282" type="stmt" count="0"/>
      <line num="1283" type="stmt" count="0"/>
      <line num="1284" type="stmt" count="0"/>
      <line num="1285" type="stmt" count="0"/>
      <line num="1286" type="stmt" count="0"/>
      <line num="1287" type="stmt" count="0"/>
      <line num="1288" type="stmt" count="0"/>
      <line num="1290" type="stmt" count="0"/>
      <line num="1292" type="stmt" count="0"/>
      <line num="1293" type="stmt" count="0"/>
      <line num="1294" type="stmt" count="0"/>
      <line num="1295" type="stmt" count="0"/>
      <line num="1296" type="stmt" count="0"/>
      <line num="1297" type="stmt" count="0"/>
      <line num="1298" type="stmt" count="0"/>
      <line num="1299" type="stmt" count="0"/>
      <line num="1301" type="stmt" count="0"/>
      <line num="1302" type="stmt" count="0"/>
      <line num="1305" type="method" name="handleTranslationState" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="1306" type="stmt" count="0"/>
      <line num="1307" type="stmt" count="0"/>
      <line num="1308" type="stmt" count="0"/>
      <line num="1309" type="stmt" count="0"/>
      <line num="1312" type="stmt" count="0"/>
      <line num="1313" type="stmt" count="0"/>
      <line num="1314" type="stmt" count="0"/>
      <line num="1315" type="stmt" count="0"/>
      <line num="1318" type="stmt" count="0"/>
      <line num="1319" type="stmt" count="0"/>
      <line num="1320" type="stmt" count="0"/>
      <line num="1322" type="stmt" count="0"/>
      <line num="1325" type="stmt" count="0"/>
      <line num="1326" type="stmt" count="0"/>
      <line num="1327" type="stmt" count="0"/>
      <line num="1330" type="method" name="addPageForm" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="1336" type="stmt" count="1"/>
      <line num="1337" type="stmt" count="1"/>
      <line num="1338" type="stmt" count="1"/>
      <line num="1339" type="stmt" count="1"/>
      <line num="1340" type="stmt" count="1"/>
      <line num="1342" type="stmt" count="1"/>
      <line num="1343" type="stmt" count="1"/>
      <line num="1344" type="stmt" count="1"/>
      <line num="1345" type="stmt" count="1"/>
      <line num="1346" type="stmt" count="1"/>
      <line num="1347" type="stmt" count="1"/>
      <line num="1348" type="stmt" count="1"/>
      <line num="1349" type="stmt" count="1"/>
      <line num="1352" type="method" name="displayStateInfoMessage" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="1353" type="stmt" count="0"/>
      <line num="1354" type="stmt" count="0"/>
      <line num="1355" type="stmt" count="0"/>
      <line num="1356" type="stmt" count="0"/>
      <line num="1357" type="stmt" count="0"/>
      <line num="1358" type="stmt" count="0"/>
      <line num="1359" type="stmt" count="0"/>
      <line num="1360" type="stmt" count="0"/>
      <line num="1361" type="stmt" count="0"/>
      <line num="1362" type="stmt" count="0"/>
      <line num="1363" type="stmt" count="0"/>
      <line num="1364" type="stmt" count="0"/>
      <line num="1365" type="stmt" count="0"/>
      <line num="1367" type="stmt" count="0"/>
      <line num="1370" type="stmt" count="0"/>
      <line num="1373" type="stmt" count="0"/>
      <line num="1376" type="method" name="getBlock" visibility="private" complexity="3" crap="7.93" count="2"/>
      <line num="1377" type="stmt" count="2"/>
      <line num="1378" type="stmt" count="0"/>
      <line num="1379" type="stmt" count="0"/>
      <line num="1380" type="stmt" count="0"/>
      <line num="1381" type="stmt" count="0"/>
      <line num="1382" type="stmt" count="0"/>
      <line num="1383" type="stmt" count="0"/>
      <line num="1384" type="stmt" count="0"/>
      <line num="1385" type="stmt" count="0"/>
      <line num="1388" type="stmt" count="0"/>
      <line num="1391" type="stmt" count="2"/>
      <line num="1394" type="method" name="showTranslationStateRestricted" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="1395" type="stmt" count="0"/>
      <line num="1396" type="stmt" count="0"/>
      <line num="1397" type="stmt" count="0"/>
      <metrics loc="1400" ncloc="1317" classes="1" methods="27" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="904" coveredstatements="319" elements="931" coveredelements="326"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/ParserOutput.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\ParserOutput" namespace="global">
        <metrics complexity="16" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="41" elements="54" coveredelements="49"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="29" type="stmt" count="8"/>
      <line num="30" type="stmt" count="7"/>
      <line num="32" type="stmt" count="6"/>
      <line num="33" type="stmt" count="6"/>
      <line num="34" type="stmt" count="6"/>
      <line num="38" type="method" name="sourcePageTemplate" visibility="public" 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="44" type="stmt" count="2"/>
      <line num="48" type="method" name="translationPageTemplate" visibility="public" complexity="2" crap="2" 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="54" type="stmt" count="2"/>
      <line num="58" type="method" name="units" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="63" type="method" name="sourcePageTextForRendering" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="78" type="method" name="getPageTextForRendering" visibility="public" complexity="2" crap="2" 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="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="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="105" type="stmt" count="1"/>
      <line num="109" type="method" name="sourcePageTextForSaving" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="110" 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="120" type="method" name="sourcePageTemplateForDiffs" visibility="public" complexity="2" crap="6" 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="127" type="stmt" count="0"/>
      <line num="130" type="method" name="assertContainsOnlyInstancesOf" visibility="private" complexity="3" crap="3" count="8"/>
      <line num="135" type="stmt" count="8"/>
      <line num="136" type="stmt" count="7"/>
      <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"/>
      <metrics loc="145" ncloc="115" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="41" elements="54" coveredelements="49"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/ParsingFailure.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\ParsingFailure" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="getMessageSpecification" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <metrics loc="31" ncloc="21" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/PrepareTranslatablePageSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\PrepareTranslatablePageSpecialPage" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="43" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="24" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="1" crap="2" 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="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="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="54" type="method" name="getHtml" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <metrics loc="76" ncloc="70" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/RenderTranslationPageJob.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\RenderTranslationPageJob" namespace="global">
        <metrics complexity="39" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="113" coveredstatements="0" elements="129" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="method" name="newNonPrioritizedJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="method" name="run" visibility="public" complexity="18" crap="342" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="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="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="100" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" 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="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="128" 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="135" type="stmt" count="0"/>
      <line num="136" 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="143" type="stmt" count="0"/>
      <line num="144" 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="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="164" type="method" name="setFlags" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="method" name="getFlags" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="172" type="method" name="setSummary" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="177" type="method" name="getDeduplicationInfo" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="184" type="method" name="getSummary" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="192" type="method" name="setUser" visibility="public" complexity="3" crap="12" 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="205" type="method" name="getUser" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="210" type="method" name="isDeleteTrigger" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="method" name="isCategoryTrigger" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="218" type="method" name="logJobStart" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="232" type="method" name="deleteTranslationPage" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="253" type="method" name="hasOnlyFuzzyBotAsAuthor" visibility="private" complexity="3" crap="12" 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="261" type="stmt" count="0"/>
      <metrics loc="264" ncloc="242" classes="1" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="113" coveredstatements="0" elements="129" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/Section.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\Section" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="8" coveredelements="8"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="19" type="stmt" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="23" type="method" name="contents" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="28" type="method" name="wrappedContents" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <metrics loc="32" ncloc="25" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="8" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TestingParsingPlaceholderFactory.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TestingParsingPlaceholderFactory" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="make" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <metrics loc="21" ncloc="15" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatableBundleDeleter.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatableBundleDeleter" namespace="global">
        <metrics complexity="12" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="50" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="48" type="method" name="getPagesForDeletion" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="65" type="method" name="deleteAsynchronously" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="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="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="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="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="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="118" type="method" name="getValidBundleFromTitle" visibility="private" complexity="2" crap="6" 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="124" type="stmt" count="0"/>
      <metrics loc="127" ncloc="112" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="50" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatableBundleMover.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatableBundleMover" namespace="global">
        <metrics complexity="46" methods="12" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="186" coveredstatements="136" elements="198" coveredelements="144"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="73" type="method" name="getPageMoveCollection" visibility="public" complexity="17" crap="53.12" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <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="99" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="101" type="stmt" count="0"/>
      <line num="105" type="stmt" count="4"/>
      <line num="106" type="stmt" count="0"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="111" 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="121" type="stmt" count="4"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="124" type="stmt" count="4"/>
      <line num="128" type="stmt" count="4"/>
      <line num="129" type="stmt" 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="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="141" type="stmt" count="4"/>
      <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="151" type="stmt" count="4"/>
      <line num="152" type="stmt" count="0"/>
      <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="0"/>
      <line num="160" 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="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="186" type="stmt" count="4"/>
      <line num="187" type="stmt" count="0"/>
      <line num="190" type="stmt" count="4"/>
      <line num="193" type="method" name="moveAsynchronously" visibility="public" complexity="1" crap="1" 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="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="219" type="stmt" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="234" type="method" name="moveSynchronously" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="243" type="stmt" count="4"/>
      <line num="244" type="stmt" count="4"/>
      <line num="246" type="stmt" count="4"/>
      <line num="248" type="stmt" count="4"/>
      <line num="250" type="stmt" count="4"/>
      <line num="252" type="stmt" count="4"/>
      <line num="253" type="stmt" count="4"/>
      <line num="256" type="method" name="disablePageMoveLimit" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="257" type="stmt" count="5"/>
      <line num="260" type="method" name="enablePageMoveLimit" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="264" type="method" name="shouldLeaveRedirect" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="265" type="stmt" count="5"/>
      <line num="268" type="method" name="getPagesToMove" visibility="private" complexity="8" crap="8.20" count="5"/>
      <line num="276" type="stmt" count="5"/>
      <line num="278" type="stmt" count="5"/>
      <line num="280" type="stmt" count="5"/>
      <line num="281" type="stmt" count="5"/>
      <line num="282" type="stmt" count="5"/>
      <line num="284" type="stmt" count="5"/>
      <line num="285" type="stmt" count="5"/>
      <line num="286" type="stmt" count="4"/>
      <line num="287" type="stmt" count="4"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="4"/>
      <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="296" type="stmt" count="5"/>
      <line num="297" type="stmt" count="5"/>
      <line num="298" type="stmt" count="5"/>
      <line num="299" type="stmt" count="5"/>
      <line num="300" type="stmt" count="5"/>
      <line num="302" type="stmt" count="5"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" 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="316" type="stmt" count="5"/>
      <line num="318" type="stmt" count="5"/>
      <line num="319" type="stmt" count="5"/>
      <line num="320" type="stmt" count="0"/>
      <line num="322" type="stmt" count="5"/>
      <line num="325" type="stmt" count="5"/>
      <line num="326" type="stmt" count="5"/>
      <line num="328" type="stmt" count="5"/>
      <line num="329" type="stmt" count="5"/>
      <line num="330" type="stmt" count="5"/>
      <line num="331" type="stmt" count="5"/>
      <line num="332" type="stmt" count="5"/>
      <line num="333" type="stmt" count="5"/>
      <line num="334" type="stmt" count="5"/>
      <line num="335" type="stmt" count="5"/>
      <line num="339" type="method" name="lock" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="340" type="stmt" count="5"/>
      <line num="341" type="stmt" count="5"/>
      <line num="342" type="stmt" count="5"/>
      <line num="348" type="stmt" count="5"/>
      <line num="352" type="method" name="unlock" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="353" type="stmt" count="4"/>
      <line num="354" type="stmt" count="4"/>
      <line num="366" type="method" name="move" visibility="private" complexity="5" crap="5" count="4"/>
      <line num="374" type="stmt" count="4"/>
      <line num="376" type="stmt" count="4"/>
      <line num="378" type="stmt" count="4"/>
      <line num="380" type="stmt" count="4"/>
      <line num="381" type="stmt" count="4"/>
      <line num="382" type="stmt" count="4"/>
      <line num="383" type="stmt" count="4"/>
      <line num="385" type="stmt" count="4"/>
      <line num="386" type="stmt" count="4"/>
      <line num="387" type="stmt" count="4"/>
      <line num="389" type="stmt" count="1"/>
      <line num="390" type="stmt" count="1"/>
      <line num="391" type="stmt" count="1"/>
      <line num="392" type="stmt" count="1"/>
      <line num="395" type="stmt" count="4"/>
      <line num="396" type="stmt" count="4"/>
      <line num="397" type="stmt" count="4"/>
      <line num="399" type="stmt" count="4"/>
      <line num="400" type="stmt" count="3"/>
      <line num="401" type="stmt" count="3"/>
      <line num="402" type="stmt" count="3"/>
      <line num="403" type="stmt" count="3"/>
      <line num="404" type="stmt" count="3"/>
      <line num="405" type="stmt" count="3"/>
      <line num="406" type="stmt" count="3"/>
      <line num="409" type="stmt" count="4"/>
      <line num="410" type="stmt" count="1"/>
      <line num="411" type="stmt" count="1"/>
      <line num="414" type="stmt" count="4"/>
      <line num="416" type="stmt" count="4"/>
      <line num="418" type="stmt" count="4"/>
      <line num="421" type="method" name="getRenameMoveBlocker" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="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="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <metrics loc="442" ncloc="391" classes="1" methods="12" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="186" coveredstatements="136" elements="198" coveredelements="144"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePage" namespace="global">
        <metrics complexity="69" methods="36" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="224" coveredstatements="146" elements="260" coveredelements="163"/>
      </class>
      <line num="62" type="method" name="__construct" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="65" type="stmt" count="5"/>
      <line num="73" type="method" name="newFromText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="86" type="method" name="newFromRevision" visibility="public" complexity="2" crap="2.01" 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="0"/>
      <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="1"/>
      <line num="105" type="method" name="newFromTitle" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="106" type="stmt" count="5"/>
      <line num="107" type="stmt" count="5"/>
      <line num="109" type="stmt" count="5"/>
      <line num="113" type="method" name="getTitle" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="117" type="method" name="getPageIdentity" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="118" type="stmt" count="5"/>
      <line num="122" type="method" name="getText" visibility="public" complexity="7" crap="8.14" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" 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="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="134" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="0"/>
      <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="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="159" type="method" name="getRevision" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="168" type="method" name="getSourceLanguageCode" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="173" type="method" name="getMessageGroupId" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="174" type="stmt" count="2"/>
      <line num="178" type="method" name="getMessageGroupIdFromTitle" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="186" type="method" name="getMessageGroup" visibility="public" complexity="3" crap="4.12" 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="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="200" type="method" name="hasPageDisplayTitle" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" 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="211" type="stmt" count="0"/>
      <line num="215" type="method" name="getPageDisplayTitle" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="223" 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="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="239" type="method" name="getStrippedSourcePageText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" type="method" name="getTranslationPageFromTitle" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="252" type="method" name="getTranslationPage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="255" type="stmt" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <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="264" type="stmt" count="1"/>
      <line num="265" type="stmt" count="1"/>
      <line num="266" 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="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="280" type="method" name="addMarkedTag" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="281" type="stmt" count="3"/>
      <line num="282" type="stmt" count="3"/>
      <line num="286" type="method" name="addReadyTag" visibility="public" complexity="2" crap="2.15" count="4"/>
      <line num="287" type="stmt" count="4"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="0"/>
      <line num="294" type="method" name="getMarkedTag" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="295" type="stmt" count="4"/>
      <line num="299" type="method" name="getReadyTag" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="300" type="stmt" count="3"/>
      <line num="308" type="method" name="getTranslationUrl" visibility="public" complexity="1" crap="1" count="1"/>
      <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="316" type="stmt" count="1"/>
      <line num="318" type="stmt" count="1"/>
      <line num="322" type="method" name="getTranslationPages" visibility="public" complexity="4" crap="4.01" count="1"/>
      <line num="323" type="stmt" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="326" type="stmt" count="1"/>
      <line num="328" type="stmt" count="1"/>
      <line num="329" 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="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="0"/>
      <line num="344" type="stmt" count="1"/>
      <line num="348" type="method" name="getTranslationUnitPages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="352" type="method" name="getTranslationPercentages" visibility="public" complexity="5" crap="30" 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="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="389" type="method" name="supportsTransclusion" visibility="public" complexity="2" crap="6" 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="0"/>
      <line num="400" type="method" name="getRevisionRecordWithFallback" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="413" type="method" name="isMoveable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="418" type="method" name="isDeletable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="423" type="method" name="isTranslationPage" visibility="public" complexity="3" crap="3.01" count="5"/>
      <line num="424" type="stmt" count="5"/>
      <line num="425" type="stmt" count="5"/>
      <line num="426" type="stmt" count="5"/>
      <line num="429" type="stmt" count="1"/>
      <line num="430" type="stmt" count="1"/>
      <line num="432" type="stmt" count="1"/>
      <line num="434" type="stmt" count="1"/>
      <line num="435" type="stmt" count="0"/>
      <line num="438" type="stmt" count="1"/>
      <line num="440" type="stmt" count="1"/>
      <line num="444" type="method" name="parseTranslationUnit" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="447" type="stmt" count="3"/>
      <line num="450" type="stmt" count="3"/>
      <line num="451" type="stmt" count="3"/>
      <line num="452" type="stmt" count="3"/>
      <line num="454" type="stmt" count="3"/>
      <line num="455" type="stmt" count="3"/>
      <line num="456" type="stmt" count="3"/>
      <line num="457" type="stmt" count="3"/>
      <line num="458" type="stmt" count="3"/>
      <line num="461" type="method" name="isSourcePage" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="462" type="stmt" count="4"/>
      <line num="467" type="stmt" count="0"/>
      <line num="470" type="stmt" count="4"/>
      <line num="471" type="stmt" count="4"/>
      <line num="474" type="stmt" count="4"/>
      <line num="475" type="stmt" count="4"/>
      <line num="476" type="stmt" count="4"/>
      <line num="477" type="stmt" count="4"/>
      <line num="478" type="stmt" count="4"/>
      <line num="479" type="stmt" count="4"/>
      <line num="481" type="stmt" count="4"/>
      <line num="482" type="stmt" count="4"/>
      <line num="483" type="stmt" count="4"/>
      <line num="484" type="stmt" count="4"/>
      <line num="485" type="stmt" count="4"/>
      <line num="486" type="stmt" count="4"/>
      <line num="487" type="stmt" count="4"/>
      <line num="488" type="stmt" count="4"/>
      <line num="489" type="stmt" count="4"/>
      <line num="490" type="stmt" count="4"/>
      <line num="491" type="stmt" count="4"/>
      <line num="492" type="stmt" count="4"/>
      <line num="493" type="stmt" count="4"/>
      <line num="494" type="stmt" count="4"/>
      <line num="496" type="stmt" count="4"/>
      <line num="499" type="method" name="isBroken" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="507" type="method" name="clearSourcePageCache" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="508" type="stmt" count="3"/>
      <line num="509" type="stmt" count="3"/>
      <line num="512" type="method" name="determineStatus" visibility="public" complexity="5" crap="5" count="10"/>
      <line num="517" type="stmt" count="10"/>
      <line num="518" type="stmt" count="10"/>
      <line num="520" type="stmt" count="7"/>
      <line num="521" type="stmt" count="5"/>
      <line num="524" type="stmt" count="2"/>
      <line num="526" type="stmt" count="4"/>
      <line num="527" type="stmt" count="3"/>
      <line num="529" type="stmt" count="1"/>
      <line num="531" type="stmt" count="2"/>
      <line num="535" type="stmt" count="1"/>
      <line num="538" type="stmt" count="8"/>
      <line num="546" type="method" name="getCacheValue" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="547" type="stmt" count="4"/>
      <line num="549" type="stmt" count="4"/>
      <line num="551" type="stmt" count="4"/>
      <line num="552" type="stmt" count="4"/>
      <line num="556" type="stmt" count="4"/>
      <line num="561" type="stmt" count="0"/>
      <metrics loc="562" ncloc="463" classes="1" methods="36" coveredmethods="17" conditionals="0" coveredconditionals="0" statements="225" coveredstatements="146" elements="261" coveredelements="163"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageInsertablesSuggester" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="12" coveredelements="12"/>
      </class>
      <line num="24" type="method" name="getInsertables" visibility="public" complexity="2" crap="2" 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="31" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="34" type="stmt" count="1"/>
      <line num="37" type="stmt" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <metrics loc="44" ncloc="31" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageMarkException.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageMarkException" 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="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/Translate/src/PageTranslation/TranslatablePageMarkOperation.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageMarkOperation" namespace="global">
        <metrics complexity="8" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="21" coveredelements="21"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="40" type="method" name="getPage" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="45" type="method" name="getParserOutput" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="53" type="method" name="getUnits" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="54" type="stmt" count="1"/>
      <line num="62" type="method" name="getDeletedUnits" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="67" type="method" name="isFirstMark" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="72" type="method" name="isValid" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="77" type="method" name="getUnitValidationStatus" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <metrics loc="81" ncloc="62" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="21" coveredelements="21"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageMarker.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageMarker" namespace="global">
        <metrics complexity="69" methods="12" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="303" coveredstatements="269" elements="315" coveredelements="275"/>
      </class>
      <line num="67" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="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="113" type="method" name="unmarkPage" visibility="public" complexity="3" crap="3.00" 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="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="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="137" 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="143" type="stmt" count="2"/>
      <line num="160" type="method" name="getMarkOperation" visibility="public" complexity="9" crap="9" count="4"/>
      <line num="165" type="stmt" count="4"/>
      <line num="166" type="stmt" count="4"/>
      <line num="168" type="stmt" count="1"/>
      <line num="172" type="stmt" count="4"/>
      <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="189" type="stmt" count="3"/>
      <line num="190" type="stmt" count="3"/>
      <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="201" type="stmt" count="2"/>
      <line num="202" type="stmt" count="2"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="207" type="stmt" count="2"/>
      <line num="208" 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="1"/>
      <line num="215" type="stmt" count="2"/>
      <line num="216" type="stmt" count="2"/>
      <line num="217" type="stmt" count="2"/>
      <line num="218" type="stmt" count="2"/>
      <line num="219" type="stmt" count="2"/>
      <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="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <line num="235" type="stmt" count="2"/>
      <line num="236" type="stmt" count="2"/>
      <line num="249" type="method" name="validateUnitNames" visibility="private" complexity="9" crap="9" 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="262" type="stmt" count="2"/>
      <line num="263" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <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="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="276" type="stmt" count="1"/>
      <line num="281" type="stmt" count="2"/>
      <line num="282" type="stmt" count="1"/>
      <line num="288" type="stmt" count="2"/>
      <line num="292" type="stmt" count="1"/>
      <line num="294" type="stmt" count="2"/>
      <line num="296" type="stmt" count="2"/>
      <line num="299" type="stmt" count="2"/>
      <line num="321" type="method" name="markForTranslation" visibility="public" complexity="10" crap="10.33" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="328" type="stmt" count="0"/>
      <line num="331" type="stmt" count="1"/>
      <line num="332" type="stmt" count="1"/>
      <line num="333" type="stmt" count="1"/>
      <line num="336" 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="343" type="stmt" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="345" type="stmt" count="1"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="353" type="stmt" count="1"/>
      <line num="354" type="stmt" count="1"/>
      <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="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="366" type="stmt" count="0"/>
      <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="377" type="stmt" count="1"/>
      <line num="378" type="stmt" count="1"/>
      <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="384" type="stmt" count="1"/>
      <line num="385" type="stmt" count="1"/>
      <line num="386" type="stmt" count="1"/>
      <line num="387" type="stmt" count="1"/>
      <line num="388" type="stmt" count="1"/>
      <line num="389" type="stmt" count="1"/>
      <line num="392" type="stmt" count="1"/>
      <line num="394" type="stmt" count="1"/>
      <line num="396" type="stmt" count="1"/>
      <line num="397" type="stmt" count="0"/>
      <line num="401" type="stmt" count="1"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="407" type="stmt" count="1"/>
      <line num="409" type="stmt" count="1"/>
      <line num="410" 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="424" type="stmt" count="1"/>
      <line num="426" type="stmt" count="1"/>
      <line num="428" type="stmt" count="1"/>
      <line num="431" type="method" name="saveMetadata" visibility="private" complexity="4" crap="4" count="1"/>
      <line num="437" type="stmt" count="1"/>
      <line num="438" 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="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="451" type="stmt" count="1"/>
      <line num="454" type="method" name="validatePriorityLanguages" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="455" type="stmt" count="4"/>
      <line num="456" type="stmt" count="4"/>
      <line num="457" type="stmt" count="4"/>
      <line num="458" type="stmt" count="2"/>
      <line num="459" type="stmt" count="2"/>
      <line num="460" type="stmt" count="2"/>
      <line num="461" type="stmt" count="2"/>
      <line num="462" type="stmt" count="2"/>
      <line num="464" type="stmt" count="2"/>
      <line num="467" type="method" name="handlePriorityLanguages" visibility="private" complexity="12" crap="12.04" count="1"/>
      <line num="472" type="stmt" count="1"/>
      <line num="473" type="stmt" count="1"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="1"/>
      <line num="476" type="stmt" count="1"/>
      <line num="480" type="stmt" count="1"/>
      <line num="481" type="stmt" count="1"/>
      <line num="483" type="stmt" count="0"/>
      <line num="486" 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="492" type="stmt" count="1"/>
      <line num="493" type="stmt" count="1"/>
      <line num="494" type="stmt" count="1"/>
      <line num="497" type="stmt" count="1"/>
      <line num="500" type="stmt" count="1"/>
      <line num="503" type="stmt" count="1"/>
      <line num="505" type="stmt" count="1"/>
      <line num="506" type="stmt" count="1"/>
      <line num="507" type="stmt" count="1"/>
      <line num="508" type="stmt" count="1"/>
      <line num="509" type="stmt" count="1"/>
      <line num="510" type="stmt" count="1"/>
      <line num="512" type="stmt" count="1"/>
      <line num="513" type="stmt" count="1"/>
      <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="522" type="method" name="prepareTranslationUnits" visibility="private" complexity="8" crap="8" count="2"/>
      <line num="523" type="stmt" count="2"/>
      <line num="525" type="stmt" count="2"/>
      <line num="526" type="stmt" count="2"/>
      <line num="529" type="stmt" count="2"/>
      <line num="530" type="stmt" count="2"/>
      <line num="531" type="stmt" count="2"/>
      <line num="532" type="stmt" count="2"/>
      <line num="534" type="stmt" count="2"/>
      <line num="537" type="stmt" count="2"/>
      <line num="538" type="stmt" count="1"/>
      <line num="540" type="stmt" count="2"/>
      <line num="541" type="stmt" count="2"/>
      <line num="544" type="stmt" count="2"/>
      <line num="545" type="stmt" count="2"/>
      <line num="547" type="stmt" count="2"/>
      <line num="548" type="stmt" count="1"/>
      <line num="549" type="stmt" count="1"/>
      <line num="551" type="stmt" count="2"/>
      <line num="552" type="stmt" count="1"/>
      <line num="553" type="stmt" count="1"/>
      <line num="554" type="stmt" count="1"/>
      <line num="555" type="stmt" count="1"/>
      <line num="558" type="stmt" count="2"/>
      <line num="564" type="stmt" count="2"/>
      <line num="565" type="stmt" count="2"/>
      <line num="566" type="stmt" count="2"/>
      <line num="569" type="stmt" count="2"/>
      <line num="572" type="method" name="updateSectionMarkers" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="578" type="stmt" count="1"/>
      <line num="579" type="stmt" count="1"/>
      <line num="580" type="stmt" count="1"/>
      <line num="581" type="stmt" count="1"/>
      <line num="582" type="stmt" count="1"/>
      <line num="583" type="stmt" count="1"/>
      <line num="584" type="stmt" count="1"/>
      <line num="585" type="stmt" count="1"/>
      <line num="586" type="stmt" count="1"/>
      <line num="588" type="stmt" count="1"/>
      <line num="589" type="stmt" count="1"/>
      <line num="590" type="stmt" count="1"/>
      <line num="592" type="stmt" count="1"/>
      <line num="594" type="stmt" count="1"/>
      <line num="596" type="stmt" count="1"/>
      <line num="600" type="method" name="throwIfEditFailed" visibility="private" complexity="2" crap="3.69" count="1"/>
      <line num="601" type="stmt" count="1"/>
      <line num="602" type="stmt" count="1"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="606" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="618" type="method" name="sendNotifications" visibility="public" complexity="6" crap="14.54" count="1"/>
      <line num="624" type="stmt" count="1"/>
      <line num="625" type="stmt" count="1"/>
      <line num="626" type="stmt" count="1"/>
      <line num="628" type="stmt" count="1"/>
      <line num="629" type="stmt" count="0"/>
      <line num="632" type="stmt" count="1"/>
      <line num="633" type="stmt" count="1"/>
      <line num="634" type="stmt" count="1"/>
      <line num="639" type="stmt" count="1"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <metrics loc="659" ncloc="562" classes="1" methods="12" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="303" coveredstatements="269" elements="315" coveredelements="275"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageMessageGroupFactory.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageMessageGroupFactory" namespace="global">
        <metrics complexity="9" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="33" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="getCacheKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="getCacheVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" type="method" name="getDependencies" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="getData" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="75" type="method" name="createGroups" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <metrics loc="89" ncloc="78" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="33" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageParser.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageParser" namespace="global">
        <metrics complexity="25" methods="8" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="118" coveredstatements="94" elements="126" coveredelements="100"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="37"/>
      <line num="20" type="stmt" count="37"/>
      <line num="23" type="method" name="containsMarkup" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="24" type="stmt" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="26" type="stmt" count="7"/>
      <line num="33" type="method" name="cleanupTags" visibility="public" complexity="1" crap="1" count="18"/>
      <line num="34" type="stmt" count="18"/>
      <line num="35" type="stmt" count="18"/>
      <line num="36" type="stmt" count="18"/>
      <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="18"/>
      <line num="43" type="stmt" count="18"/>
      <line num="44" type="stmt" count="18"/>
      <line num="46" type="stmt" count="18"/>
      <line num="50" type="method" name="parse" visibility="public" complexity="8" crap="9.49" count="8"/>
      <line num="51" type="stmt" count="8"/>
      <line num="52" type="stmt" count="8"/>
      <line num="54" type="stmt" count="8"/>
      <line num="55" type="stmt" count="8"/>
      <line num="57" type="stmt" count="8"/>
      <line num="58" type="stmt" count="8"/>
      <line num="59" type="stmt" count="8"/>
      <line num="60" type="stmt" count="8"/>
      <line num="62" type="stmt" count="8"/>
      <line num="63" type="stmt" count="3"/>
      <line num="66" type="stmt" count="8"/>
      <line num="67" type="stmt" count="8"/>
      <line num="69" type="stmt" count="8"/>
      <line num="70" type="stmt" count="8"/>
      <line num="73" type="stmt" count="8"/>
      <line num="74" type="stmt" count="8"/>
      <line num="76" type="stmt" count="8"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="8"/>
      <line num="84" type="stmt" count="8"/>
      <line num="87" type="stmt" count="8"/>
      <line num="88" type="stmt" count="8"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" 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="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="3"/>
      <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="115" type="stmt" count="3"/>
      <line num="117" type="stmt" count="3"/>
      <line num="126" type="method" name="parseSection" visibility="public" complexity="3" crap="3" count="12"/>
      <line num="127" type="stmt" count="12"/>
      <line num="128" type="stmt" count="12"/>
      <line num="130" type="stmt" count="12"/>
      <line num="132" type="stmt" count="12"/>
      <line num="133" type="stmt" count="12"/>
      <line num="135" type="stmt" count="12"/>
      <line num="136" type="stmt" count="12"/>
      <line num="137" type="stmt" count="6"/>
      <line num="139" type="stmt" count="12"/>
      <line num="140" type="stmt" count="12"/>
      <line num="141" type="stmt" count="7"/>
      <line num="142" type="stmt" count="7"/>
      <line num="143" type="stmt" count="7"/>
      <line num="144" 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="160" type="method" name="parseUnit" visibility="public" complexity="8" crap="10.18" count="12"/>
      <line num="161" type="stmt" count="12"/>
      <line num="162" type="stmt" count="12"/>
      <line num="163" type="stmt" count="12"/>
      <line num="165" type="stmt" count="12"/>
      <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="173" type="stmt" count="12"/>
      <line num="174" type="stmt" count="12"/>
      <line num="175" type="stmt" count="6"/>
      <line num="176" type="stmt" count="6"/>
      <line num="178" type="stmt" count="6"/>
      <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="185" type="stmt" count="4"/>
      <line num="186" type="stmt" count="3"/>
      <line num="187" type="stmt" count="3"/>
      <line num="188" type="stmt" count="3"/>
      <line num="189" type="stmt" count="3"/>
      <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="1"/>
      <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="1"/>
      <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="213" type="stmt" count="7"/>
      <line num="217" type="method" name="armourNowiki" visibility="public" complexity="2" crap="2" count="33"/>
      <line num="218" type="stmt" count="33"/>
      <line num="220" type="stmt" count="33"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="226" type="stmt" count="33"/>
      <line num="230" type="method" name="unarmourNowiki" visibility="public" complexity="1" crap="1" count="26"/>
      <line num="231" type="stmt" count="26"/>
      <metrics loc="234" ncloc="193" classes="1" methods="8" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="118" coveredstatements="94" elements="126" coveredelements="100"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageSettings.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageSettings" namespace="global">
        <metrics complexity="8" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="22" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="39" type="method" name="getPriorityLanguages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="method" name="shouldForcePriorityLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="method" name="getPriorityLanguageComment" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="51" type="method" name="getNoFuzzyUnits" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="method" name="shouldTranslateTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="method" name="shouldForceLatestSyntaxVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="method" name="shouldEnableTransclusion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <metrics loc="67" ncloc="61" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="22" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageStateStore.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageStateStore" namespace="global">
        <metrics complexity="10" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="0" elements="34" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="remove" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="set" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="get" visibility="public" complexity="2" crap="6" 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="52" type="stmt" count="0"/>
      <line num="56" type="method" name="getRequested" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" 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="70" type="method" name="getCacheKey" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="method" name="getCacheTag" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="method" name="getPageIdFromCacheKey" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <metrics loc="83" ncloc="76" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="0" elements="34" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageStatus.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageStatus" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="isEqual" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="getId" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <metrics loc="38" ncloc="32" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslatablePageView.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslatablePageView" namespace="global">
        <metrics complexity="16" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="0" elements="55" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="canManageTranslationSettings" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="52" type="method" name="canDisplayTranslationSettingsBanner" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="method" name="isTranslationBannerNamespaceConfigured" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="method" name="isRecentEditor" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="method" name="isTranslationSettingsAllowedForTitle" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <metrics loc="128" ncloc="111" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="0" elements="55" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslateAnnotationStripper.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslateAnnotationStripper" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="1" elements="4" coveredelements="2"/>
      </class>
      <line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="12" type="stmt" count="0"/>
      <line num="15" type="method" name="stripAnnotations" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="16" type="stmt" count="7"/>
      <metrics loc="19" ncloc="19" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="1" elements="4" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslateTitleEnum.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/Translate/src/PageTranslation/TranslateTitlePageTranslationHook.php">
      <metrics loc="33" 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/Translate/src/PageTranslation/TranslationPage.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslationPage" namespace="global">
        <metrics complexity="10" methods="8" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="14" elements="43" coveredelements="16"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="52" type="method" name="getPageContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="method" name="getMessageCollection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="method" name="filterMessageCollection" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="72" type="method" name="extractMessages" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="89" type="method" name="generateSourceFromTranslations" visibility="public" complexity="1" crap="1" 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="95" type="stmt" count="8"/>
      <line num="96" type="stmt" count="8"/>
      <line num="99" type="method" name="generateSourceFromMessageCollection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="108" type="method" name="generateSource" visibility="private" complexity="1" crap="2" 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="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <metrics loc="117" ncloc="99" classes="1" methods="8" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="14" elements="43" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslationUnit.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslationUnit" namespace="global">
        <metrics complexity="49" methods="20" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="127" coveredstatements="115" elements="147" coveredelements="129"/>
      </class>
      <line num="59" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="48"/>
      <line num="65" type="stmt" count="48"/>
      <line num="66" type="stmt" count="48"/>
      <line num="67" type="stmt" count="48"/>
      <line num="68" type="stmt" count="48"/>
      <line num="71" type="method" name="setIsInline" visibility="public" complexity="1" crap="1" count="27"/>
      <line num="72" type="stmt" count="27"/>
      <line num="75" type="method" name="isInline" visibility="public" complexity="1" crap="1" count="29"/>
      <line num="76" type="stmt" count="29"/>
      <line num="79" type="method" name="setCanWrap" visibility="public" complexity="1" crap="1" count="23"/>
      <line num="80" type="stmt" count="23"/>
      <line num="83" type="method" name="canWrap" visibility="public" complexity="1" crap="1" count="29"/>
      <line num="84" type="stmt" count="29"/>
      <line num="88" type="method" name="getText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="93" type="method" name="getTextWithVariables" visibility="public" complexity="1" crap="1" count="35"/>
      <line num="94" type="stmt" count="35"/>
      <line num="97" type="method" name="replaceVariablesWithNames" visibility="private" complexity="2" crap="2" count="35"/>
      <line num="98" type="stmt" count="35"/>
      <line num="99" type="stmt" count="35"/>
      <line num="100" type="stmt" count="18"/>
      <line num="103" type="stmt" count="35"/>
      <line num="107" type="method" name="getTextForTrans" visibility="public" complexity="2" crap="2" 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="113" type="stmt" count="2"/>
      <line num="117" type="method" name="onlyTvarsChanged" visibility="public" complexity="2" crap="2.03" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="124" type="stmt" count="4"/>
      <line num="128" type="method" name="getMarkedText" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="129" type="stmt" count="4"/>
      <line num="130" type="stmt" count="4"/>
      <line num="132" type="stmt" count="4"/>
      <line num="133" type="stmt" count="2"/>
      <line num="135" type="stmt" count="2"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="142" type="stmt" count="4"/>
      <line num="146" type="method" name="getOldText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="151" type="method" name="getVariables" visibility="public" complexity="1" crap="1" count="38"/>
      <line num="152" type="stmt" count="38"/>
      <line num="156" type="method" name="loadVariables" visibility="private" complexity="3" crap="3" count="44"/>
      <line num="157" type="stmt" count="44"/>
      <line num="159" type="stmt" count="44"/>
      <line num="160" type="stmt" count="44"/>
      <line num="161" type="stmt" count="44"/>
      <line num="162" type="stmt" count="12"/>
      <line num="165" type="stmt" count="44"/>
      <line num="166" type="stmt" count="44"/>
      <line num="167" type="stmt" count="44"/>
      <line num="168" type="stmt" count="16"/>
      <line num="169" type="stmt" count="16"/>
      <line num="171" type="stmt" count="16"/>
      <line num="172" type="stmt" count="16"/>
      <line num="173" type="stmt" count="16"/>
      <line num="176" type="stmt" count="44"/>
      <line num="180" type="method" name="serializeToArray" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="191" type="method" name="unserializeFromArray" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="201" type="method" name="getTextForRendering" visibility="public" complexity="12" crap="12" count="29"/>
      <line num="208" type="stmt" count="29"/>
      <line num="209" type="stmt" count="29"/>
      <line num="211" type="stmt" count="29"/>
      <line num="212" type="stmt" count="29"/>
      <line num="213" type="stmt" count="25"/>
      <line num="215" type="stmt" count="25"/>
      <line num="217" type="stmt" count="4"/>
      <line num="218" type="stmt" count="4"/>
      <line num="220" type="stmt" count="25"/>
      <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="228" type="stmt" count="4"/>
      <line num="231" type="stmt" count="29"/>
      <line num="232" type="stmt" count="8"/>
      <line num="233" type="stmt" count="8"/>
      <line num="234" type="stmt" count="8"/>
      <line num="237" type="stmt" count="29"/>
      <line num="238" type="stmt" count="29"/>
      <line num="239" type="stmt" count="13"/>
      <line num="243" type="stmt" count="29"/>
      <line num="244" type="stmt" count="29"/>
      <line num="245" type="stmt" count="29"/>
      <line num="246" type="stmt" count="29"/>
      <line num="247" type="stmt" count="29"/>
      <line num="248" type="stmt" count="29"/>
      <line num="249" type="stmt" count="29"/>
      <line num="250" type="stmt" count="29"/>
      <line num="252" type="stmt" count="7"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="7"/>
      <line num="257" type="stmt" count="29"/>
      <line num="260" type="stmt" count="29"/>
      <line num="261" type="stmt" count="29"/>
      <line num="262" type="stmt" count="29"/>
      <line num="263" type="stmt" count="29"/>
      <line num="264" type="stmt" count="29"/>
      <line num="266" type="stmt" count="29"/>
      <line num="270" type="method" name="getIssues" visibility="public" complexity="5" crap="5" count="7"/>
      <line num="271" type="stmt" count="7"/>
      <line num="272" type="stmt" count="7"/>
      <line num="273" type="stmt" count="6"/>
      <line num="274" type="stmt" count="6"/>
      <line num="275" type="stmt" count="6"/>
      <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="281" type="stmt" count="3"/>
      <line num="284" type="stmt" count="6"/>
      <line num="287" type="stmt" count="7"/>
      <line num="288" type="stmt" count="6"/>
      <line num="289" type="stmt" count="6"/>
      <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="298" type="stmt" count="7"/>
      <line num="302" type="method" name="getHeading" visibility="private" complexity="1" crap="1" count="29"/>
      <line num="303" type="stmt" count="29"/>
      <line num="304" type="stmt" count="29"/>
      <line num="305" type="stmt" count="29"/>
      <line num="308" type="method" name="shouldAddAnchor" visibility="private" complexity="6" crap="6.05" count="29"/>
      <line num="316" type="stmt" count="29"/>
      <line num="317" type="stmt" count="19"/>
      <line num="321" type="stmt" count="10"/>
      <line num="322" type="stmt" count="0"/>
      <line num="327" type="stmt" count="10"/>
      <line num="328" type="stmt" count="2"/>
      <line num="332" type="stmt" count="8"/>
      <line num="333" type="stmt" count="1"/>
      <line num="338" type="stmt" count="7"/>
      <metrics loc="341" ncloc="291" classes="1" methods="20" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="127" coveredstatements="115" elements="147" coveredelements="129"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslationUnitIssue.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslationUnitIssue" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="12" coveredelements="12"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="1"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="33" type="method" name="getSeverity" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="37" type="method" name="getKey" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="41" type="method" name="getParams" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <metrics loc="45" ncloc="38" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslationUnitReader.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/Translate/src/PageTranslation/TranslationUnitStore.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslationUnitStore" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="23" type="method" name="getUnits" visibility="public" complexity="2" crap="6" 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="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="40" type="method" name="getNames" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="method" name="delete" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <metrics loc="57" ncloc="51" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslationUnitStoreFactory.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslationUnitStoreFactory" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="24" type="method" name="getReader" 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="30" type="stmt" count="0"/>
      <line num="33" type="method" name="getWriter" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <metrics loc="42" ncloc="37" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/TranslationVariable.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\TranslationVariable" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="24" type="method" name="getDefinition" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="32" type="method" name="getValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <metrics loc="36" ncloc="29" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/PageTranslation/UpdateTranslatablePageJob.php">
      <class name="MediaWiki\Extension\Translate\PageTranslation\UpdateTranslatablePageJob" namespace="global">
        <metrics complexity="18" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="0" elements="91" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="36" type="method" name="newFromPage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="run" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" 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="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="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="85" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="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="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="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="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="159" type="method" name="getTranslationUnitJobs" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" 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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="180" type="method" name="getRenderJobs" visibility="public" complexity="6" crap="42" 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="185" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="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="207" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <metrics loc="215" ncloc="158" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="86" coveredstatements="0" elements="91" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/ParsoidDOMProcessor.php">
      <class name="MediaWiki\Extension\Translate\ParsoidDOMProcessor" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="wtPostprocess" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="22" ncloc="21" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/RecentChangesTranslationFilterHookHandler.php">
      <class name="MediaWiki\Extension\Translate\RecentChangesTranslationFilterHookHandler" namespace="global">
        <metrics complexity="25" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="172" coveredstatements="0" elements="178" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="method" name="onChangesListSpecialPageQuery" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="78" type="method" name="getTranslateNamespaces" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="94" type="method" name="onSpecialRecentChangesPanel" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="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="118" type="stmt" count="0"/>
      <line num="121" type="method" name="isStructuredFilterUiEnabled" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="135" type="method" name="onChangesListSpecialPageStructuredFilters" visibility="public" complexity="13" crap="182" count="0"/>
      <line num="136" 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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" 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="175" 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="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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="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="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="215" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" 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="230" type="stmt" count="0"/>
      <line num="231" 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="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="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" 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="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" 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="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <metrics loc="293" ncloc="270" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="172" coveredstatements="0" elements="178" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/SchemaHookHandler.php">
      <class name="MediaWiki\Extension\Translate\SchemaHookHandler" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="167" coveredstatements="0" elements="168" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="onLoadExtensionSchemaUpdates" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="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"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="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="122" 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="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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" 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="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="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="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="0"/>
      <line num="192" type="stmt" count="0"/>
      <metrics loc="195" ncloc="191" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="167" coveredstatements="0" elements="168" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/ServiceWiring.php">
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" 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="103" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" 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="122" type="stmt" count="0"/>
      <line num="123" 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="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="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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="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="170" 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="175" type="stmt" count="0"/>
      <line num="176" 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="181" type="stmt" count="0"/>
      <line num="182" 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="197" type="stmt" count="0"/>
      <line num="198" 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="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="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="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" 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="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" 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="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" 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="254" type="stmt" count="0"/>
      <line num="255" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="280" 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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" 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="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="318" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" 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="359" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <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="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" 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="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <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="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" 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="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" 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"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <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="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <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"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="518" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" 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="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="535" 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="542" type="stmt" count="0"/>
      <line num="543" 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="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"/>
      <metrics loc="556" ncloc="545" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="421" coveredstatements="0" elements="421" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Services.php">
      <class name="MediaWiki\Extension\Translate\Services" namespace="global">
        <metrics complexity="49" methods="49" coveredmethods="48" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="48" elements="98" coveredelements="96"/>
      </class>
      <line num="64" type="method" name="__construct" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="69" type="method" name="getInstance" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="74" type="method" name="get" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="79" type="method" name="has" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="method" name="getAggregateGroupManager" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="89" type="method" name="getAggregateGroupMessageGroupFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="93" type="method" name="getConfigHelper" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="98" type="method" name="getCsvTranslationImporter" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="103" type="method" name="getEntitySearch" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="107" type="method" name="getExternalMessageSourceStateComparator" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="method" name="getExternalMessageSourceStateImporter" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="116" type="method" name="getFileBasedMessageGroupFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="121" type="method" name="getMessageGroupFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="126" type="method" name="getMessageGroupTypeRegistry" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="130" type="method" name="getFileFormatFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="134" type="method" name="getGroupSynchronizationCache" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="139" type="method" name="getHookDefinedMessageGroupFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="144" type="method" name="getHookRunner" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="149" type="method" name="getMessageBundleDependencyPurger" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="154" type="method" name="getMessageBundleMessageGroupFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="159" type="method" name="getMessageBundleStore" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="164" type="method" name="getMessageBundleTranslationLoader" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="169" type="method" name="getMessageIndex" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="174" type="method" name="getMessageGroupReviewStore" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="175" type="stmt" count="1"/>
      <line num="179" type="method" name="getMessageGroupStatsTableFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="184" type="method" name="getMessageGroupSubscription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="189" type="method" name="getMessageGroupSubscriptionHookHandler" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="190" type="stmt" count="1"/>
      <line num="194" type="method" name="getParsingPlaceholderFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="195" type="stmt" count="1"/>
      <line num="199" type="method" name="getPersistentCache" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="204" type="method" name="getProgressStatsTableFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="205" type="stmt" count="1"/>
      <line num="209" type="method" name="getRevTagStore" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="214" type="method" name="getTranslatableBundleExporter" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="219" type="method" name="getTranslatableBundleImporter" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="220" type="stmt" count="1"/>
      <line num="224" type="method" name="getTranslatableBundleFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="229" type="method" name="getTranslatableBundleMover" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="230" type="stmt" count="1"/>
      <line num="234" type="method" name="getTranslatableBundleStatusStore" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="238" type="method" name="getTranslatablePageMarker" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="243" type="method" name="getTranslatablePageMessageGroupFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="244" type="stmt" count="1"/>
      <line num="247" type="method" name="getTranslatablePageParser" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="252" type="method" name="getTranslatablePageStore" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="257" type="method" name="getMessageGroupMetadata" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="262" type="method" name="getTranslatablePageView" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="263" type="stmt" count="1"/>
      <line num="267" type="method" name="getTranslateSandbox" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="268" type="stmt" count="1"/>
      <line num="272" type="method" name="getTranslationStashReader" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="277" type="method" name="getTranslationStatsDataProvider" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="282" type="method" name="getTranslationUnitStoreFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="286" type="method" name="getTranslatorActivity" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="287" type="stmt" count="1"/>
      <line num="291" type="method" name="getTtmServerFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="296" type="method" name="getWorkflowStatesMessageGroupLoader" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <metrics loc="300" ncloc="252" classes="1" methods="49" coveredmethods="48" conditionals="0" coveredconditionals="0" statements="49" coveredstatements="48" elements="98" coveredelements="96"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/ActiveLanguagesSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Statistics\ActiveLanguagesSpecialPage" namespace="global">
        <metrics complexity="31" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="207" coveredstatements="0" elements="219" coveredelements="0"/>
      </class>
      <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="62" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="72" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="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="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" 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="method" name="showLanguage" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" 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="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="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" 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="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="187" type="method" name="languageCloud" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="188" 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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="198" 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="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="222" type="method" name="filterUsers" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="234" type="method" name="outputLanguageCloud" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" 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="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="248" 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="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="264" type="method" name="makeUserList" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" 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="276" 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="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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="301" type="stmt" 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="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" 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="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="337" type="method" name="formatStyle" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="346" type="method" name="preQueryUsers" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <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="357" type="method" name="getColorLegend" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <metrics loc="371" ncloc="349" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="207" coveredstatements="0" elements="219" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/CleanupTranslationProgressStatsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Statistics\CleanupTranslationProgressStatsMaintenanceScript" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="0" elements="53" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="24" type="method" name="execute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="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="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <metrics loc="84" ncloc="79" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="0" elements="53" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/LanguageEditStatsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Statistics\LanguageEditStatsMaintenanceScript" namespace="global">
        <metrics complexity="14" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="0" elements="67" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="49" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="66" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="100" type="method" name="translationChanges" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="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"/>
      <metrics loc="124" ncloc="104" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="64" coveredstatements="0" elements="67" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/LanguageStatsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Statistics\LanguageStatsSpecialPage" namespace="global">
        <metrics complexity="61" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="244" coveredstatements="0" elements="259" coveredelements="0"/>
      </class>
      <line num="68" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="method" name="isIncludable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="93" type="method" name="execute" visibility="public" complexity="20" crap="420" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" 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="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="108" 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="118" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" 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="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="181" 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="186" 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="200" type="method" name="loadStatistics" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="204" type="method" name="getCacheRebuildJobParameters" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="211" type="method" name="isValidValue" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="218" type="method" name="invalidTarget" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="method" name="showPurgeForm" visibility="public" complexity="1" crap="2" 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="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" 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="245" type="method" name="addForm" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="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="276" 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="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="287" type="method" name="outputIntroduction" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="288" type="stmt" 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="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" 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="308" type="method" name="getWorkflowStateCell" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" 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="320" type="method" name="getTable" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <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="359" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="381" type="method" name="makeGroupGroup" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="403" type="method" name="makeGroupRow" visibility="private" complexity="19" crap="380" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" 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="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="465" type="stmt" 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"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <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="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <metrics loc="506" ncloc="423" classes="1" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="244" coveredstatements="0" elements="259" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/MessageGroupStats.php">
      <class name="MediaWiki\Extension\Translate\Statistics\MessageGroupStats" namespace="global">
        <metrics complexity="83" methods="27" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="279" coveredstatements="72" elements="306" coveredelements="78"/>
      </class>
      <line num="60" type="method" name="getEmptyStats" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="68" type="method" name="getUnknownStats" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="72" type="method" name="isValidLanguage" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="81" type="method" name="isValidMessageGroup" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="92" type="method" name="forItem" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="stmt" 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="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="116" type="method" name="forLanguage" visibility="public" complexity="4" crap="4" 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="125" 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="134" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="145" type="method" name="forGroup" visibility="public" complexity="3" crap="3" 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="154" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="166" type="method" name="clear" visibility="public" complexity="2" crap="6" 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="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="181" type="method" name="clearGroup" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="197" type="method" name="getApproximateLanguageStats" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="198" 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="212" type="method" name="getAllLanguageStats" visibility="private" complexity="3" crap="12" 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="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" 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="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="250" type="method" name="internalClearGroups" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="269" type="method" name="getSortedGroupsForClearing" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="291" type="method" name="getLanguages" visibility="public" complexity="2" crap="2.86" count="1"/>
      <line num="292" type="stmt" count="1"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="298" type="stmt" count="1"/>
      <line num="309" type="method" name="extractResults" visibility="private" complexity="3" crap="4.68" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="313" type="stmt" count="1"/>
      <line num="314" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="324" type="stmt" count="1"/>
      <line num="328" type="method" name="extractNumbers" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="343" type="method" name="forLanguageInternal" visibility="private" complexity="3" crap="3.01" count="1"/>
      <line num="344" type="stmt" count="1"/>
      <line num="346" type="stmt" count="1"/>
      <line num="347" type="stmt" count="1"/>
      <line num="348" type="stmt" count="1"/>
      <line num="350" type="stmt" count="1"/>
      <line num="351" type="stmt" count="1"/>
      <line num="352" type="stmt" count="0"/>
      <line num="354" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="361" type="method" name="expandAggregates" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="381" type="method" name="forGroupInternal" visibility="private" complexity="4" crap="4.01" count="1"/>
      <line num="382" type="stmt" count="1"/>
      <line num="384" type="stmt" count="1"/>
      <line num="385" type="stmt" count="1"/>
      <line num="388" type="stmt" count="1"/>
      <line num="389" type="stmt" count="1"/>
      <line num="390" type="stmt" count="1"/>
      <line num="391" type="stmt" count="0"/>
      <line num="393" type="stmt" count="1"/>
      <line num="397" type="stmt" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="411" type="method" name="selectRowsIdLang" visibility="private" complexity="4" crap="4.00" count="1"/>
      <line num="412" type="stmt" count="1"/>
      <line num="413" type="stmt" count="0"/>
      <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="422" type="stmt" count="1"/>
      <line num="423" 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="442" type="method" name="forItemInternal" visibility="private" complexity="7" crap="39.37" count="1"/>
      <line num="448" 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="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" 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"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="503" type="method" name="calculateAggregateGroup" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="521" type="stmt" 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="534" type="stmt" count="0"/>
      <line num="535" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="546" type="method" name="multiAdd" visibility="public" complexity="4" crap="20" 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="551" type="stmt" count="0"/>
      <line num="554" type="stmt" count="0"/>
      <line num="562" type="method" name="calculateGroup" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="569" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="574" type="stmt" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="576" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="587" type="method" name="queueUpdates" visibility="private" complexity="7" crap="47.37" count="1"/>
      <line num="588" type="stmt" count="1"/>
      <line num="589" type="stmt" count="1"/>
      <line num="590" type="stmt" count="1"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="606" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="614" type="stmt" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="637" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="654" type="method" name="getDatabaseIdForGroupId" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="656" type="stmt" count="2"/>
      <line num="657" type="stmt" count="2"/>
      <line num="660" type="stmt" count="1"/>
      <line num="661" type="stmt" count="1"/>
      <line num="665" type="method" name="getStatsForCollection" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="673" type="stmt" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <metrics loc="692" ncloc="522" classes="1" methods="27" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="279" coveredstatements="72" elements="306" coveredelements="78"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/MessageGroupStatsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Statistics\MessageGroupStatsSpecialPage" namespace="global">
        <metrics complexity="53" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="172" coveredstatements="0" elements="185" coveredelements="0"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="60" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="65" type="method" name="isIncludable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="74" type="method" name="execute" visibility="public" complexity="30" crap="930" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="108" 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="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" 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="125" 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="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" 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="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="171" 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="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="180" 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="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="197" type="stmt" count="0"/>
      <line num="198" 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="209" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" 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="220" type="method" name="loadStatistics" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="method" name="getCacheRebuildJobParameters" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="228" type="method" name="isValidGroup" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" 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="241" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="250" type="method" name="invalidTarget" visibility="private" complexity="1" crap="2" 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="256" type="method" name="outputIntroduction" visibility="private" complexity="3" crap="12" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="269" type="method" name="formatLanguageList" visibility="private" complexity="2" crap="6" 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="276" type="stmt" count="0"/>
      <line num="279" type="method" name="addForm" visibility="private" complexity="4" crap="20" 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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" 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="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" 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="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <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="314" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="335" type="method" name="getGroupOptions" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <metrics loc="348" ncloc="307" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="172" coveredstatements="0" elements="185" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/MessageGroupStatsTable.php">
      <class name="MediaWiki\Extension\Translate\Statistics\MessageGroupStatsTable" namespace="global">
        <metrics complexity="31" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="98" coveredstatements="0" elements="105" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="get" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="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="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="110" type="method" name="areStatsIncomplete" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="114" type="method" name="makeRow" visibility="private" complexity="12" crap="156" 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="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" 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="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="164" type="method" name="getMainColumnCell" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" 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="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="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="193" type="method" name="getWorkflowStateCell" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="207" type="method" name="filterPriorityLangs" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="211" 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="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <metrics loc="225" ncloc="206" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="98" coveredstatements="0" elements="105" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/MessageGroupStatsTableFactory.php">
      <class name="MediaWiki\Extension\Translate\Statistics\MessageGroupStatsTableFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="28" type="method" name="newFromContext" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="40" ncloc="34" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/MessagePrefixStats.php">
      <class name="MediaWiki\Extension\Translate\Statistics\MessagePrefixStats" namespace="global">
        <metrics complexity="9" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="29" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="32" type="method" name="forAll" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="63" type="method" name="isLanguageUnused" visibility="private" complexity="2" crap="6" count="0"/>
      <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="69" type="stmt" count="0"/>
      <line num="72" type="method" name="getAllLanguageStats" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <metrics loc="77" ncloc="64" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="29" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/ProgressStatsTableFactory.php">
      <class name="MediaWiki\Extension\Translate\Statistics\ProgressStatsTableFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" type="method" name="newFromContext" visibility="public" complexity="1" crap="2" 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="31" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/QueryLanguageStatsActionApi.php">
      <class name="MediaWiki\Extension\Translate\Statistics\QueryLanguageStatsActionApi" namespace="global">
        <metrics complexity="22" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="40" elements="65" coveredelements="43"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="35" type="method" name="validateTargetParamater" visibility="protected" complexity="2" crap="2.06" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="stmt" count="4"/>
      <line num="45" type="method" name="loadStatistics" visibility="protected" complexity="4" crap="5.26" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="4"/>
      <line num="60" type="method" name="makeStatsItem" visibility="protected" complexity="12" crap="14.92" 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="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="2"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="2"/>
      <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="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="88" type="stmt" count="3"/>
      <line num="89" type="stmt" count="3"/>
      <line num="91" type="stmt" count="3"/>
      <line num="95" type="method" name="getCacheRebuildJob" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="102" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" 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="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="111" 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="117" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="125" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <metrics loc="136" ncloc="122" classes="1" methods="7" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="40" elements="65" coveredelements="43"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/QueryMessageGroupStatsActionApi.php">
      <class name="MediaWiki\Extension\Translate\Statistics\QueryMessageGroupStatsActionApi" namespace="global">
        <metrics complexity="18" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="43" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="37" type="method" name="validateTargetParamater" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="loadStatistics" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="64" type="method" name="makeStatsItem" visibility="protected" complexity="9" crap="90" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="87" type="method" name="getCacheRebuildJob" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="94" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="108" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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"/>
      <metrics loc="115" ncloc="94" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/QueryStatsActionApi.php">
      <class name="MediaWiki\Extension\Translate\Statistics\QueryStatsActionApi" namespace="global">
        <metrics complexity="10" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="41" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="34" type="method" name="getCacheMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="55" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" 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="75" 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="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="91" type="method" name="makeItem" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="102" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="103" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <metrics loc="112" ncloc="92" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="0" elements="41" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/QueryTranslationStatsActionApi.php">
      <class name="MediaWiki\Extension\Translate\Statistics\QueryTranslationStatsActionApi" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="50" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="method" name="execute" visibility="public" complexity="1" crap="2" 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="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <metrics loc="85" ncloc="78" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="50" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/RebuildMessageGroupStatsJob.php">
      <class name="MediaWiki\Extension\Translate\Statistics\RebuildMessageGroupStatsJob" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="40" type="method" name="newRefreshGroupsJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="method" name="run" visibility="public" complexity="10" crap="110" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <metrics loc="86" ncloc="65" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/ReviewPerLanguageStats.php">
      <class name="MediaWiki\Extension\Translate\Statistics\ReviewPerLanguageStats" namespace="global">
        <metrics complexity="16" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="50" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="createQueryBuilder" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="21" 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="28" 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="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="method" name="indexOf" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" 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="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="method" name="labels" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="method" name="getTimestampColumn" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <metrics loc="110" ncloc="99" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="0" elements="50" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/StatisticsUnavailable.php">
      <class name="MediaWiki\Extension\Translate\Statistics\StatisticsUnavailable" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="15" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/StatsTable.php">
      <class name="MediaWiki\Extension\Translate\Statistics\StatsTable" namespace="global">
        <metrics complexity="32" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="0" elements="138" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="47" type="method" name="element" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="65" type="method" name="getBackgroundColor" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="66" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="89" type="method" name="getMainColumnHeader" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="93" type="method" name="setMainColumnHeader" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="98" type="method" name="createColumnHeader" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="102" type="method" name="addExtraColumn" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="107" type="method" name="getOtherColumnHeaders" visibility="private" complexity="1" crap="2" 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="118" type="method" name="createHeader" visibility="public" complexity="2" crap="6" 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="125" type="stmt" count="0"/>
      <line num="126" 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="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="145" type="method" name="makeTotalRow" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="158" type="method" name="makeNumberColumns" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="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="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="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="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" 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="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="205" type="method" name="makeWorkflowStateCell" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" 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="217" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" 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="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="241" type="method" name="formatPercentage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="252" type="method" name="getGroupLabel" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="270" type="method" name="makeGroupLink" visibility="public" complexity="1" crap="2" 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="276" 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="290" type="method" name="isExcluded" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <metrics loc="295" ncloc="237" classes="1" methods="16" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="0" elements="138" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslatePerLanguageStats.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslatePerLanguageStats" namespace="global">
        <metrics complexity="31" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="0" elements="88" coveredelements="0"/>
      </class>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="createQueryBuilder" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="method" name="indexOf" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" 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="111" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="method" name="labels" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="129" type="method" name="getTimestampColumn" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="140" type="method" name="makeLabel" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="155" type="method" name="combineTwoArrays" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" 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="171" type="stmt" count="0"/>
      <line num="180" type="method" name="formatTimestamp" visibility="protected" complexity="6" crap="42" 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="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="196" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <metrics loc="206" ncloc="169" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="80" coveredstatements="0" elements="88" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslateRegistrationStats.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslateRegistrationStats" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="createQueryBuilder" visibility="public" complexity="1" crap="2" 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="24" type="method" name="getTimestampColumn" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <metrics loc="28" ncloc="22" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslationStatsBase.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslationStatsBase" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="0" elements="26" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="method" name="indexOf" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="labels" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="getDateFormat" visibility="public" complexity="5" crap="30" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="51" type="method" name="namespacesFromGroups" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <metrics loc="64" ncloc="53" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="0" elements="26" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslationStatsDataProvider.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslationStatsDataProvider" namespace="global">
        <metrics complexity="43" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="0" elements="128" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="getGraphSpecifications" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getGraphTypes" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="48" type="method" name="getGraphData" visibility="public" complexity="19" crap="380" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="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="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="95" 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="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" 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="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" 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="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="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="165" type="method" name="getStatsProvider" visibility="private" complexity="1" crap="2" 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="170" type="stmt" count="0"/>
      <line num="171" 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="181" type="method" name="roundTimestampToCutoff" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="184" 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="195" 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="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="219" type="method" name="roundingAddition" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="233" type="method" name="getIncrement" visibility="private" complexity="5" crap="30" 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="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="251" type="method" name="makeTimeCondition" visibility="private" complexity="3" crap="12" 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="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <metrics loc="268" ncloc="225" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="119" coveredstatements="0" elements="128" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslationStatsGraphOptions.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslationStatsGraphOptions" namespace="global">
        <metrics complexity="23" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="0" elements="61" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="bindArray" visibility="public" complexity="3" crap="12" 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="54" type="method" name="hasValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="setValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="method" name="getValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="method" name="normalize" visibility="public" complexity="12" crap="156" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="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="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" 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="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="127" type="method" name="getGroups" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="method" name="getLanguages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="method" name="getFormOptions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="method" name="boundValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <metrics loc="143" ncloc="122" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="0" elements="61" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslationStatsInterface.php">
      <metrics loc="59" 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/Translate/src/Statistics/TranslationStatsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslationStatsSpecialPage" namespace="global">
        <metrics complexity="18" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="133" coveredstatements="0" elements="139" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="37" type="method" name="isIncludable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="42" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="method" name="execute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="78" type="method" name="form" visibility="private" complexity="9" crap="90" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" 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"/>
      <line num="105" 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="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="122" 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="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="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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" 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="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="179" 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="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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="method" name="embed" visibility="private" complexity="1" crap="2" 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"/>
      <metrics loc="217" ncloc="201" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="133" coveredstatements="0" elements="139" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslatorActivity.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslatorActivity" namespace="global">
        <metrics complexity="21" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="35" elements="64" coveredelements="42"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="37" type="method" name="inLanguage" visibility="public" complexity="5" crap="5.02" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <line num="39" type="stmt" count="1"/>
      <line num="42" type="stmt" count="3"/>
      <line num="44" type="stmt" count="3"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="3"/>
      <line num="61" type="method" name="getFromCache" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <line num="66" type="method" name="getCacheKey" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="70" type="method" name="isStale" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="75" type="method" name="queueCacheRefresh" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="81" type="method" name="doQueryAndCache" visibility="private" complexity="2" crap="2.01" 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="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="3"/>
      <line num="97" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="103" type="method" name="addToCache" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="109" type="method" name="updateAllLanguages" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" 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="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="133" type="method" name="updateLanguage" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" 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="144" type="method" name="isValidLanguage" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="145" type="stmt" count="4"/>
      <metrics loc="148" ncloc="127" classes="1" methods="11" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="35" elements="64" coveredelements="42"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/TranslatorActivityQuery.php">
      <class name="MediaWiki\Extension\Translate\Statistics\TranslatorActivityQuery" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="54" coveredstatements="0" elements="57" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="33" type="method" name="inLanguage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="75" type="method" name="inAllLanguages" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <metrics loc="110" ncloc="87" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="54" coveredstatements="0" elements="57" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/UpdateTranslatorActivityJob.php">
      <class name="MediaWiki\Extension\Translate\Statistics\UpdateTranslatorActivityJob" namespace="global">
        <metrics complexity="4" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="21" type="method" name="newJobForLanguage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="26" type="method" name="run" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="27" 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="34" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <metrics loc="40" ncloc="32" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Statistics/UpdateTranslatorActivityMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Statistics\UpdateTranslatorActivityMaintenanceScript" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="21" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <metrics loc="26" ncloc="20" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/BackportTranslationsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\BackportTranslationsMaintenanceScript" namespace="global">
        <metrics complexity="38" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="179" coveredstatements="70" elements="186" coveredelements="72"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="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"/>
      <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"/>
      <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="68" type="method" name="execute" visibility="public" complexity="15" crap="240" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" 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="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" type="stmt" 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="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="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="120" 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="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="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="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" 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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="177" type="method" name="csv2array" visibility="private" complexity="1" crap="2" 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="181" type="stmt" count="0"/>
      <line num="184" type="method" name="matchPath" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="188" type="method" name="loadDefinitions" visibility="private" complexity="2" crap="2" 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="199" type="stmt" count="1"/>
      <line num="200" type="stmt" count="1"/>
      <line num="212" type="method" name="getKeyCompatibilityMap" visibility="private" complexity="3" crap="12" 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="217" type="stmt" count="0"/>
      <line num="220" type="method" name="backport" visibility="private" complexity="15" crap="30.21" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="234" type="stmt" count="1"/>
      <line num="235" type="stmt" count="1"/>
      <line num="236" type="stmt" count="1"/>
      <line num="237" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="243" type="stmt" count="1"/>
      <line num="245" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="255" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="0"/>
      <line num="268" type="stmt" count="1"/>
      <line num="269" type="stmt" count="0"/>
      <line num="272" type="stmt" count="1"/>
      <line num="273" type="stmt" count="1"/>
      <line num="274" type="stmt" count="0"/>
      <line num="277" type="stmt" count="1"/>
      <line num="278" type="stmt" count="1"/>
      <line num="279" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="291" type="stmt" count="1"/>
      <line num="292" type="stmt" count="0"/>
      <line num="296" type="stmt" count="1"/>
      <line num="297" type="stmt" count="1"/>
      <line num="298" type="stmt" count="1"/>
      <line num="299" type="stmt" count="1"/>
      <line num="300" type="stmt" count="1"/>
      <line num="301" type="stmt" count="1"/>
      <line num="303" type="stmt" count="1"/>
      <line num="304" 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="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <metrics loc="325" ncloc="293" classes="1" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="179" coveredstatements="70" elements="186" coveredelements="72"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ClearGroupSyncCacheMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ClearGroupSyncCacheMaintenanceScript" namespace="global">
        <metrics complexity="13" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="43" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" 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="32" type="stmt" count="0"/>
      <line num="35" type="method" name="execute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="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="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="61" type="method" name="validateParamsAndArgs" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="76" type="method" name="clearGroupFromSync" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <metrics loc="84" ncloc="77" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="43" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/CompleteExternalTranslationMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\CompleteExternalTranslationMaintenanceScript" namespace="global">
        <metrics complexity="12" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="0" elements="69" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="30" type="method" name="execute" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="method" name="printSummaryInfo" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="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="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"/>
      <metrics loc="123" ncloc="117" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="66" coveredstatements="0" elements="69" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/DisplayGroupSynchronizationInfo.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\DisplayGroupSynchronizationInfo" namespace="global">
        <metrics complexity="21" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="152" coveredstatements="0" elements="161" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="27" type="method" name="getGroupsInSyncHtml" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="28" 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"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" 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="53" type="method" name="getHtmlForGroupsWithError" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="method" name="addGroupSyncHelp" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="method" name="getGroupSyncInfoHtml" visibility="private" complexity="2" crap="6" 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="103" 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="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="method" name="getHtmlForGroupErrors" visibility="private" complexity="2" crap="6" 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="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="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="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="142" type="stmt" count="0"/>
      <line num="143" 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="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="method" name="getErrorMessageHtml" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="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="177" type="stmt" count="0"/>
      <line num="179" 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="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="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="204" type="method" name="getMessageInfoHtml" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="205" 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="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" 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="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" 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="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="256" type="method" name="getMessagePropHtml" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <metrics loc="260" ncloc="253" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="152" coveredstatements="0" elements="161" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ExportTranslationsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ExportTranslationsMaintenanceScript" namespace="global">
        <metrics complexity="51" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="267" coveredstatements="0" elements="274" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="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"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="method" name="execute" visibility="public" complexity="27" crap="756" 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="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="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" 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="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" 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="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="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="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" 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="210" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="223" 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="230" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" 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="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" 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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" 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"/>
      <line num="294" type="stmt" count="0"/>
      <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="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="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="313" type="method" name="getMessageGroups" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="347" type="method" name="getLanguageExportActions" visibility="private" complexity="9" crap="90" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="388" type="method" name="canGroupBeExported" visibility="private" complexity="4" crap="20" 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="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="407" type="method" name="csv2array" visibility="private" complexity="1" crap="2" 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="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="417" type="method" name="parseLanguageCodes" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <metrics loc="428" ncloc="403" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="267" coveredstatements="0" elements="274" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ExportTranslationsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ExportTranslationsSpecialPage" namespace="global">
        <metrics complexity="46" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="189" coveredstatements="0" elements="200" coveredelements="0"/>
      </class>
      <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" 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="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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="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="95" type="method" name="outputForm" visibility="private" complexity="3" crap="12" 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="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"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" 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="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="122" type="stmt" count="0"/>
      <line num="123" 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="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="137" 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="144" type="method" name="getGroupOptions" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" 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="154" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="161" type="method" name="getFormatOptions" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="170" type="method" name="checkInput" visibility="private" complexity="12" crap="156" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" 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="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" 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="212" type="stmt" count="0"/>
      <line num="215" type="method" name="doExport" visibility="private" complexity="12" crap="156" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" 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="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="248" 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="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" 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="286" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="302" type="method" name="setupCollection" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="319" type="method" name="sendExportHeaders" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="325" type="method" name="exportCSV" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="359" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <metrics loc="363" ncloc="342" classes="1" methods="11" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="189" coveredstatements="0" elements="200" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ExternalMessageSourceStateComparator.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ExternalMessageSourceStateComparator" namespace="global">
        <metrics complexity="54" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="192" coveredstatements="0" elements="201" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="53" type="method" name="processGroup" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="method" name="processLanguage" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="106" type="method" name="addMessageUpdateChanges" visibility="protected" complexity="20" crap="420" 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="119" 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="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" 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="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" 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="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" 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="212" type="stmt" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" 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="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="258" type="method" name="checkNonSourceAdditionsForRename" visibility="private" complexity="7" crap="56" 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="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="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" 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"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" 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="306" 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="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="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="334" type="method" name="findAndMarkSourceRenames" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="365" type="method" name="addNonSourceRenames" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="396" type="method" name="matchRenames" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="402" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="431" type="method" name="hasCacheEntry" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" 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"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <metrics loc="486" ncloc="359" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="192" coveredstatements="0" elements="201" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ExternalMessageSourceStateImporter.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ExternalMessageSourceStateImporter" namespace="global">
        <metrics complexity="41" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="152" coveredstatements="0" elements="159" coveredelements="0"/>
      </class>
      <line num="41" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="60" type="method" name="import" visibility="public" complexity="12" crap="156" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" 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="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="95" 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="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <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="122" 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="129" type="stmt" count="0"/>
      <line num="130" 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="137" type="stmt" count="0"/>
      <line num="141" 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="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="162" type="method" name="canImportGroup" visibility="public" complexity="6" crap="42" 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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="188" type="method" name="createUpdateMessageJobs" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" 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="219" type="stmt" count="0"/>
      <line num="226" type="method" name="updateGroupSyncInfo" visibility="private" complexity="3" crap="12" 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="233" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="257" type="method" name="identifySafeLanguages" visibility="private" complexity="12" crap="156" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" 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="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="276" 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="282" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="311" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="326" type="method" name="isLanguageSafe" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <metrics loc="345" ncloc="300" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="152" coveredstatements="0" elements="159" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/GroupSynchronizationCache.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\GroupSynchronizationCache" namespace="global">
        <metrics complexity="64" methods="35" coveredmethods="26" conditionals="0" coveredconditionals="0" statements="220" coveredstatements="194" elements="255" coveredelements="220"/>
      </class>
      <line num="47" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="21"/>
      <line num="55" type="stmt" count="21"/>
      <line num="62" type="method" name="getGroupsInSync" visibility="public" complexity="2" crap="2" 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="69" type="stmt" count="3"/>
      <line num="73" type="method" name="markGroupForSync" visibility="public" complexity="1" crap="1" 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="77" type="stmt" count="12"/>
      <line num="78" 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="86" type="method" name="getSyncEndTime" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="92" type="method" name="endSync" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="93" 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="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="105" type="method" name="forceEndSync" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="111" type="method" name="addMessages" visibility="public" complexity="2" crap="2" count="12"/>
      <line num="112" type="stmt" count="12"/>
      <line num="113" type="stmt" count="12"/>
      <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="12"/>
      <line num="118" type="stmt" count="12"/>
      <line num="119" type="stmt" count="12"/>
      <line num="120" type="stmt" count="12"/>
      <line num="121" type="stmt" count="12"/>
      <line num="124" type="stmt" count="12"/>
      <line num="128" type="method" name="isGroupBeingProcessed" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="129" type="stmt" count="5"/>
      <line num="130" type="stmt" count="5"/>
      <line num="139" type="method" name="getGroupMessages" visibility="public" complexity="3" crap="3.02" count="7"/>
      <line num="140" type="stmt" count="7"/>
      <line num="142" type="stmt" count="7"/>
      <line num="143" type="stmt" count="7"/>
      <line num="144" type="stmt" count="6"/>
      <line num="145" type="stmt" count="6"/>
      <line num="146" type="stmt" count="6"/>
      <line num="149" type="stmt" count="0"/>
      <line num="153" type="stmt" count="7"/>
      <line num="157" type="method" name="isMessageBeingProcessed" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="163" type="method" name="getSynchronizationStatus" visibility="public" complexity="4" crap="4.80" count="4"/>
      <line num="164" type="stmt" count="4"/>
      <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="4"/>
      <line num="175" type="stmt" count="4"/>
      <line num="176" type="stmt" count="2"/>
      <line num="179" type="stmt" count="2"/>
      <line num="180" type="stmt" count="2"/>
      <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="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="193" type="stmt" count="2"/>
      <line num="197" type="method" name="removeMessages" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="198" type="stmt" count="6"/>
      <line num="200" type="stmt" count="6"/>
      <line num="203" type="method" name="addGroupErrors" visibility="public" complexity="4" crap="4" count="5"/>
      <line num="204" type="stmt" count="5"/>
      <line num="205" type="stmt" count="5"/>
      <line num="207" type="stmt" count="5"/>
      <line num="208" type="stmt" count="1"/>
      <line num="211" 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="224" type="stmt" count="4"/>
      <line num="226" type="stmt" count="4"/>
      <line num="229" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="1"/>
      <line num="238" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="240" type="stmt" count="4"/>
      <line num="241" type="stmt" count="4"/>
      <line num="242" 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="251" type="stmt" count="4"/>
      <line num="258" type="method" name="getGroupsWithErrors" visibility="public" complexity="3" crap="3.02" count="3"/>
      <line num="259" type="stmt" count="3"/>
      <line num="260" type="stmt" count="3"/>
      <line num="261" type="stmt" count="3"/>
      <line num="262" type="stmt" count="3"/>
      <line num="263" type="stmt" count="3"/>
      <line num="264" type="stmt" count="3"/>
      <line num="267" type="stmt" count="0"/>
      <line num="271" type="stmt" count="3"/>
      <line num="275" type="method" name="getGroupErrorInfo" visibility="public" complexity="6" crap="6.12" count="4"/>
      <line num="276" type="stmt" count="4"/>
      <line num="277" type="stmt" count="4"/>
      <line num="279" type="stmt" count="4"/>
      <line num="280" type="stmt" count="4"/>
      <line num="281" type="stmt" count="4"/>
      <line num="282" type="stmt" count="4"/>
      <line num="283" type="stmt" count="4"/>
      <line num="285" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="291" type="stmt" count="4"/>
      <line num="292" type="stmt" count="4"/>
      <line num="293" type="stmt" count="4"/>
      <line num="294" type="stmt" count="4"/>
      <line num="295" type="stmt" count="4"/>
      <line num="298" type="stmt" count="0"/>
      <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="310" type="method" name="markGroupAsResolved" visibility="public" complexity="2" crap="2" count="2"/>
      <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="319" type="stmt" count="2"/>
      <line num="320" type="stmt" count="2"/>
      <line num="324" type="method" name="markMessageAsResolved" visibility="public" complexity="2" crap="2.31" count="1"/>
      <line num="325" type="stmt" count="1"/>
      <line num="326" type="stmt" count="1"/>
      <line num="327" type="stmt" count="1"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="333" type="stmt" count="1"/>
      <line num="337" type="method" name="groupHasErrors" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="338" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="343" type="method" name="syncGroupErrors" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="344" type="stmt" count="3"/>
      <line num="345" type="stmt" count="3"/>
      <line num="346" type="stmt" count="1"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="360" type="method" name="getGroupsInReview" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="370" type="method" name="markGroupAsInReview" visibility="public" complexity="1" crap="1" 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"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="383" type="method" name="markGroupAsReviewed" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="389" type="method" name="isGroupInReview" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="390" type="stmt" count="1"/>
      <line num="393" type="method" name="extendGroupExpiryTime" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="394" type="stmt" count="4"/>
      <line num="395" type="stmt" count="4"/>
      <line num="397" type="stmt" count="4"/>
      <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="405" type="stmt" count="3"/>
      <line num="406" type="stmt" count="1"/>
      <line num="407" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="411" type="stmt" count="2"/>
      <line num="415" type="stmt" count="2"/>
      <line num="416" type="stmt" count="1"/>
      <line num="419" type="stmt" count="1"/>
      <line num="423" type="method" name="getGroupExpiryTime" visibility="public" complexity="2" crap="2.03" count="2"/>
      <line num="424" type="stmt" count="2"/>
      <line num="425" type="stmt" count="2"/>
      <line num="426" type="stmt" count="2"/>
      <line num="427" type="stmt" count="0"/>
      <line num="430" type="stmt" count="2"/>
      <line num="433" type="method" name="hasGroupTimedOut" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="434" type="stmt" count="2"/>
      <line num="437" type="method" name="getExpireTime" visibility="private" complexity="1" crap="1" count="12"/>
      <line num="438" type="stmt" count="12"/>
      <line num="439" type="stmt" count="12"/>
      <line num="440" type="stmt" count="12"/>
      <line num="441" type="stmt" count="12"/>
      <line num="448" type="method" name="invalidArgument" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="455" type="method" name="getGroupTag" visibility="private" complexity="1" crap="1" count="14"/>
      <line num="456" type="stmt" count="14"/>
      <line num="459" type="method" name="getGroupKey" visibility="private" complexity="1" crap="1" count="13"/>
      <line num="460" type="stmt" count="13"/>
      <line num="461" type="stmt" count="13"/>
      <line num="465" type="method" name="getMessageKeys" visibility="private" complexity="2" crap="2" count="12"/>
      <line num="466" type="stmt" count="12"/>
      <line num="467" type="stmt" count="12"/>
      <line num="468" type="stmt" count="12"/>
      <line num="469" type="stmt" count="12"/>
      <line num="470" type="stmt" count="12"/>
      <line num="471" type="stmt" count="12"/>
      <line num="474" type="stmt" count="12"/>
      <line num="477" type="method" name="getGroupErrorKey" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="478" type="stmt" count="4"/>
      <line num="479" type="stmt" count="4"/>
      <line num="483" type="method" name="getMessageErrorKey" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="484" type="stmt" count="4"/>
      <line num="485" type="stmt" count="4"/>
      <line num="486" type="stmt" count="4"/>
      <line num="487" type="stmt" count="4"/>
      <line num="488" type="stmt" count="4"/>
      <line num="489" type="stmt" count="4"/>
      <line num="492" type="stmt" count="4"/>
      <line num="495" type="method" name="getGroupMessageErrorTag" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="496" type="stmt" count="4"/>
      <line num="499" type="method" name="getGroupReviewKey" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="500" type="stmt" count="1"/>
      <line num="501" type="stmt" count="1"/>
      <metrics loc="504" ncloc="423" classes="1" methods="35" coveredmethods="26" conditionals="0" coveredconditionals="0" statements="220" coveredstatements="194" elements="255" coveredelements="220"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/GroupSynchronizationResponse.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\GroupSynchronizationResponse" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="22" coveredelements="22"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="30" type="stmt" count="9"/>
      <line num="32" type="method" name="isDone" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="37" type="method" name="getRemainingMessages" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="38" type="stmt" count="9"/>
      <line num="41" type="method" name="getGroupId" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="42" type="stmt" count="9"/>
      <line num="45" type="method" name="hasTimedOut" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="46" type="stmt" count="8"/>
      <line num="50" type="method" name="toJsonArray" visibility="public" complexity="1" crap="1" 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="method" name="newFromJsonArray" visibility="public" complexity="1" crap="1" 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"/>
      <metrics loc="66" ncloc="52" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="22" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ImportExternalTranslationsMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ImportExternalTranslationsMaintenanceScript" namespace="global">
        <metrics complexity="17" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="102" coveredstatements="0" elements="107" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="execute" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" 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="106" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="117" type="method" name="getGroups" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="118" 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="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="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" 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="method" name="printChangeInfo" visibility="private" complexity="4" crap="20" 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="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="161" type="method" name="getImportStrategy" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <metrics loc="174" ncloc="165" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="102" coveredstatements="0" elements="107" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ImportTranslationsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ImportTranslationsSpecialPage" namespace="global">
        <metrics complexity="27" methods="12" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="117" coveredstatements="23" elements="129" coveredelements="24"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="36" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="54" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" 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="139" type="method" name="checkError" visibility="private" complexity="2" crap="6" 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="152" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="159" type="method" name="outputForm" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" 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="170" type="stmt" count="0"/>
      <line num="171" 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="175" 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="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="186" type="stmt" count="0"/>
      <line num="190" type="method" name="loadFile" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="203" type="method" name="parseFile" visibility="private" complexity="5" crap="5" count="4"/>
      <line num="208" type="stmt" count="4"/>
      <line num="209" 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="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="220" type="stmt" count="4"/>
      <line num="223" type="stmt" count="4"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="0"/>
      <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="235" type="stmt" count="3"/>
      <line num="238" type="stmt" count="3"/>
      <line num="239" type="stmt" count="1"/>
      <line num="242" type="stmt" count="2"/>
      <line num="245" type="method" name="setCachedData" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="251" type="method" name="getCachedData" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="257" type="method" name="deleteCachedData" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <metrics loc="263" ncloc="220" classes="1" methods="12" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="117" coveredstatements="23" elements="129" coveredelements="24"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ManageGroupSynchronizationCacheActionApi.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ManageGroupSynchronizationCacheActionApi" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="82" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="execute" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="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="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="method" name="markAsResolved" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="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="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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="115" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" 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="122" 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="134" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="139" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <metrics loc="143" ncloc="134" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="82" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/ManageGroupsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\ManageGroupsSpecialPage" namespace="global">
        <metrics complexity="146" methods="26" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="641" coveredstatements="0" elements="667" coveredelements="0"/>
      </class>
      <line num="65" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="81" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="85" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="90" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="95" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="96" 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="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="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="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="134" 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="141" 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="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="163" type="method" name="getLimit" visibility="protected" complexity="1" crap="2" 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="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="175" type="method" name="getLegend" visibility="protected" complexity="1" crap="2" 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="182" type="stmt" count="0"/>
      <line num="185" type="method" name="showChanges" visibility="protected" complexity="15" crap="240" 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="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="201" 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="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="218" 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="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" 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="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" 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="269" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="279" 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="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" 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="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="296" type="method" name="formatChange" visibility="protected" complexity="25" crap="650" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" 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="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" 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="395" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="402" 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="410" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="434" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="457" type="method" name="processSubmit" visibility="protected" complexity="15" crap="240" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <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"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="513" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" 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="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="536" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <line num="542" 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="549" type="stmt" count="0"/>
      <line num="550" type="stmt" count="0"/>
      <line num="551" 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="559" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="567" type="method" name="changeId" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="580" type="method" name="tabify" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="619" type="method" name="isMessageDefinitionPresent" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="630" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="634" type="method" name="showRenames" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="675" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="695" type="stmt" count="0"/>
      <line num="700" type="method" name="formatRename" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="717" type="stmt" count="0"/>
      <line num="719" type="stmt" count="0"/>
      <line num="720" type="stmt" count="0"/>
      <line num="721" type="stmt" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="723" type="stmt" count="0"/>
      <line num="724" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="728" type="stmt" count="0"/>
      <line num="730" type="stmt" count="0"/>
      <line num="731" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="737" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="741" type="stmt" count="0"/>
      <line num="742" type="stmt" count="0"/>
      <line num="743" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="746" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="749" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="752" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="756" type="stmt" count="0"/>
      <line num="757" type="stmt" count="0"/>
      <line num="758" type="stmt" count="0"/>
      <line num="759" type="stmt" count="0"/>
      <line num="760" type="stmt" count="0"/>
      <line num="761" type="stmt" count="0"/>
      <line num="762" type="stmt" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="768" type="stmt" count="0"/>
      <line num="769" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="775" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="778" type="stmt" count="0"/>
      <line num="779" type="stmt" count="0"/>
      <line num="780" type="stmt" count="0"/>
      <line num="781" type="stmt" count="0"/>
      <line num="782" type="stmt" count="0"/>
      <line num="785" type="method" name="getRenameJobParams" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="793" type="stmt" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="797" type="stmt" count="0"/>
      <line num="798" type="stmt" count="0"/>
      <line num="799" type="stmt" count="0"/>
      <line num="800" type="stmt" count="0"/>
      <line num="801" type="stmt" count="0"/>
      <line num="803" type="stmt" count="0"/>
      <line num="806" type="stmt" count="0"/>
      <line num="807" type="stmt" count="0"/>
      <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="814" type="stmt" count="0"/>
      <line num="816" type="stmt" count="0"/>
      <line num="817" type="stmt" count="0"/>
      <line num="818" type="stmt" count="0"/>
      <line num="821" type="stmt" count="0"/>
      <line num="823" type="stmt" count="0"/>
      <line num="825" type="stmt" count="0"/>
      <line num="826" type="stmt" count="0"/>
      <line num="827" type="stmt" count="0"/>
      <line num="828" type="stmt" count="0"/>
      <line num="829" type="stmt" count="0"/>
      <line num="830" type="stmt" count="0"/>
      <line num="833" type="stmt" count="0"/>
      <line num="836" type="method" name="handleRenameSubmit" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="845" type="stmt" count="0"/>
      <line num="846" type="stmt" count="0"/>
      <line num="847" type="stmt" count="0"/>
      <line num="848" type="stmt" count="0"/>
      <line num="850" type="stmt" count="0"/>
      <line num="853" type="stmt" count="0"/>
      <line num="854" type="stmt" count="0"/>
      <line num="857" type="stmt" count="0"/>
      <line num="859" type="stmt" count="0"/>
      <line num="860" type="stmt" count="0"/>
      <line num="861" type="stmt" count="0"/>
      <line num="862" type="stmt" count="0"/>
      <line num="863" type="stmt" count="0"/>
      <line num="864" type="stmt" count="0"/>
      <line num="865" type="stmt" count="0"/>
      <line num="866" type="stmt" count="0"/>
      <line num="867" type="stmt" count="0"/>
      <line num="869" type="stmt" count="0"/>
      <line num="872" type="stmt" count="0"/>
      <line num="873" type="stmt" count="0"/>
      <line num="876" type="stmt" count="0"/>
      <line num="878" type="stmt" count="0"/>
      <line num="881" type="stmt" count="0"/>
      <line num="882" type="stmt" count="0"/>
      <line num="883" type="stmt" count="0"/>
      <line num="884" type="stmt" count="0"/>
      <line num="885" type="stmt" count="0"/>
      <line num="886" type="stmt" count="0"/>
      <line num="887" type="stmt" count="0"/>
      <line num="888" type="stmt" count="0"/>
      <line num="889" type="stmt" count="0"/>
      <line num="891" type="stmt" count="0"/>
      <line num="892" type="stmt" count="0"/>
      <line num="895" type="stmt" count="0"/>
      <line num="896" type="stmt" count="0"/>
      <line num="897" type="stmt" count="0"/>
      <line num="899" type="stmt" count="0"/>
      <line num="900" type="stmt" count="0"/>
      <line num="901" type="stmt" count="0"/>
      <line num="902" type="stmt" count="0"/>
      <line num="903" type="stmt" count="0"/>
      <line num="904" type="stmt" count="0"/>
      <line num="906" type="stmt" count="0"/>
      <line num="910" type="stmt" count="0"/>
      <line num="914" type="stmt" count="0"/>
      <line num="915" type="stmt" count="0"/>
      <line num="916" type="stmt" count="0"/>
      <line num="917" type="stmt" count="0"/>
      <line num="918" type="stmt" count="0"/>
      <line num="922" type="stmt" count="0"/>
      <line num="923" type="stmt" count="0"/>
      <line num="927" type="method" name="handleModificationsSubmit" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="935" type="stmt" count="0"/>
      <line num="936" type="stmt" count="0"/>
      <line num="937" type="stmt" count="0"/>
      <line num="940" type="stmt" count="0"/>
      <line num="943" type="stmt" count="0"/>
      <line num="944" type="stmt" count="0"/>
      <line num="945" type="stmt" count="0"/>
      <line num="946" type="stmt" count="0"/>
      <line num="947" type="stmt" count="0"/>
      <line num="949" type="stmt" count="0"/>
      <line num="950" type="stmt" count="0"/>
      <line num="953" type="stmt" count="0"/>
      <line num="955" type="stmt" count="0"/>
      <line num="956" type="stmt" count="0"/>
      <line num="959" type="stmt" count="0"/>
      <line num="960" type="stmt" count="0"/>
      <line num="961" type="stmt" count="0"/>
      <line num="964" type="stmt" count="0"/>
      <line num="965" type="stmt" count="0"/>
      <line num="967" type="stmt" count="0"/>
      <line num="968" type="stmt" count="0"/>
      <line num="975" type="method" name="createRenameJobs" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="976" type="stmt" count="0"/>
      <line num="977" type="stmt" count="0"/>
      <line num="978" type="stmt" count="0"/>
      <line num="979" type="stmt" count="0"/>
      <line num="980" type="stmt" count="0"/>
      <line num="981" type="stmt" count="0"/>
      <line num="982" type="stmt" count="0"/>
      <line num="983" type="stmt" count="0"/>
      <line num="984" type="stmt" count="0"/>
      <line num="985" type="stmt" count="0"/>
      <line num="986" type="stmt" count="0"/>
      <line num="987" type="stmt" count="0"/>
      <line num="991" type="stmt" count="0"/>
      <line num="995" type="method" name="isTitlePresent" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="998" type="stmt" count="0"/>
      <line num="999" type="stmt" count="0"/>
      <line num="1003" type="stmt" count="0"/>
      <line num="1005" type="stmt" count="0"/>
      <line num="1019" type="method" name="isRenameMissing" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="1028" type="stmt" count="0"/>
      <line num="1029" type="stmt" count="0"/>
      <line num="1032" type="stmt" count="0"/>
      <line num="1035" type="stmt" count="0"/>
      <line num="1036" type="stmt" count="0"/>
      <line num="1037" type="stmt" count="0"/>
      <line num="1038" type="stmt" count="0"/>
      <line num="1043" type="stmt" count="0"/>
      <line num="1044" type="stmt" count="0"/>
      <line num="1045" type="stmt" count="0"/>
      <line num="1046" type="stmt" count="0"/>
      <line num="1049" type="method" name="getProcessingErrorMessage" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="1051" type="stmt" count="0"/>
      <line num="1052" type="stmt" count="0"/>
      <line num="1053" type="stmt" count="0"/>
      <line num="1054" type="stmt" count="0"/>
      <line num="1055" type="stmt" count="0"/>
      <line num="1056" type="stmt" count="0"/>
      <line num="1057" type="stmt" count="0"/>
      <line num="1059" type="stmt" count="0"/>
      <line num="1060" type="stmt" count="0"/>
      <line num="1061" type="stmt" count="0"/>
      <line num="1062" type="stmt" count="0"/>
      <line num="1063" type="stmt" count="0"/>
      <line num="1064" type="stmt" count="0"/>
      <line num="1067" type="stmt" count="0"/>
      <line num="1071" type="method" name="getGroupsFromCdb" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="1073" type="stmt" count="0"/>
      <line num="1074" type="stmt" count="0"/>
      <line num="1075" type="stmt" count="0"/>
      <line num="1076" type="stmt" count="0"/>
      <line num="1078" type="stmt" count="0"/>
      <line num="1086" type="method" name="startSync" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="1089" type="stmt" count="0"/>
      <line num="1090" type="stmt" count="0"/>
      <line num="1091" type="stmt" count="0"/>
      <line num="1092" type="stmt" count="0"/>
      <line num="1094" type="stmt" count="0"/>
      <line num="1095" type="stmt" count="0"/>
      <line num="1096" type="stmt" count="0"/>
      <line num="1097" type="stmt" count="0"/>
      <line num="1099" type="stmt" count="0"/>
      <line num="1101" type="stmt" count="0"/>
      <line num="1102" type="stmt" count="0"/>
      <line num="1103" type="stmt" count="0"/>
      <line num="1104" type="stmt" count="0"/>
      <line num="1107" type="stmt" count="0"/>
      <line num="1108" type="stmt" count="0"/>
      <line num="1109" type="stmt" count="0"/>
      <line num="1112" type="stmt" count="0"/>
      <line num="1114" type="stmt" count="0"/>
      <line num="1115" type="stmt" count="0"/>
      <line num="1116" type="stmt" count="0"/>
      <line num="1117" type="stmt" count="0"/>
      <line num="1119" type="stmt" count="0"/>
      <line num="1124" type="stmt" count="0"/>
      <line num="1125" type="stmt" count="0"/>
      <line num="1127" type="stmt" count="0"/>
      <line num="1128" type="stmt" count="0"/>
      <line num="1129" type="stmt" count="0"/>
      <line num="1131" type="stmt" count="0"/>
      <line num="1132" type="stmt" count="0"/>
      <line num="1133" type="stmt" count="0"/>
      <line num="1134" type="stmt" count="0"/>
      <line num="1135" type="stmt" count="0"/>
      <line num="1136" type="stmt" count="0"/>
      <line num="1137" type="stmt" count="0"/>
      <line num="1144" type="stmt" count="0"/>
      <line num="1145" type="stmt" count="0"/>
      <line num="1146" type="stmt" count="0"/>
      <line num="1147" type="stmt" count="0"/>
      <line num="1148" type="stmt" count="0"/>
      <line num="1153" type="method" name="radioLabel" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="1159" type="stmt" count="0"/>
      <line num="1160" type="stmt" count="0"/>
      <line num="1161" type="stmt" count="0"/>
      <line num="1162" type="stmt" count="0"/>
      <line num="1163" type="stmt" count="0"/>
      <line num="1164" type="stmt" count="0"/>
      <line num="1165" type="stmt" count="0"/>
      <line num="1166" type="stmt" count="0"/>
      <line num="1167" type="stmt" count="0"/>
      <line num="1170" type="method" name="sendNotificationsForChangedMessages" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="1173" type="stmt" count="0"/>
      <line num="1174" type="stmt" count="0"/>
      <line num="1175" type="stmt" count="0"/>
      <line num="1177" type="stmt" count="0"/>
      <line num="1180" type="stmt" count="0"/>
      <line num="1183" type="stmt" count="0"/>
      <line num="1184" type="stmt" count="0"/>
      <metrics loc="1188" ncloc="1068" classes="1" methods="26" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="641" coveredstatements="0" elements="667" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/MessageChangeStorage.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\MessageChangeStorage" namespace="global">
        <metrics complexity="16" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="50" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="writeChanges" visibility="public" complexity="2" crap="6" 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="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="39" type="method" name="isValidCdbName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" type="method" name="getCdbPath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="method" name="getGroupChanges" visibility="public" complexity="3" crap="12" 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="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="70" type="method" name="writeGroupChanges" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="97" type="method" name="getCdbReader" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="110" type="method" name="getLastModifiedTime" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="122" type="method" name="isModifiedSince" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <metrics loc="132" ncloc="106" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="0" elements="50" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/MessageUpdateParameter.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\MessageUpdateParameter" namespace="global">
        <metrics complexity="14" methods="12" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="19" elements="41" coveredelements="29"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="37" type="method" name="getPageName" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="38" type="stmt" count="2"/>
      <line num="41" type="method" name="isRename" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="45" type="method" name="getReplacementValue" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="49" type="method" name="getTargetValue" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="method" name="getContent" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="57" type="method" name="isFuzzy" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="61" type="method" name="getOtherLangs" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="62" type="stmt" count="2"/>
      <line num="65" type="method" name="newFromJsonArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="70" type="method" name="toJsonArray" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="method" name="assignPropsFromArray" visibility="private" complexity="3" crap="3" 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="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="101" type="method" name="createFromJob" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="103" type="stmt" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <metrics loc="107" ncloc="87" classes="1" methods="12" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="19" elements="41" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/MessageWebImporter.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\MessageWebImporter" namespace="global">
        <metrics complexity="68" methods="20" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="273" coveredstatements="228" elements="293" coveredelements="242"/>
      </class>
      <line num="51" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="57" type="stmt" count="10"/>
      <line num="58" type="stmt" count="10"/>
      <line num="59" type="stmt" count="10"/>
      <line num="63" type="method" name="getTitle" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="64" type="stmt" count="10"/>
      <line num="67" type="method" name="setTitle" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="68" type="stmt" count="10"/>
      <line num="71" type="method" name="getGroup" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="76" type="method" name="setGroup" visibility="public" complexity="3" crap="3.07" 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="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="10"/>
      <line num="86" type="method" name="getCode" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="87" type="stmt" count="10"/>
      <line num="90" type="method" name="setCode" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="91" type="stmt" count="10"/>
      <line num="94" type="method" name="getAction" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="95" type="stmt" count="10"/>
      <line num="98" type="method" name="doHeader" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="99" type="stmt" count="10"/>
      <line num="100" type="stmt" count="10"/>
      <line num="101" type="stmt" count="10"/>
      <line num="102" type="stmt" count="10"/>
      <line num="103" 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="112" type="method" name="doFooter" visibility="protected" complexity="1" crap="1" count="10"/>
      <line num="113" type="stmt" count="10"/>
      <line num="116" type="method" name="allowProcess" visibility="protected" complexity="3" crap="3" count="10"/>
      <line num="117" type="stmt" count="10"/>
      <line num="118" type="stmt" count="10"/>
      <line num="120" type="stmt" count="10"/>
      <line num="121" type="stmt" count="10"/>
      <line num="122" type="stmt" count="10"/>
      <line num="125" type="method" name="getActions" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <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="133" type="method" name="execute" visibility="public" complexity="25" crap="28.80" count="10"/>
      <line num="134" type="stmt" count="10"/>
      <line num="135" type="stmt" count="10"/>
      <line num="138" type="stmt" count="10"/>
      <line num="139" type="stmt" count="10"/>
      <line num="140" type="stmt" count="10"/>
      <line num="143" type="stmt" count="10"/>
      <line num="146" type="stmt" count="10"/>
      <line num="147" type="stmt" count="10"/>
      <line num="148" type="stmt" count="10"/>
      <line num="149" type="stmt" count="10"/>
      <line num="151" type="stmt" count="10"/>
      <line num="155" type="stmt" count="10"/>
      <line num="158" type="stmt" count="10"/>
      <line num="160" type="stmt" count="10"/>
      <line num="161" type="stmt" count="10"/>
      <line num="162" type="stmt" count="10"/>
      <line num="164" type="stmt" count="10"/>
      <line num="166" type="stmt" count="10"/>
      <line num="167" type="stmt" count="10"/>
      <line num="170" type="stmt" count="10"/>
      <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="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="183" 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="190" type="stmt" count="10"/>
      <line num="191" type="stmt" count="2"/>
      <line num="195" type="stmt" count="8"/>
      <line num="196" type="stmt" count="8"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <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="212" type="stmt" count="8"/>
      <line num="213" type="stmt" count="8"/>
      <line num="214" type="stmt" count="8"/>
      <line num="216" type="stmt" count="8"/>
      <line num="217" type="stmt" count="8"/>
      <line num="220" type="stmt" count="8"/>
      <line num="224" type="stmt" count="8"/>
      <line num="225" type="stmt" count="8"/>
      <line num="227" type="stmt" count="8"/>
      <line num="228" type="stmt" count="8"/>
      <line num="230" type="stmt" count="8"/>
      <line num="233" type="stmt" count="8"/>
      <line num="236" type="stmt" count="2"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="243" type="stmt" count="2"/>
      <line num="246" type="stmt" count="6"/>
      <line num="247" type="stmt" count="6"/>
      <line num="252" type="stmt" count="6"/>
      <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="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="267" type="stmt" count="6"/>
      <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="274" type="stmt" count="6"/>
      <line num="280" type="stmt" count="2"/>
      <line num="283" type="stmt" count="2"/>
      <line num="284" type="stmt" count="2"/>
      <line num="286" type="stmt" count="2"/>
      <line num="291" type="stmt" count="2"/>
      <line num="292" type="stmt" count="2"/>
      <line num="293" type="stmt" count="2"/>
      <line num="294" type="stmt" count="2"/>
      <line num="295" 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="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="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="315" type="stmt" count="10"/>
      <line num="316" type="stmt" count="2"/>
      <line num="317" type="stmt" count="2"/>
      <line num="319" type="stmt" count="2"/>
      <line num="321" type="stmt" count="2"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="329" type="stmt" count="10"/>
      <line num="330" type="stmt" count="8"/>
      <line num="331" type="stmt" count="2"/>
      <line num="334" type="stmt" count="8"/>
      <line num="335" type="stmt" count="2"/>
      <line num="338" type="stmt" count="8"/>
      <line num="340" type="stmt" count="8"/>
      <line num="341" type="stmt" count="8"/>
      <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="348" type="stmt" count="2"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="1"/>
      <line num="352" type="stmt" count="1"/>
      <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="358" type="stmt" count="2"/>
      <line num="359" type="stmt" count="2"/>
      <line num="360" type="stmt" count="2"/>
      <line num="362" type="stmt" count="0"/>
      <line num="366" type="stmt" count="10"/>
      <line num="368" type="stmt" count="10"/>
      <line num="380" type="method" name="doAction" visibility="private" complexity="10" crap="10.46" count="6"/>
      <line num="388" type="stmt" count="6"/>
      <line num="389" type="stmt" count="6"/>
      <line num="390" type="stmt" count="6"/>
      <line num="392" type="stmt" count="6"/>
      <line num="393" type="stmt" count="3"/>
      <line num="394" type="stmt" count="2"/>
      <line num="396" type="stmt" count="1"/>
      <line num="397" type="stmt" count="1"/>
      <line num="400" type="stmt" count="3"/>
      <line num="401" type="stmt" count="3"/>
      <line num="402" type="stmt" count="2"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="406" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="409" type="stmt" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="412" type="stmt" count="0"/>
      <line num="416" type="method" name="checkProcessTime" visibility="protected" complexity="1" crap="1" count="6"/>
      <line num="417" type="stmt" count="6"/>
      <line num="421" type="method" name="doImport" visibility="private" complexity="3" crap="3.39" count="4"/>
      <line num="422" type="stmt" count="4"/>
      <line num="423" type="stmt" count="4"/>
      <line num="424" type="stmt" count="4"/>
      <line num="426" type="stmt" count="4"/>
      <line num="427" type="stmt" count="4"/>
      <line num="428" type="stmt" count="4"/>
      <line num="429" type="stmt" count="0"/>
      <line num="431" type="stmt" count="4"/>
      <line num="432" type="stmt" count="4"/>
      <line num="433" type="stmt" count="4"/>
      <line num="435" type="stmt" count="4"/>
      <line num="436" type="stmt" count="4"/>
      <line num="437" type="stmt" count="4"/>
      <line num="438" type="stmt" count="4"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="450" type="method" name="doFuzzy" visibility="private" complexity="7" crap="7.21" count="1"/>
      <line num="451" type="stmt" count="1"/>
      <line num="453" type="stmt" count="1"/>
      <line num="454" type="stmt" count="0"/>
      <line num="458" type="stmt" count="1"/>
      <line num="459" 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="473" type="stmt" count="1"/>
      <line num="474" type="stmt" count="1"/>
      <line num="476" type="stmt" count="1"/>
      <line num="479" type="stmt" count="1"/>
      <line num="482" type="stmt" count="1"/>
      <line num="483" type="stmt" count="1"/>
      <line num="486" type="stmt" count="1"/>
      <line num="487" type="stmt" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="489" type="stmt" count="1"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="494" type="stmt" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="499" type="stmt" count="1"/>
      <line num="503" type="stmt" count="1"/>
      <line num="504" type="stmt" count="1"/>
      <line num="505" type="stmt" count="1"/>
      <line num="506" type="stmt" count="1"/>
      <line num="509" type="stmt" count="1"/>
      <line num="521" type="method" name="makeTranslationTitle" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="522" type="stmt" count="6"/>
      <line num="524" type="stmt" count="6"/>
      <line num="537" type="method" name="makeSectionElement" visibility="public" complexity="3" crap="3.14" count="2"/>
      <line num="544" type="stmt" count="2"/>
      <line num="545" type="stmt" count="2"/>
      <line num="546" type="stmt" count="0"/>
      <line num="548" type="stmt" count="2"/>
      <line num="549" type="stmt" count="2"/>
      <line num="550" type="stmt" count="2"/>
      <line num="551" type="stmt" count="0"/>
      <line num="552" type="stmt" count="0"/>
      <line num="555" type="stmt" count="2"/>
      <line num="556" type="stmt" count="2"/>
      <line num="557" type="stmt" count="2"/>
      <line num="558" type="stmt" count="2"/>
      <line num="566" type="method" name="escapeNameForPHP" visibility="private" complexity="1" crap="1" count="8"/>
      <line num="567" type="stmt" count="8"/>
      <line num="568" type="stmt" count="8"/>
      <line num="569" type="stmt" count="8"/>
      <line num="570" type="stmt" count="8"/>
      <line num="571" type="stmt" count="8"/>
      <line num="572" type="stmt" count="8"/>
      <line num="573" type="stmt" count="8"/>
      <line num="574" type="stmt" count="8"/>
      <line num="575" type="stmt" count="8"/>
      <line num="576" type="stmt" count="8"/>
      <line num="578" type="stmt" count="8"/>
      <metrics loc="581" ncloc="486" classes="1" methods="20" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="273" coveredstatements="228" elements="293" coveredelements="242"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/QueryGroupSyncCacheMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\QueryGroupSyncCacheMaintenanceScript" namespace="global">
        <metrics complexity="16" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="0" elements="48" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" 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="28" type="stmt" count="0"/>
      <line num="31" type="method" name="execute" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="50" type="method" name="displayGroups" visibility="private" complexity="3" crap="12" 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="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="66" type="method" name="displayGroupMessages" visibility="private" complexity="3" crap="12" 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="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="78" type="method" name="displayMessageDetails" visibility="private" complexity="6" crap="42" 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="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <metrics loc="98" ncloc="88" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="0" elements="48" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Synchronization/UpdateMessageJob.php">
      <class name="MediaWiki\Extension\Translate\Synchronization\UpdateMessageJob" namespace="global">
        <metrics complexity="56" methods="10" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="220" coveredstatements="114" elements="230" coveredelements="117"/>
      </class>
      <line num="37" type="method" name="newJob" 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="45" type="stmt" count="4"/>
      <line num="58" type="method" name="newRenameJob" visibility="public" complexity="1" crap="2" 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="71" type="stmt" count="0"/>
      <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="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="82" type="method" name="run" visibility="public" complexity="5" crap="10.09" 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="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <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="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="119" type="stmt" count="4"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="127" type="stmt" count="4"/>
      <line num="130" type="method" name="handleRename" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" 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="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="197" type="method" name="handleFuzzy" visibility="private" complexity="28" crap="28" count="4"/>
      <line num="199" type="stmt" count="4"/>
      <line num="200" type="stmt" count="4"/>
      <line num="201" type="stmt" count="2"/>
      <line num="203" type="stmt" count="4"/>
      <line num="204" type="stmt" count="4"/>
      <line num="206" type="stmt" count="4"/>
      <line num="209" type="stmt" count="4"/>
      <line num="210" 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="220" 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="228" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="232" 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="237" type="stmt" count="4"/>
      <line num="239" type="stmt" count="4"/>
      <line num="241" type="stmt" count="4"/>
      <line num="242" type="stmt" count="4"/>
      <line num="245" type="stmt" count="2"/>
      <line num="246" type="stmt" count="2"/>
      <line num="251" type="stmt" count="1"/>
      <line num="254" type="stmt" count="2"/>
      <line num="256" type="stmt" count="1"/>
      <line num="257" type="stmt" count="1"/>
      <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="264" type="stmt" count="1"/>
      <line num="270" type="stmt" count="4"/>
      <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="0"/>
      <line num="281" type="stmt" count="1"/>
      <line num="282" type="stmt" count="1"/>
      <line num="283" type="stmt" count="1"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="4"/>
      <line num="293" 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="299" type="stmt" count="4"/>
      <line num="300" type="stmt" count="4"/>
      <line num="301" type="stmt" count="4"/>
      <line num="302" 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="307" type="stmt" count="4"/>
      <line num="308" type="stmt" count="4"/>
      <line num="309" type="stmt" count="4"/>
      <line num="311" type="stmt" count="4"/>
      <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="321" type="stmt" count="1"/>
      <line num="327" type="method" name="processTranslationChanges" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="349" type="method" name="removeFromCache" visibility="private" complexity="7" crap="41.41" count="4"/>
      <line num="350" type="stmt" count="4"/>
      <line num="352" type="stmt" count="4"/>
      <line num="353" type="stmt" count="4"/>
      <line num="356" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="394" type="method" name="fuzzyBotEdit" visibility="private" complexity="2" crap="2.00" count="4"/>
      <line num="395" type="stmt" count="4"/>
      <line num="396" type="stmt" count="4"/>
      <line num="397" type="stmt" count="4"/>
      <line num="398" type="stmt" count="4"/>
      <line num="399" type="stmt" count="4"/>
      <line num="401" type="stmt" count="4"/>
      <line num="402" type="stmt" count="0"/>
      <line num="405" type="stmt" count="4"/>
      <line num="406" type="stmt" count="4"/>
      <line num="407" type="stmt" count="4"/>
      <line num="408" type="stmt" count="4"/>
      <line num="409" type="stmt" count="4"/>
      <line num="410" type="stmt" count="4"/>
      <line num="411" type="stmt" count="4"/>
      <line num="414" type="method" name="getFuzzyBot" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="415" type="stmt" count="4"/>
      <line num="416" type="stmt" count="4"/>
      <metrics loc="419" ncloc="358" classes="1" methods="10" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="220" coveredstatements="114" elements="230" coveredelements="117"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/SystemUsers/FuzzyBot.php">
      <class name="MediaWiki\Extension\Translate\SystemUsers\FuzzyBot" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="getUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="20" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <metrics loc="26" ncloc="19" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/SystemUsers/TranslateUserManager.php">
      <class name="MediaWiki\Extension\Translate\SystemUsers\TranslateUserManager" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="getUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="20" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <metrics loc="26" ncloc="18" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/CurrentTranslationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\CurrentTranslationAid" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="17" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getData" visibility="public" complexity="2" crap="6" 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="26" type="stmt" count="0"/>
      <line num="27" 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="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <metrics loc="41" ncloc="32" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="17" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/DocumentationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\DocumentationAid" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getData" visibility="public" complexity="2" crap="6" 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="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" 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"/>
      <metrics loc="36" ncloc="29" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/EditSummariesAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\EditSummariesAid" namespace="global">
        <metrics complexity="4" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="31" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="getData" visibility="public" complexity="4" crap="20" 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="26" type="stmt" count="0"/>
      <line num="27" 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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <metrics loc="66" ncloc="56" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="31" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/GettextDocumentationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\GettextDocumentationAid" namespace="global">
        <metrics complexity="10" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="38" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="getData" visibility="public" complexity="10" crap="110" 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="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" 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="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <metrics loc="82" ncloc="71" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/GroupsAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\GroupsAid" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="12" type="method" name="getData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="13" type="stmt" count="0"/>
      <metrics loc="16" ncloc="11" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/InOtherLanguagesAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\InOtherLanguagesAid" namespace="global">
        <metrics complexity="9" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="32" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="getData" visibility="public" complexity="4" crap="20" 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="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="25" 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="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="38" type="stmt" count="0"/>
      <line num="47" type="method" name="getFallbacks" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="62" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <metrics loc="77" ncloc="61" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="30" coveredstatements="0" elements="32" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/InsertablesAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\InsertablesAid" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="23" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="getData" visibility="public" complexity="5" crap="30" 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="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="61" ncloc="45" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="23" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/MachineTranslationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\MachineTranslationAid" namespace="global">
        <metrics complexity="16" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="0" elements="48" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="populateQueries" visibility="public" complexity="8" crap="72" 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="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" 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"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="54" type="method" name="getData" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="method" name="formatSuggestion" visibility="protected" complexity="2" crap="6" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="method" name="getWebServices" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <metrics loc="100" ncloc="91" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="0" elements="48" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/MessageDefinitionAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\MessageDefinitionAid" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="getData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" 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"/>
      <metrics loc="24" ncloc="16" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/PrefillTranslationHook.php">
      <metrics loc="26" 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/Translate/src/TranslatorInterface/Aid/QueryAggregatorAwareTranslationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\QueryAggregatorAwareTranslationAid" namespace="global">
        <metrics complexity="5" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="setQueryAggregator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="38" type="method" name="storeQuery" visibility="protected" complexity="2" crap="6" 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="62" type="method" name="getQueryData" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <metrics loc="71" ncloc="47" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/SupportAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\SupportAid" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="34" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="getData" visibility="public" complexity="1" crap="2" 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="31" type="method" name="getSupportUrl" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="54" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="67" type="method" name="getConfig" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <metrics loc="88" ncloc="66" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="0" elements="34" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/TTMServerAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\TTMServerAid" namespace="global">
        <metrics complexity="32" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="0" elements="103" coveredelements="0"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="method" name="populateQueries" visibility="public" complexity="3" crap="12" 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="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="57" type="method" name="getData" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="94" type="method" name="formatWebSuggestions" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" 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="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="126" type="stmt" count="0"/>
      <line num="129" type="method" name="formatInternalSuggestions" visibility="protected" complexity="3" crap="12" 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="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" 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="149" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="156" type="method" name="getInternalServices" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="170" type="method" name="getWebServices" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="171" 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="180" type="stmt" count="0"/>
      <line num="183" type="method" name="getQueryableServices" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="190" type="method" name="getQueryableServicesUncached" visibility="private" complexity="8" crap="72" 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="198" 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="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="216" type="stmt" count="0"/>
      <metrics loc="219" ncloc="200" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="94" coveredstatements="0" elements="103" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/TranslationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\TranslationAid" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="17" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="51" type="method" name="getTypes" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <metrics loc="68" ncloc="41" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="17" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/TranslationAidDataProvider.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\TranslationAidDataProvider" namespace="global">
        <metrics complexity="16" methods="6" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="44" elements="74" coveredelements="45"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="2" crap="2.50" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="1"/>
      <line num="49" type="method" name="getDefinition" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" 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="71" type="stmt" count="0"/>
      <line num="74" type="method" name="hasDefinition" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="83" type="method" name="getDefinitionContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="92" type="method" name="getGoodTranslations" visibility="public" complexity="4" crap="4.03" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="0"/>
      <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="106" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="0"/>
      <line num="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="122" type="method" name="loadTranslationData" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" 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="133" 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="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="157" type="stmt" count="1"/>
      <metrics loc="160" ncloc="136" classes="1" methods="6" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="44" elements="74" coveredelements="45"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/TranslationAidsActionApi.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\TranslationAidsActionApi" namespace="global">
        <metrics complexity="16" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="79" coveredelements="0"/>
      </class>
      <line num="25" type="method" name="execute" visibility="public" complexity="14" crap="210" count="0"/>
      <line num="26" 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="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" 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="96" type="stmt" count="0"/>
      <line num="100" 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="109" type="stmt" count="0"/>
      <line num="110" 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="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="132" 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="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="150" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <metrics loc="157" ncloc="141" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="79" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/UnsupportedTranslationAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\UnsupportedTranslationAid" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <metrics loc="22" ncloc="14" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Aid/UpdatedDefinitionAid.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Aid\UpdatedDefinitionAid" namespace="global">
        <metrics complexity="10" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="0" elements="48" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="getData" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="25" 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="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"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <metrics loc="96" ncloc="86" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="47" coveredstatements="0" elements="48" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/BeforeAddModulesHook.php">
      <metrics loc="22" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/CleanChangesFilters.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\CleanChangesFilters" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="52" coveredstatements="0" elements="56" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="40" type="method" name="onChangesListSpecialPageQuery" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" 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="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="62" type="method" name="onSpecialRecentChangesPanel" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="103" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="121" type="method" name="onFetchChangesList" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <metrics loc="127" ncloc="106" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="52" coveredstatements="0" elements="56" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/EntitySearch.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\EntitySearch" namespace="global">
        <metrics complexity="29" methods="8" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="133" coveredstatements="116" elements="141" coveredelements="121"/>
      </class>
      <line num="42" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="51" type="stmt" count="9"/>
      <line num="54" type="method" name="searchStaticMessageGroups" visibility="public" complexity="7" crap="7.02" 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="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="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="76" 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="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="0"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" 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="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="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="1"/>
      <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="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="0"/>
      <line num="119" type="stmt" count="3"/>
      <line num="123" type="method" name="searchMessages" visibility="public" complexity="11" crap="11.26" 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="140" type="stmt" count="5"/>
      <line num="141" type="stmt" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" 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="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="0"/>
      <line num="156" type="stmt" count="4"/>
      <line num="157" type="stmt" count="4"/>
      <line num="159" type="stmt" count="2"/>
      <line num="160" type="stmt" count="2"/>
      <line num="162" type="stmt" count="2"/>
      <line num="164" type="stmt" count="4"/>
      <line num="168" type="stmt" count="5"/>
      <line num="169" type="stmt" count="4"/>
      <line num="170" type="stmt" count="0"/>
      <line num="175" type="stmt" count="5"/>
      <line num="177" type="stmt" count="4"/>
      <line num="178" type="stmt" count="4"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="4"/>
      <line num="183" type="stmt" count="4"/>
      <line num="184" type="stmt" count="4"/>
      <line num="185" type="stmt" count="4"/>
      <line num="188" type="stmt" count="5"/>
      <line num="192" type="method" name="matchMessages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" 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="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="208" type="method" name="getStaticMessageGroupsHaystack" visibility="private" complexity="3" crap="3" count="4"/>
      <line num="209" 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="218" type="stmt" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="220" 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="233" type="stmt" count="4"/>
      <line num="236" type="method" name="getMessageHaystackUncached" visibility="private" complexity="4" crap="4" count="5"/>
      <line num="237" type="stmt" count="5"/>
      <line num="238" type="stmt" count="5"/>
      <line num="239" type="stmt" count="5"/>
      <line num="240" type="stmt" count="5"/>
      <line num="242" type="stmt" count="5"/>
      <line num="244" type="stmt" count="5"/>
      <line num="245" type="stmt" count="5"/>
      <line num="246" type="stmt" count="5"/>
      <line num="248" 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="264" type="method" name="getMessagesHaystack" visibility="private" complexity="1" crap="1" 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="270" 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="278" type="stmt" count="5"/>
      <line num="280" type="stmt" count="5"/>
      <line num="281" type="stmt" count="5"/>
      <line num="282" type="stmt" count="5"/>
      <line num="286" type="method" name="getGroupTypes" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="287" type="stmt" count="9"/>
      <metrics loc="290" ncloc="242" classes="1" methods="8" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="133" coveredstatements="116" elements="141" coveredelements="121"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/EventTranslationReviewHook.php">
      <metrics loc="24" 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/Translate/src/TranslatorInterface/GetSpecialTranslateOptionsHook.php">
      <metrics loc="23" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/CombinedInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\CombinedInsertablesSuggester" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="8" coveredelements="8"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="18" type="stmt" count="4"/>
      <line num="20" type="method" name="getInsertables" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="21" type="stmt" count="4"/>
      <line num="22" type="stmt" count="4"/>
      <line num="23" type="stmt" count="3"/>
      <line num="24" type="stmt" count="3"/>
      <line num="27" type="stmt" count="4"/>
      <metrics loc="30" ncloc="23" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="8" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/HtmlTagInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\HtmlTagInsertablesSuggester" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="17" type="stmt" count="5"/>
      <line num="18" type="stmt" count="5"/>
      <line num="19" type="stmt" count="5"/>
      <line num="20" type="stmt" count="5"/>
      <line num="21" type="stmt" count="5"/>
      <line num="22" type="stmt" count="5"/>
      <line num="25" type="method" name="getInsertables" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="26" type="stmt" count="5"/>
      <metrics loc="29" ncloc="22" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/Insertable.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\Insertable" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="method" name="getPreText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="method" name="getPostText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="getDisplayText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <metrics loc="41" ncloc="27" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="8" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/InsertableFactory.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\InsertableFactory" namespace="global">
        <metrics complexity="4" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="16" coveredelements="16"/>
      </class>
      <line num="21" type="method" name="make" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="26" type="stmt" count="7"/>
      <line num="27" type="stmt" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="32" type="stmt" count="7"/>
      <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="39" type="stmt" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="46" type="stmt" count="5"/>
      <metrics loc="49" ncloc="34" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="15" elements="16" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/InsertablesSuggester.php">
      <metrics loc="20" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/MediaWikiInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\MediaWikiInsertablesSuggester" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="23" coveredelements="23"/>
      </class>
      <line num="13" type="method" name="getInsertables" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="14" type="stmt" count="5"/>
      <line num="16" type="stmt" count="5"/>
      <line num="19" type="stmt" count="5"/>
      <line num="20" type="stmt" count="5"/>
      <line num="21" type="stmt" count="3"/>
      <line num="22" type="stmt" count="5"/>
      <line num="23" type="stmt" 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="2"/>
      <line num="34" type="stmt" count="5"/>
      <line num="35" 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"/>
      <metrics loc="43" ncloc="35" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="22" elements="23" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/NumericalParameterInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\NumericalParameterInsertablesSuggester" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="14" coveredelements="14"/>
      </class>
      <line num="13" type="method" name="getInsertables" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="14" type="stmt" count="3"/>
      <line num="17" type="stmt" count="3"/>
      <line num="18" type="stmt" 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="3"/>
      <line num="24" type="stmt" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <line num="29" type="stmt" count="3"/>
      <metrics loc="32" ncloc="25" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="13" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/RegexInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\RegexInsertablesSuggester" namespace="global">
        <metrics complexity="12" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="25" elements="32" coveredelements="27"/>
      </class>
      <line num="70" type="method" name="__construct" visibility="public" complexity="6" crap="7.05" count="3"/>
      <line num="71" type="stmt" count="3"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" 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="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="3"/>
      <line num="90" type="stmt" count="1"/>
      <line num="94" type="method" name="getInsertables" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="98" type="stmt" count="3"/>
      <line num="101" type="method" name="mapInsertables" visibility="protected" complexity="5" crap="5" count="3"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="1"/>
      <line num="106" 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="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="1"/>
      <line num="122" type="stmt" count="2"/>
      <metrics loc="125" ncloc="65" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="25" elements="32" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/Insertable/UrlInsertablesSuggester.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\Insertable\UrlInsertablesSuggester" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="17" type="stmt" count="4"/>
      <line num="18" type="stmt" count="4"/>
      <line num="19" type="stmt" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="21" type="stmt" count="4"/>
      <line num="22" type="stmt" count="4"/>
      <line num="25" type="method" name="getInsertables" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <metrics loc="29" ncloc="22" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/LegacyInterfaceHookHandler.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\LegacyInterfaceHookHandler" namespace="global">
        <metrics complexity="17" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="0" elements="57" coveredelements="0"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="46" type="method" name="onAlternateEdit" visibility="public" complexity="2" crap="6" 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="58" type="method" name="onEditPage__showEditForm_initial" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" 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="77" type="method" name="onTitleGetEditNotices" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="96" type="method" name="onArticleContentOnDiff" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="115" type="method" name="onSidebarBeforeOutput" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="124" 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="131" type="stmt" count="0"/>
      <line num="140" type="method" name="onSkinTemplateNavigation__Universal" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <metrics loc="163" ncloc="125" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="50" coveredstatements="0" elements="57" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/LegacyTranslationAids.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\LegacyTranslationAids" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="82" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="__construct" visibility="public" complexity="2" crap="6" 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"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="getDefinition" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="58" type="method" name="getBoxes" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="82" type="method" name="getDefinitionBox" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" 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="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="111" type="method" name="getDocumentationBox" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="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="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="131" 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="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" 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="150" type="method" name="ajaxEditLink" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <metrics loc="160" ncloc="144" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="0" elements="82" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/MessageTable.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\MessageTable" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="0" elements="46" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="2" crap="6" 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="31" type="stmt" count="0"/>
      <line num="35" type="method" name="fullTable" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" 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="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <metrics loc="97" ncloc="90" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="0" elements="46" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/NewTranslationHook.php">
      <metrics loc="30" 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/Translate/src/TranslatorInterface/ReviewTranslationActionApi.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\ReviewTranslationActionApi" namespace="global">
        <metrics complexity="18" methods="8" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="61" elements="79" coveredelements="65"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="37" type="stmt" count="5"/>
      <line num="40" type="method" name="execute" visibility="public" complexity="5" crap="5.08" count="5"/>
      <line num="41" type="stmt" count="5"/>
      <line num="43" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="0"/>
      <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="0"/>
      <line num="55" type="stmt" count="3"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="0"/>
      <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="71" type="stmt" count="1"/>
      <line num="78" type="method" name="doReview" visibility="private" complexity="2" crap="2" 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="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" 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="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="117" type="method" name="getReviewBlockers" visibility="private" complexity="6" crap="6.13" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="0"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="0"/>
      <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="1"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="1"/>
      <line num="136" type="stmt" count="2"/>
      <line num="137" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="143" type="method" name="isWriteMode" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="147" type="method" name="needsToken" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="148" type="stmt" count="5"/>
      <line num="151" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="1" 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="160" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <metrics loc="167" ncloc="152" classes="1" methods="8" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="71" coveredstatements="61" elements="79" coveredelements="65"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/TranslateEditAddons.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\TranslateEditAddons" namespace="global">
        <metrics complexity="40" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="101" elements="131" coveredelements="103"/>
      </class>
      <line num="46" type="method" name="disallowLangTranslations" visibility="public" complexity="8" crap="55.40" count="3"/>
      <line num="52" type="stmt" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="94" type="method" name="onSaveComplete" visibility="public" complexity="22" crap="22.18" count="4"/>
      <line num="104" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="108" type="stmt" count="0"/>
      <line num="111" type="stmt" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="114" type="stmt" count="4"/>
      <line num="115" type="stmt" count="0"/>
      <line num="120" type="stmt" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="129" type="stmt" count="1"/>
      <line num="138" type="stmt" count="4"/>
      <line num="141" type="stmt" count="4"/>
      <line num="142" 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="149" type="stmt" count="4"/>
      <line num="154" type="stmt" count="3"/>
      <line num="156" type="stmt" count="4"/>
      <line num="157" type="stmt" count="3"/>
      <line num="159" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" 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="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="191" type="stmt" count="4"/>
      <line num="192" type="stmt" count="4"/>
      <line num="193" type="stmt" count="3"/>
      <line num="194" type="stmt" count="3"/>
      <line num="195" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="204" type="stmt" count="4"/>
      <line num="206" type="stmt" count="4"/>
      <line num="208" type="stmt" count="4"/>
      <line num="213" 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="227" type="stmt" count="4"/>
      <line num="228" type="stmt" count="3"/>
      <line num="229" type="stmt" count="3"/>
      <line num="230" type="stmt" count="4"/>
      <line num="233" type="stmt" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <line num="235" type="stmt" count="1"/>
      <line num="239" type="stmt" count="4"/>
      <line num="241" type="stmt" count="4"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="254" type="method" name="updateFuzzyTag" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="255" type="stmt" count="4"/>
      <line num="257" type="stmt" count="4"/>
      <line num="258" type="stmt" count="4"/>
      <line num="259" type="stmt" count="4"/>
      <line num="260" type="stmt" count="4"/>
      <line num="261" 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="270" type="stmt" count="4"/>
      <line num="271" type="stmt" count="4"/>
      <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="287" type="method" name="updateTransverTag" visibility="public" complexity="4" crap="4.01" count="3"/>
      <line num="293" type="stmt" count="3"/>
      <line num="294" type="stmt" count="0"/>
      <line num="297" 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="303" type="stmt" count="2"/>
      <line num="306" type="stmt" count="1"/>
      <line num="307" type="stmt" count="1"/>
      <line num="308" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="314" type="method" name="disablePreSaveTransform" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="320" type="stmt" count="4"/>
      <line num="321" type="stmt" count="4"/>
      <line num="322" type="stmt" count="4"/>
      <line num="323" type="stmt" count="4"/>
      <metrics loc="328" ncloc="250" classes="1" methods="5" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="126" coveredstatements="101" elements="131" coveredelements="103"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/TranslateInterfacePreferences.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\TranslateInterfacePreferences" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="translationAssistLanguages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" 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"/>
      <metrics loc="38" ncloc="26" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="12" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/TranslateSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\TranslateSpecialPage" namespace="global">
        <metrics complexity="45" methods="15" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="269" coveredstatements="191" elements="284" coveredelements="198"/>
      </class>
      <line num="37" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="50" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="execute" visibility="public" complexity="3" crap="3.00" 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="70" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="stmt" count="2"/>
      <line num="79" type="stmt" count="2"/>
      <line num="80" type="stmt" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" 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="95" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="100" type="method" name="setup" visibility="private" complexity="13" crap="26.67" count="2"/>
      <line num="101" 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="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="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="129" type="stmt" count="2"/>
      <line num="130" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="0"/>
      <line num="136" 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="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="157" type="stmt" count="2"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="2"/>
      <line num="163" type="stmt" count="2"/>
      <line num="167" type="method" name="tuxSettingsForm" visibility="private" complexity="1" crap="1" 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="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="182" type="stmt" count="2"/>
      <line num="185" type="method" name="messageSelector" visibility="private" complexity="2" crap="2" 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="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="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="198" 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="208" type="stmt" count="2"/>
      <line num="209" 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="216" type="stmt" count="2"/>
      <line num="217" type="stmt" count="2"/>
      <line num="218" 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="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <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="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="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="258" type="stmt" count="2"/>
      <line num="260" type="stmt" count="2"/>
      <line num="263" type="method" name="tuxGroupSelector" visibility="private" complexity="2" crap="2.00" count="2"/>
      <line num="264" type="stmt" count="2"/>
      <line num="265" type="stmt" count="2"/>
      <line num="266" type="stmt" count="2"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <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="280" type="stmt" count="2"/>
      <line num="281" type="stmt" count="2"/>
      <line num="282" type="stmt" count="2"/>
      <line num="283" type="stmt" count="2"/>
      <line num="284" 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="291" type="method" name="tuxLanguageSelector" visibility="private" complexity="2" crap="2.00" count="2"/>
      <line num="292" type="stmt" count="2"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="296" type="stmt" count="2"/>
      <line num="297" type="stmt" count="2"/>
      <line num="300" 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="307" 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="313" type="stmt" count="2"/>
      <line num="314" type="stmt" count="2"/>
      <line num="315" 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="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="338" type="method" name="tuxGroupSubscription" visibility="private" complexity="1" crap="1" 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="345" type="method" name="tuxGroupDescription" visibility="private" complexity="2" crap="2" 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="354" type="method" name="getGroupDescription" visibility="private" complexity="2" crap="2" 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="360" type="method" name="tuxGroupWarning" visibility="private" complexity="2" crap="2.50" count="2"/>
      <line num="362" type="stmt" count="2"/>
      <line num="363" type="stmt" count="2"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="369" type="stmt" count="2"/>
      <line num="372" type="method" name="tuxWorkflowSelector" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="373" type="stmt" count="2"/>
      <line num="380" type="method" name="tabify" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="397" type="stmt" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="412" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" 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="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <metrics loc="459" ncloc="422" classes="1" methods="15" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="269" coveredstatements="191" elements="284" coveredelements="198"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/TranslationEntitySearchActionApi.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\TranslationEntitySearchActionApi" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="41" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="29" type="method" name="execute" visibility="public" complexity="4" crap="20" 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="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" 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="49" type="stmt" count="0"/>
      <line num="52" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <metrics loc="81" ncloc="75" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="0" elements="41" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorInterface/TranslationHelperException.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\TranslationHelperException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <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/Translate/src/TranslatorInterface/TranslationsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\TranslatorInterface\TranslationsSpecialPage" namespace="global">
        <metrics complexity="21" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="154" coveredstatements="0" elements="162" coveredelements="0"/>
      </class>
      <line num="34" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="method" name="getDescription" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="prefixSearchSubpages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="62" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="79" 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="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" 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="108" type="method" name="namespaceMessageForm" visibility="private" complexity="1" crap="2" 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="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="122" 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="128" type="stmt" count="0"/>
      <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="134" type="stmt" count="0"/>
      <line num="142" type="method" name="getSortedNamespaces" visibility="private" complexity="2" crap="6" 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="147" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="155" type="method" name="showTranslations" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="175" 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="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="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="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="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="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="222" type="stmt" 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="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="239" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" 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="254" 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="260" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="276" 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"/>
      <metrics loc="284" ncloc="253" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="154" coveredstatements="0" elements="162" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/ManageTranslatorSandboxSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\ManageTranslatorSandboxSpecialPage" namespace="global">
        <metrics complexity="19" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="100" coveredstatements="0" elements="113" coveredelements="0"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="40" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="method" name="isListed" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="method" name="execute" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="77" type="method" name="showPage" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="method" name="makeFilter" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="method" name="makeSearchBox" visibility="private" complexity="1" crap="2" 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="123" type="method" name="makeList" visibility="private" complexity="5" crap="30" 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="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="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" 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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="187" type="method" name="makeRequestItem" visibility="private" complexity="1" crap="2" 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="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="method" name="getHumanTimestamp" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="224" type="method" name="translatorRequestSort" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <metrics loc="230" ncloc="212" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="100" coveredstatements="0" elements="113" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/StashedTranslation.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\StashedTranslation" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="method" name="getUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="30" type="method" name="getTitle" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="getValue" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getMetadata" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <metrics loc="42" ncloc="35" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslateSandbox.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslateSandbox" namespace="global">
        <metrics complexity="22" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="138" coveredstatements="83" elements="145" coveredelements="87"/>
      </class>
      <line num="55" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="67" type="stmt" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="69" type="stmt" count="8"/>
      <line num="70" type="stmt" count="8"/>
      <line num="71" type="stmt" count="8"/>
      <line num="72" type="stmt" count="8"/>
      <line num="73" type="stmt" count="8"/>
      <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"/>
      <line num="87" type="method" name="addUser" visibility="public" complexity="6" crap="7.90" count="7"/>
      <line num="88" type="stmt" count="7"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="0"/>
      <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="102" type="stmt" count="7"/>
      <line num="103" 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="109" 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="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="122" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" 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="136" type="stmt" count="7"/>
      <line num="138" type="stmt" count="7"/>
      <line num="148" type="method" name="deleteUser" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="149" type="stmt" count="3"/>
      <line num="150" type="stmt" count="3"/>
      <line num="152" type="stmt" count="3"/>
      <line num="153" type="stmt" count="1"/>
      <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="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="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="174" 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="186" type="stmt" count="2"/>
      <line num="189" type="stmt" count="2"/>
      <line num="190" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="202" type="method" name="getUsers" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="203" type="stmt" count="2"/>
      <line num="204" type="stmt" count="2"/>
      <line num="206" type="stmt" count="2"/>
      <line num="207" 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="218" type="method" name="promoteUser" visibility="public" complexity="3" crap="3.01" count="4"/>
      <line num="219" type="stmt" count="4"/>
      <line num="221" type="stmt" count="4"/>
      <line num="222" type="stmt" count="0"/>
      <line num="225" type="stmt" count="4"/>
      <line num="226" type="stmt" count="4"/>
      <line num="227" type="stmt" count="4"/>
      <line num="230" type="stmt" count="4"/>
      <line num="231" type="stmt" count="4"/>
      <line num="233" type="stmt" count="4"/>
      <line num="243" type="method" name="sendEmail" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" 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="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" 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="270" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" 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="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" 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="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="304" type="method" name="isSandboxed" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="305" type="stmt" count="8"/>
      <line num="306" type="stmt" count="8"/>
      <metrics loc="309" ncloc="264" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="138" coveredstatements="83" elements="145" coveredelements="87"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslateSandboxEmailJob.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslateSandboxEmailJob" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="12" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="13" type="stmt" count="0"/>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="20" type="method" name="run" visibility="public" complexity="1" crap="2" 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="32" type="stmt" count="0"/>
      <metrics loc="35" ncloc="35" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslateSandboxHookHandler.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslateSandboxHookHandler" namespace="global">
        <metrics complexity="15" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="0" elements="38" coveredelements="0"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="43" type="method" name="onUserGetRights" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="onTitleQuickPermissions" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="79" type="method" name="onGetPreferences" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="92" type="method" name="onApiCheckCanExecute" visibility="public" complexity="5" crap="30" 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="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" 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="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <metrics loc="119" ncloc="98" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="0" elements="38" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslationStashActionApi.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslationStashActionApi" namespace="global">
        <metrics complexity="17" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="82" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="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="75" 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="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="method" name="formatTranslation" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="116" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="120" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" 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="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="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="145" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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"/>
      <metrics loc="154" ncloc="143" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="75" coveredstatements="0" elements="82" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslationStashReader.php">
      <metrics loc="21" 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/Translate/src/TranslatorSandbox/TranslationStashSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslationStashSpecialPage" namespace="global">
        <metrics complexity="17" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="95" coveredstatements="0" elements="105" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="42" type="method" name="doesWrites" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="method" name="execute" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="70" type="method" name="hasPermissionToUse" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="75" type="method" name="showPage" visibility="private" complexity="2" crap="6" 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="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" 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="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="114" type="method" name="getMessageTable" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" 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="122" 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="130" type="method" name="tuxLanguageSelector" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="136" 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="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="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="175" type="method" name="getSourceLanguage" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="181" type="method" name="getTargetLanguage" visibility="private" complexity="6" crap="42" 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="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="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <metrics loc="210" ncloc="193" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="95" coveredstatements="0" elements="105" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslationStashStorage.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslationStashStorage" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="29" elements="38" coveredelements="32"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <line num="25" type="method" name="getTranslations" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" 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"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="46" type="method" name="addTranslation" visibility="public" 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="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="63" type="method" name="deleteTranslations" visibility="public" complexity="1" crap="2" count="0"/>
      <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"/>
      <metrics loc="71" ncloc="64" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="34" coveredstatements="29" elements="38" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/TranslationStashWriter.php">
      <metrics loc="18" 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/Translate/src/TranslatorSandbox/TranslatorSandboxActionApi.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\TranslatorSandboxActionApi" namespace="global">
        <metrics complexity="33" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="136" coveredstatements="0" elements="146" coveredelements="0"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="method" name="execute" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="82" type="method" name="doCreate" visibility="private" complexity="11" crap="132" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="93" 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="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" 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="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="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="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="134" 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="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="148" type="method" name="doDelete" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="176" type="method" name="doPromote" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" 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="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="208" type="method" name="doRemind" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="228" type="method" name="createUserPage" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" 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="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="251" type="method" name="isWriteMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="255" type="method" name="needsToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="259" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" 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="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <metrics loc="276" ncloc="267" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="136" coveredstatements="0" elements="146" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/UserNotSandboxedException.php">
      <class name="MediaWiki\Extension\Translate\TranslatorSandbox\UserNotSandboxedException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
      </class>
      <line num="9" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="10" type="stmt" count="0"/>
      <metrics loc="13" ncloc="13" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="0" elements="2" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TranslatorSandbox/UserPromotedHook.php">
      <metrics loc="24" 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/Translate/src/TtmServer/CrossLanguageTranslationSearchQuery.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\CrossLanguageTranslationSearchQuery" namespace="global">
        <metrics complexity="23" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="0" elements="83" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="getDocuments" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" 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="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="108" type="method" name="extractMessages" visibility="private" complexity="12" crap="156" count="0"/>
      <line num="109" 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="116" type="stmt" count="0"/>
      <line num="117" 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="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="134" 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="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="166" type="method" name="getAvailableFilters" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="174" type="method" name="getTotalHits" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="178" type="method" name="getResultSet" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <metrics loc="182" ncloc="156" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="77" coveredstatements="0" elements="83" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/DatabaseTtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\DatabaseTtmServer" namespace="global">
        <metrics complexity="37" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="185" coveredstatements="0" elements="200" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="getDB" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="update" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="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="0"/>
      <line num="106" type="method" name="insertSource" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="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="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="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="132" type="stmt" count="0"/>
      <line num="136" type="method" name="filterForFulltext" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="137" 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="147" 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="155" type="stmt" count="0"/>
      <line num="158" type="method" name="beginBootstrap" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="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="170" type="stmt" count="0"/>
      <line num="171" 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="175" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="184" type="method" name="beginBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="188" type="method" name="batchInsertDefinitions" visibility="public" complexity="2" crap="6" 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="197" type="stmt" count="0"/>
      <line num="200" type="method" name="batchInsertTranslations" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" 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="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="218" 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="226" type="method" name="endBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="229" type="method" name="endBootstrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="237" type="method" name="isLocalSuggestion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="241" type="method" name="expandLocation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="245" type="method" name="query" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" 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="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" 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="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="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="282" type="method" name="processQueryResults" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <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="320" type="stmt" count="0"/>
      <line num="323" type="method" name="setDoReIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <metrics loc="326" ncloc="297" classes="1" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="185" coveredstatements="0" elements="200" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/ElasticSearchTtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\ElasticSearchTtmServer" namespace="global">
        <metrics complexity="88" methods="33" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="378" coveredstatements="0" elements="411" coveredelements="0"/>
      </class>
      <line num="62" type="method" name="isLocalSuggestion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="expandLocation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="method" name="query" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="78" type="method" name="doQuery" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" 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="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="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="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" 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="143" 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="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" 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="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="201" 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="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="231" type="method" name="update" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="246" 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="254" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" 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="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="276" 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="284" type="stmt" count="0"/>
      <line num="287" type="method" name="createDocument" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="288" type="stmt" 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="294" type="stmt" count="0"/>
      <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="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="307" type="method" name="createIndex" visibility="private" complexity="3" crap="12" count="0"/>
      <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="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="347" type="method" name="beginBootstrap" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="374" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="397" type="method" name="beginBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="398" type="stmt" count="0"/>
      <line num="404" type="method" name="batchInsertDefinitions" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="409" type="stmt" count="0"/>
      <line num="411" type="stmt" count="0"/>
      <line num="414" type="method" name="batchInsertTranslations" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="434" type="method" name="endBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="437" type="method" name="endBootstrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="444" type="method" name="getClient" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="456" type="method" name="useWikimediaExtraPlugin" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="460" type="method" name="getIndexName" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="464" type="method" name="getIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="469" type="method" name="getShardCount" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="473" type="method" name="getReplicaCount" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="477" type="method" name="waitUntilReady" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <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="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="492" type="method" name="setLogger" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="493" type="stmt" count="0"/>
      <line num="497" type="method" name="logOutput" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="503" type="method" name="setDoReIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="508" type="method" name="parseQueryString" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="510" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="530" 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="541" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="548" type="stmt" count="0"/>
      <line num="549" type="stmt" count="0"/>
      <line num="550" 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="558" type="stmt" count="0"/>
      <line num="559" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="564" type="stmt" count="0"/>
      <line num="565" type="stmt" count="0"/>
      <line num="570" type="stmt" count="0"/>
      <line num="574" type="method" name="createSearch" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="575" type="stmt" count="0"/>
      <line num="577" type="stmt" count="0"/>
      <line num="578" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="599" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="605" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="623" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="631" type="stmt" count="0"/>
      <line num="638" type="method" name="search" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="649" type="method" name="getFacets" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="669" type="method" name="getTotalHits" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="670" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="675" type="method" name="getDocuments" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="700" type="method" name="deleteByQuery" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="703" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="714" type="method" name="getElasticsearchVersion" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="715" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="717" type="stmt" count="0"/>
      <line num="720" type="stmt" count="0"/>
      <line num="721" type="stmt" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="725" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="730" type="method" name="checkElasticsearchVersion" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="731" type="stmt" count="0"/>
      <line num="732" type="stmt" count="0"/>
      <line num="733" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="735" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="737" type="stmt" count="0"/>
      <line num="738" type="stmt" count="0"/>
      <line num="743" type="method" name="assertResultSetInstance" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="748" type="stmt" count="0"/>
      <line num="749" type="stmt" count="0"/>
      <line num="750" type="stmt" count="0"/>
      <line num="757" type="stmt" count="0"/>
      <metrics loc="758" ncloc="639" classes="1" methods="33" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="379" coveredstatements="0" elements="412" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/ExportTtmServerDumpMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\ExportTtmServerDumpMaintenanceScript" namespace="global">
        <metrics complexity="19" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="108" coveredstatements="0" elements="114" coveredelements="0"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="29" 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="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="method" name="getAvailableCompressionWrappers" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="method" name="execute" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="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"/>
      <line num="105" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="121" type="method" name="getGroupsInPerformanceOrder" visibility="private" complexity="3" crap="12" 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="125" 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="131" type="stmt" count="0"/>
      <line num="132" 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="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="147" type="method" name="sortGroupsBySize" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="151" type="method" name="getOutput" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="172" 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="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="181" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <metrics loc="195" ncloc="177" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="108" coveredstatements="0" elements="114" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/FakeReadableTtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\FakeReadableTtmServer" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="11" type="method" name="query" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="12" type="stmt" count="0"/>
      <line num="15" type="method" name="isLocalSuggestion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="19" type="method" name="expandLocation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <metrics loc="23" ncloc="19" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/FakeTtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\FakeTtmServer" namespace="global">
        <metrics complexity="12" methods="12" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="3" elements="24" coveredelements="6"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="20" type="stmt" count="1"/>
      <line num="23" type="method" name="query" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="27" type="method" name="isLocalSuggestion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="expandLocation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="update" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="39" type="method" name="beginBootstrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="method" name="beginBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="method" name="batchInsertDefinitions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="method" name="batchInsertTranslations" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="method" name="endBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="method" name="endBootstrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="method" name="setDoReIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="60" ncloc="50" classes="1" methods="12" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="3" elements="24" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/FakeWritableTtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\FakeWritableTtmServer" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="9" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="10" type="stmt" count="0"/>
      <line num="13" type="method" name="update" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="17" type="method" name="beginBootstrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="20" type="method" name="beginBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="23" type="method" name="batchInsertDefinitions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="method" name="batchInsertTranslations" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="method" name="endBatch" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="32" type="method" name="endBootstrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="35" type="method" name="isFrozen" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="setDoReIndex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <metrics loc="42" ncloc="42" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/FuzzyLikeThis.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\FuzzyLikeThis" namespace="global">
        <metrics complexity="11" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="35" coveredelements="0"/>
      </class>
      <line num="55" type="method" name="addFieldNames" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="60" type="method" name="setLikeText" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="method" name="setIgnoreTermFrequency" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" type="method" name="setFuzziness" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="78" type="method" name="setPrefixLength" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="method" name="setMaxQueryTerms" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="90" type="method" name="setAnalyzer" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="101" type="method" name="toArray" visibility="public" complexity="4" crap="20" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="111" 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="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <metrics loc="124" ncloc="81" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="0" elements="35" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/ReadableTtmServer.php">
      <metrics loc="38" 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/Translate/src/TtmServer/RemoteTtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\RemoteTtmServer" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="query" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="22" type="method" name="isLocalSuggestion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="26" type="method" name="expandLocation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <metrics loc="30" ncloc="19" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/SearchTranslationsActionApi.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\SearchTranslationsActionApi" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="0" elements="105" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="execute" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" 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="73" type="stmt" count="0"/>
      <line num="74" 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="84" type="method" name="getSearchableTtmServers" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="method" name="getAllowedFilters" 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"/>
      <line num="107" type="method" name="getAllowedParams" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="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="122" 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="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="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="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="167" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <metrics loc="176" ncloc="167" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="99" coveredstatements="0" elements="105" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/SearchTranslationsSpecialPage.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\SearchTranslationsSpecialPage" namespace="global">
        <metrics complexity="61" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="467" coveredstatements="0" elements="479" coveredelements="0"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="method" name="execute" visibility="public" complexity="28" crap="812" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" 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="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="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="117" type="stmt" count="0"/>
      <line num="118" 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="125" 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="131" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" 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="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="152" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" 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="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="183" 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="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="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="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" 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="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" 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="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="247" 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="254" type="stmt" count="0"/>
      <line num="255" 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="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" 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="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="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="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="289" type="stmt" 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"/>
      <line num="294" 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="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" 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="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="335" type="method" name="getLanguages" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="361" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="367" type="method" name="getGroups" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="372" type="method" name="makeGroupFacetRows" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="393" type="stmt" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="401" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="407" 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="412" type="stmt" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <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="421" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="428" type="method" name="showSearch" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" 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="457" type="stmt" count="0"/>
      <line num="458" type="stmt" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="466" type="stmt" count="0"/>
      <line num="467" type="stmt" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="481" type="method" name="showEmptySearch" visibility="private" complexity="1" crap="2" 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="485" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="494" type="method" name="showSearchError" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="495" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="500" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="505" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="519" type="method" name="ellipsisSelector" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="520" type="stmt" count="0"/>
      <line num="521" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" 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="540" type="method" name="messageSelector" visibility="private" complexity="7" crap="56" 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="549" 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="555" type="stmt" count="0"/>
      <line num="556" type="stmt" count="0"/>
      <line num="557" type="stmt" count="0"/>
      <line num="560" type="stmt" count="0"/>
      <line num="561" type="stmt" count="0"/>
      <line num="562" type="stmt" count="0"/>
      <line num="563" type="stmt" count="0"/>
      <line num="566" type="stmt" count="0"/>
      <line num="567" type="stmt" count="0"/>
      <line num="568" type="stmt" count="0"/>
      <line num="571" type="stmt" count="0"/>
      <line num="572" type="stmt" count="0"/>
      <line num="573" type="stmt" count="0"/>
      <line num="579" type="stmt" count="0"/>
      <line num="580" type="stmt" count="0"/>
      <line num="581" type="stmt" count="0"/>
      <line num="582" type="stmt" count="0"/>
      <line num="583" type="stmt" count="0"/>
      <line num="584" type="stmt" count="0"/>
      <line num="585" type="stmt" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="588" type="stmt" count="0"/>
      <line num="590" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="592" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="597" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="600" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="603" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="611" type="stmt" count="0"/>
      <line num="614" type="method" name="getSearchInput" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="615" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="619" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="625" type="stmt" count="0"/>
      <line num="626" type="stmt" count="0"/>
      <line num="627" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="629" type="stmt" count="0"/>
      <line num="632" type="stmt" count="0"/>
      <line num="633" type="stmt" count="0"/>
      <line num="634" type="stmt" count="0"/>
      <line num="635" type="stmt" count="0"/>
      <line num="636" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="645" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="650" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="657" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="660" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="662" type="stmt" count="0"/>
      <line num="663" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="665" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="670" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="672" type="stmt" count="0"/>
      <line num="673" type="stmt" count="0"/>
      <line num="674" type="stmt" count="0"/>
      <line num="675" type="stmt" count="0"/>
      <line num="676" type="stmt" count="0"/>
      <line num="677" type="stmt" count="0"/>
      <line num="678" type="stmt" count="0"/>
      <line num="679" type="stmt" count="0"/>
      <line num="680" type="stmt" count="0"/>
      <line num="681" type="stmt" count="0"/>
      <line num="682" type="stmt" count="0"/>
      <line num="683" type="stmt" count="0"/>
      <line num="684" type="stmt" count="0"/>
      <line num="685" type="stmt" count="0"/>
      <line num="686" type="stmt" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="689" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="691" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="693" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="695" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="699" type="stmt" count="0"/>
      <line num="701" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="707" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="709" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="711" type="stmt" count="0"/>
      <line num="712" type="stmt" count="0"/>
      <line num="715" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <metrics loc="719" ncloc="680" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="467" coveredstatements="0" elements="479" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/SearchableTtmServer.php">
      <metrics loc="36" 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/Translate/src/TtmServer/ServiceCreationFailure.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\ServiceCreationFailure" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="15" 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/Translate/src/TtmServer/TtmServer.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\TtmServer" namespace="global">
        <metrics complexity="6" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="19" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="30" type="method" name="sortSuggestions" visibility="public" complexity="1" crap="2" 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="35" type="stmt" count="0"/>
      <line num="39" type="method" name="onDelete" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="46" type="method" name="onChange" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="51" type="method" name="onGroupChange" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <metrics loc="61" ncloc="46" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="19" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/TtmServerActionApi.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\TtmServerActionApi" namespace="global">
        <metrics complexity="12" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="52" coveredstatements="0" elements="57" coveredelements="0"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="method" name="execute" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="method" name="getAvailableTranslationServices" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="method" name="getAllowedParams" visibility="protected" complexity="2" crap="6" 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="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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"/>
      <metrics loc="120" ncloc="110" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="52" coveredstatements="0" elements="57" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/TtmServerException.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\TtmServerException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="16" 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/Translate/src/TtmServer/TtmServerFactory.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\TtmServerFactory" namespace="global">
        <metrics complexity="37" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="64" elements="90" coveredelements="66"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="26" type="stmt" count="14"/>
      <line num="29" type="method" name="getNames" visibility="public" complexity="7" crap="7.23" count="13"/>
      <line num="30" type="stmt" count="13"/>
      <line num="31" type="stmt" count="13"/>
      <line num="32" type="stmt" count="12"/>
      <line num="33" type="stmt" count="12"/>
      <line num="34" type="stmt" count="10"/>
      <line num="40" type="stmt" count="12"/>
      <line num="41" type="stmt" count="12"/>
      <line num="42" type="stmt" count="6"/>
      <line num="43" type="stmt" count="6"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="50" type="stmt" count="13"/>
      <line num="53" type="method" name="has" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="54" type="stmt" count="10"/>
      <line num="55" type="stmt" count="10"/>
      <line num="58" type="method" name="create" visibility="public" complexity="9" crap="12.00" count="9"/>
      <line num="59" type="stmt" count="9"/>
      <line num="60" type="stmt" count="3"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="6"/>
      <line num="69" type="stmt" count="5"/>
      <line num="72" type="stmt" count="5"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="5"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="92" type="method" name="getDefaultForQuerying" visibility="public" complexity="4" crap="4.01" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="0"/>
      <line num="97" type="stmt" count="3"/>
      <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="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" 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="118" type="method" name="getWritable" visibility="public" complexity="11" crap="13.11" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="120" type="stmt" count="4"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="125" type="stmt" count="4"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="132" type="stmt" count="2"/>
      <line num="133" type="stmt" count="2"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="2"/>
      <line num="140" type="stmt" count="0"/>
      <line num="144" type="stmt" count="2"/>
      <line num="145" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="164" type="stmt" count="1"/>
      <line num="168" type="method" name="getWriteOnly" visibility="public" complexity="4" crap="4.32" 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="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="179" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <metrics loc="186" ncloc="168" classes="1" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="64" elements="90" coveredelements="66"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/TtmServerMessageUpdateJob.php">
      <class name="MediaWiki\Extension\Translate\TtmServer\TtmServerMessageUpdateJob" namespace="global">
        <metrics complexity="32" methods="16" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="84" elements="138" coveredelements="90"/>
      </class>
      <line num="50" type="method" name="newJob" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="method" name="__construct" visibility="public" complexity="1" crap="1" 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="65" type="stmt" count="5"/>
      <line num="66" type="stmt" count="5"/>
      <line num="70" type="method" name="run" visibility="public" complexity="2" crap="2" 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="75" type="stmt" count="5"/>
      <line num="79" type="method" name="allowRetries" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="method" name="runCommandWithRetry" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="96" type="method" name="requeueError" visibility="private" complexity="2" crap="2" 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="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="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="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="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <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="132" type="stmt" count="2"/>
      <line num="136" type="method" name="resend" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="140" type="method" name="runCommand" visibility="private" complexity="4" crap="4.03" count="5"/>
      <line num="141" type="stmt" count="5"/>
      <line num="142" type="stmt" count="5"/>
      <line num="144" type="stmt" count="5"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="5"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="5"/>
      <line num="149" type="stmt" count="5"/>
      <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="163" type="method" name="getHandle" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="168" type="method" name="getTranslation" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="176" type="method" name="updateMessage" visibility="private" complexity="2" crap="6" 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="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="186" type="method" name="updateTranslation" visibility="private" complexity="1" crap="1" count="5"/>
      <line num="188" type="stmt" count="5"/>
      <line num="189" type="stmt" count="5"/>
      <line num="192" type="method" name="updateItem" visibility="private" complexity="2" crap="2.15" count="5"/>
      <line num="198" type="stmt" count="5"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="5"/>
      <line num="205" type="method" name="getServersToUpdate" visibility="private" complexity="5" crap="13.42" count="5"/>
      <line num="206" type="stmt" count="5"/>
      <line num="207" type="stmt" count="5"/>
      <line num="208" type="stmt" count="2"/>
      <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="216" type="stmt" count="2"/>
      <line num="217" type="stmt" count="2"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="224" type="stmt" count="2"/>
      <line num="228" type="stmt" count="3"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="250" type="method" name="setDelay" visibility="public" complexity="5" crap="11.10" 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="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="260" type="stmt" count="0"/>
      <line num="269" type="method" name="backoffDelay" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="270" type="stmt" count="2"/>
      <line num="271" type="stmt" count="2"/>
      <line num="272" type="stmt" count="2"/>
      <line num="273" type="stmt" count="2"/>
      <metrics loc="276" ncloc="221" classes="1" methods="16" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="122" coveredstatements="84" elements="138" coveredelements="90"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/TtmServer/WritableTtmServer.php">
      <metrics loc="49" ncloc="25" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/BaseMaintenanceScript.php">
      <class name="MediaWiki\Extension\Translate\Utilities\BaseMaintenanceScript" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="commaList2Array" visibility="protected" complexity="1" crap="2" 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"/>
      <metrics loc="33" ncloc="23" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="7" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/ConfigHelper.php">
      <class name="MediaWiki\Extension\Translate\Utilities\ConfigHelper" namespace="global">
        <metrics complexity="16" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="41" coveredelements="41"/>
      </class>
      <line num="22" type="method" name="getValidationExclusionFile" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="27" type="method" name="getTranslateAuthorExclusionList" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="29" type="stmt" count="8"/>
      <line num="32" type="method" name="getDisabledTargetLanguages" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="34" type="stmt" count="10"/>
      <line num="44" type="method" name="isTargetLanguageDisabled" visibility="public" complexity="5" crap="5" 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="57" type="stmt" count="9"/>
      <line num="58" type="stmt" count="9"/>
      <line num="59" type="stmt" count="9"/>
      <line num="60" type="stmt" count="5"/>
      <line num="61" type="stmt" count="5"/>
      <line num="65" type="stmt" count="9"/>
      <line num="67" type="stmt" count="9"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="5"/>
      <line num="72" type="stmt" count="9"/>
      <line num="73" type="stmt" count="6"/>
      <line num="76" type="stmt" count="9"/>
      <line num="89" type="method" name="canSeeExcludedLanguageStats" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="95" type="stmt" count="1"/>
      <line num="97" type="stmt" count="4"/>
      <line num="100" type="method" name="isAuthorExcluded" visibility="public" complexity="5" crap="5" 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"/>
      <line num="106" type="stmt" count="7"/>
      <line num="107" type="stmt" count="6"/>
      <line num="108" type="stmt" count="5"/>
      <line num="109" type="stmt" count="3"/>
      <line num="111" type="stmt" count="4"/>
      <line num="116" type="stmt" count="4"/>
      <metrics loc="119" ncloc="89" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="41" coveredelements="41"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/GettextPlural.php">
      <class name="MediaWiki\Extension\Translate\Utilities\GettextPlural" namespace="global">
        <metrics complexity="21" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="57" elements="68" coveredelements="64"/>
      </class>
      <line num="23" type="method" name="getPluralRule" visibility="public" complexity="6" crap="6.02" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="27" type="stmt" count="0"/>
      <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="36" type="stmt" count="1"/>
      <line num="37" 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="45" type="stmt" count="1"/>
      <line num="54" type="method" name="getPluralCount" visibility="public" complexity="2" crap="2" 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="3"/>
      <line num="60" type="stmt" count="4"/>
      <line num="66" type="method" name="hasPlural" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="67" type="stmt" count="6"/>
      <line num="75" type="method" name="flatten" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="76" type="stmt" count="2"/>
      <line num="88" type="method" name="unflatten" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="89" type="stmt" count="6"/>
      <line num="90" type="stmt" count="6"/>
      <line num="98" type="method" name="armour" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="101" type="stmt" count="6"/>
      <line num="102" type="stmt" count="6"/>
      <line num="103" type="stmt" count="6"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="6"/>
      <line num="107" type="stmt" count="1"/>
      <line num="110" type="stmt" count="6"/>
      <line num="111" type="stmt" count="6"/>
      <line num="113" type="stmt" count="6"/>
      <line num="122" type="method" name="unarmour" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="123" type="stmt" count="6"/>
      <line num="132" type="method" name="parsePluralForms" visibility="public" complexity="4" crap="4.00" 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="137" type="stmt" count="6"/>
      <line num="139" type="stmt" count="6"/>
      <line num="140" type="stmt" count="6"/>
      <line num="141" type="stmt" count="0"/>
      <line num="144" type="stmt" count="6"/>
      <line num="145" type="stmt" count="6"/>
      <line num="147" type="stmt" count="6"/>
      <line num="148" type="stmt" count="5"/>
      <line num="151" type="stmt" count="5"/>
      <line num="152" 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="159" type="stmt" count="5"/>
      <line num="162" type="stmt" count="6"/>
      <line num="163" type="stmt" count="6"/>
      <line num="171" type="method" name="expandTemplate" visibility="public" complexity="3" crap="3" count="6"/>
      <line num="172" type="stmt" count="6"/>
      <line num="173" type="stmt" count="6"/>
      <line num="175" type="stmt" count="6"/>
      <line num="179" type="stmt" count="6"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="186" type="stmt" count="6"/>
      <line num="189" type="stmt" count="6"/>
      <metrics loc="192" ncloc="127" classes="1" methods="9" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="59" coveredstatements="57" elements="68" coveredelements="64"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/HTMLTranslationAssistLanguagesField.php">
      <class name="MediaWiki\Extension\Translate\Utilities\HTMLTranslationAssistLanguagesField" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="16" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="getInputCodex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="25" type="method" name="validate" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="40" type="method" name="filter" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <metrics loc="51" ncloc="39" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="0" elements="16" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/PHPVariableLoader.php">
      <class name="MediaWiki\Extension\Translate\Utilities\PHPVariableLoader" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="loadVariableFromPHPFile" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <metrics loc="30" ncloc="16" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/ParallelExecutor.php">
      <class name="MediaWiki\Extension\Translate\Utilities\ParallelExecutor" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="18" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="26" type="method" name="runInParallel" visibility="public" complexity="5" crap="30" 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="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"/>
      <line num="37" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" 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"/>
      <metrics loc="54" ncloc="40" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="0" elements="18" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/ParsingPlaceholderFactory.php">
      <class name="MediaWiki\Extension\Translate\Utilities\ParsingPlaceholderFactory" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
      </class>
      <line num="17" type="method" name="make" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="18" type="stmt" count="1"/>
      <line num="19" 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"/>
      <metrics loc="25" ncloc="17" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/SmartFormatPlural.php">
      <class name="MediaWiki\Extension\Translate\Utilities\SmartFormatPlural" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="15" coveredelements="15"/>
      </class>
      <line num="41" type="method" name="getPluralInstances" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="43" 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="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="62" type="stmt" count="1"/>
      <metrics loc="65" ncloc="27" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/StringComparators/EditDistanceStringComparator.php">
      <class name="MediaWiki\Extension\Translate\Utilities\StringComparators\EditDistanceStringComparator" namespace="global">
        <metrics complexity="15" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="0" elements="36" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="21" type="method" name="getSimilarity" visibility="public" complexity="3" crap="12" 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="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="41" type="method" name="levenshtein" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <metrics loc="80" ncloc="67" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="33" coveredstatements="0" elements="36" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/StringComparators/SimpleStringComparator.php">
      <class name="MediaWiki\Extension\Translate\Utilities\StringComparators\SimpleStringComparator" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
      </class>
      <line num="15" type="method" name="getSimilarity" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <metrics loc="28" ncloc="18" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="6" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/StringComparators/StringComparator.php">
      <metrics loc="19" ncloc="8" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/SupportedLanguagesHook.php">
      <metrics loc="23" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/UnicodePlural.php">
      <class name="MediaWiki\Extension\Translate\Utilities\UnicodePlural" namespace="global">
        <metrics complexity="24" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="59" elements="69" coveredelements="67"/>
      </class>
      <line num="24" type="method" name="getPluralKeywords" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <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="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="42" type="method" name="hasPlural" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="43" type="stmt" count="6"/>
      <line num="52" type="method" name="flattenMap" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="3"/>
      <line num="55" type="stmt" count="2"/>
      <line num="58" type="stmt" count="3"/>
      <line num="67" type="method" name="flattenList" visibility="public" complexity="2" crap="2" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="69" type="stmt" count="3"/>
      <line num="70" type="stmt" count="2"/>
      <line num="73" type="stmt" count="3"/>
      <line num="76" type="method" name="formatForm" visibility="private" complexity="2" crap="2" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="2"/>
      <line num="92" type="method" name="unflatten" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="93" type="stmt" count="9"/>
      <line num="94" type="stmt" count="9"/>
      <line num="102" type="method" name="parsePluralForms" visibility="public" complexity="6" crap="6" 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="107" type="stmt" count="9"/>
      <line num="108" type="stmt" count="9"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="stmt" count="9"/>
      <line num="113" type="stmt" count="9"/>
      <line num="115" type="stmt" count="9"/>
      <line num="116" type="stmt" count="8"/>
      <line num="119" type="stmt" count="8"/>
      <line num="120" type="stmt" count="8"/>
      <line num="122" type="stmt" count="8"/>
      <line num="123" type="stmt" count="8"/>
      <line num="124" type="stmt" count="8"/>
      <line num="125" type="stmt" count="8"/>
      <line num="126" type="stmt" count="8"/>
      <line num="127" type="stmt" count="8"/>
      <line num="128" type="stmt" count="8"/>
      <line num="131" type="stmt" count="8"/>
      <line num="134" type="stmt" count="9"/>
      <line num="145" type="method" name="expandTemplate" visibility="public" complexity="4" crap="4" count="9"/>
      <line num="146" type="stmt" count="9"/>
      <line num="149" type="stmt" count="9"/>
      <line num="150" type="stmt" count="8"/>
      <line num="153" type="stmt" count="9"/>
      <line num="155" type="stmt" count="9"/>
      <line num="159" type="stmt" count="9"/>
      <line num="161" type="stmt" count="8"/>
      <line num="162" type="stmt" count="8"/>
      <line num="165" type="stmt" count="9"/>
      <line num="168" type="stmt" count="9"/>
      <line num="171" type="method" name="convertFormListToFormMap" visibility="public" complexity="3" crap="3" 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="177" type="stmt" count="3"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <metrics loc="185" ncloc="131" classes="1" methods="9" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="59" elements="69" coveredelements="67"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/Utilities.php">
      <class name="MediaWiki\Extension\Translate\Utilities\Utilities" namespace="global">
        <metrics complexity="61" methods="26" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="173" coveredstatements="8" elements="199" coveredelements="9"/>
      </class>
      <line num="39" type="method" name="title" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="61" type="method" name="figureMessage" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="76" type="method" name="getMessageContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="92" type="method" name="fetchLatestRevisionsByTitles" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="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="101" 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="107" 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="120" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="133" type="method" name="getContents" visibility="public" complexity="3" crap="3" 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="143" type="stmt" count="1"/>
      <line num="152" type="method" name="getContentForTitle" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="177" type="method" name="getLanguageName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="189" type="method" name="getLanguageNames" visibility="public" complexity="1" crap="2" 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="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="207" type="method" name="fieldset" visibility="public" complexity="1" crap="2" 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="220" type="method" name="cacheFile" visibility="public" complexity="3" crap="12" 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="226" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="235" type="method" name="getPlaceholder" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="248" type="method" name="getIcon" visibility="public" complexity="5" crap="30" 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="254" 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="261" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="279" type="method" name="getSafeReadDB" visibility="public" complexity="2" crap="6" 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="284" type="stmt" count="0"/>
      <line num="288" type="method" name="shouldReadFromPrimary" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" 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="309" type="method" name="getEditorUrl" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="337" type="method" name="serialize" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="345" type="method" name="deserialize" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="349" type="method" name="getVersion" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="363" type="method" name="allowsSubpages" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="375" type="method" name="isSupportedLanguageCode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="385" type="method" name="getTextFromContentOrNull" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="394" type="method" name="getTextFromTextContent" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="395" type="stmt" count="0"/>
      <line num="396" type="stmt" count="0"/>
      <line num="399" type="stmt" count="0"/>
      <line num="400" type="stmt" count="0"/>
      <line num="403" type="stmt" count="0"/>
      <line num="412" type="method" name="getTranslations" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <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="422" type="stmt" count="0"/>
      <line num="438" type="method" name="getTranslationRevisions" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="456" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="464" type="stmt" count="0"/>
      <line num="465" type="stmt" count="0"/>
      <line num="468" type="stmt" count="0"/>
      <line num="471" type="method" name="isTranslationPage" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" 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="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="500" type="method" name="isValidRegex" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="511" type="stmt" count="0"/>
      <line num="517" type="stmt" count="0"/>
      <metrics loc="518" ncloc="352" classes="1" methods="26" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="174" coveredstatements="8" elements="200" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Utilities/Yaml.php">
      <class name="MediaWiki\Extension\Translate\Utilities\Yaml" namespace="global">
        <metrics complexity="16" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="29" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="loadString" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="26" 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="34" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="fixSpycSpaces" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="method" name="load" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="67" type="method" name="dump" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <metrics loc="80" ncloc="70" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="29" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/CheckTranslationActionApi.php">
      <class name="MediaWiki\Extension\Translate\Validation\CheckTranslationActionApi" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="0" elements="48" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="execute" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="15" 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="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="24" 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="34" type="stmt" count="0"/>
      <line num="37" type="method" name="validateTranslation" visibility="private" complexity="5" crap="30" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="method" name="getDefinition" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="74" type="method" name="getAllowedParams" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="method" name="isInternal" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <metrics loc="91" ncloc="88" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="43" coveredstatements="0" elements="48" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/MessageValidator.php">
      <metrics loc="25" 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/Translate/src/Validation/ValidationIssue.php">
      <class name="MediaWiki\Extension\Translate\Validation\ValidationIssue" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="27" type="method" name="type" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="subType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="messageKey" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="messageParams" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <metrics loc="43" ncloc="31" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/ValidationIssues.php">
      <class name="MediaWiki\Extension\Translate\Validation\ValidationIssues" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="add" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="merge" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="40" type="method" name="hasIssues" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="45" type="method" name="getIterator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="50" type="method" name="count" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <metrics loc="54" ncloc="33" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/ValidationResult.php">
      <class name="MediaWiki\Extension\Translate\Validation\ValidationResult" namespace="global">
        <metrics complexity="19" methods="11" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="21" elements="49" coveredelements="31"/>
      </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="25" type="method" name="hasIssues" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="29" type="method" name="getIssues" visibility="public" complexity="1" crap="1" 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="36" type="method" name="hasWarnings" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="37" type="stmt" count="2"/>
      <line num="40" type="method" name="hasErrors" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="44" type="method" name="getWarnings" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="48" type="method" name="getErrors" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="55" type="method" name="getDescriptiveWarnings" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="62" type="method" name="getDescriptiveErrors" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="66" type="method" name="expandMessages" visibility="private" complexity="1" crap="1" 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="72" type="stmt" count="1"/>
      <line num="75" type="method" name="fixMessageParams" visibility="private" complexity="8" crap="41.95" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="103" type="stmt" count="1"/>
      <metrics loc="106" ncloc="92" classes="1" methods="11" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="21" elements="49" coveredelements="31"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/ValidationRunner.php">
      <class name="MediaWiki\Extension\Translate\Validation\ValidationRunner" namespace="global">
        <metrics complexity="57" methods="14" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="115" elements="160" coveredelements="122"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="2" crap="2.50" count="6"/>
      <line num="48" type="stmt" count="6"/>
      <line num="50" type="stmt" count="0"/>
      <line num="55" type="method" name="foldValue" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="67" type="method" name="setValidators" visibility="public" complexity="2" crap="2" 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="78" type="method" name="addValidator" visibility="public" complexity="5" crap="6.52" count="6"/>
      <line num="79" type="stmt" count="6"/>
      <line num="80" type="stmt" count="6"/>
      <line num="82" type="stmt" count="6"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="6"/>
      <line num="88" type="stmt" count="6"/>
      <line num="89" type="stmt" count="6"/>
      <line num="90" type="stmt" count="6"/>
      <line num="91" type="stmt" count="6"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="stmt" count="6"/>
      <line num="99" type="stmt" count="6"/>
      <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="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="111" type="stmt" count="6"/>
      <line num="112" type="stmt" count="6"/>
      <line num="120" type="method" name="getValidators" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="130" type="method" name="getInsertableValidators" visibility="public" complexity="3" crap="12" 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="138" type="stmt" count="0"/>
      <line num="146" type="method" name="validateMessage" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="151" type="stmt" count="5"/>
      <line num="152" 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="165" type="stmt" count="5"/>
      <line num="166" type="stmt" count="5"/>
      <line num="168" type="stmt" count="5"/>
      <line num="172" type="method" name="quickValidate" visibility="public" complexity="4" crap="4" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" 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="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="193" type="stmt" count="2"/>
      <line num="194" type="stmt" count="2"/>
      <line num="198" type="stmt" count="2"/>
      <line num="202" type="method" name="reloadIgnorePatterns" visibility="public" complexity="8" crap="8.11" count="6"/>
      <line num="203" type="stmt" count="6"/>
      <line num="205" type="stmt" count="6"/>
      <line num="206" type="stmt" count="6"/>
      <line num="207" type="stmt" count="6"/>
      <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="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <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="233" type="stmt" count="1"/>
      <line num="238" type="stmt" count="1"/>
      <line num="242" type="method" name="filterValidations" visibility="private" complexity="4" crap="4" count="6"/>
      <line num="247" type="stmt" count="6"/>
      <line num="249" type="stmt" count="6"/>
      <line num="250" type="stmt" count="6"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="1"/>
      <line num="255" type="stmt" count="6"/>
      <line num="258" type="stmt" count="6"/>
      <line num="261" type="method" name="shouldIgnore" visibility="private" complexity="5" crap="5" 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="272" type="stmt" count="1"/>
      <line num="282" type="method" name="matchesIgnorePattern" visibility="private" complexity="3" crap="3" 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="288" type="stmt" count="1"/>
      <line num="300" type="method" name="doesKeyMatch" visibility="protected" complexity="9" crap="10.06" count="6"/>
      <line num="301" type="stmt" count="6"/>
      <line num="302" type="stmt" count="6"/>
      <line num="303" type="stmt" count="6"/>
      <line num="304" type="stmt" count="6"/>
      <line num="305" type="stmt" count="5"/>
      <line num="307" type="stmt" count="6"/>
      <line num="311" type="stmt" count="6"/>
      <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="318" type="stmt" count="6"/>
      <line num="319" type="stmt" count="6"/>
      <line num="323" type="stmt" count="6"/>
      <line num="324" type="stmt" count="6"/>
      <line num="326" type="stmt" count="3"/>
      <line num="330" type="stmt" count="6"/>
      <line num="338" type="method" name="runValidation" visibility="private" complexity="8" crap="10.81" count="6"/>
      <line num="348" type="stmt" count="6"/>
      <line num="350" type="stmt" count="6"/>
      <line num="353" type="stmt" count="6"/>
      <line num="354" type="stmt" count="6"/>
      <line num="355" type="stmt" count="2"/>
      <line num="358" type="stmt" count="6"/>
      <line num="359" type="stmt" count="6"/>
      <line num="360" type="stmt" count="0"/>
      <line num="363" type="stmt" count="6"/>
      <line num="364" type="stmt" count="6"/>
      <line num="365" type="stmt" count="6"/>
      <line num="366" type="stmt" count="6"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <metrics loc="377" ncloc="292" classes="1" methods="14" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="115" elements="160" coveredelements="122"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/ValidatorFactory.php">
      <class name="MediaWiki\Extension\Translate\Validation\ValidatorFactory" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="13" coveredelements="0"/>
      </class>
      <line num="97" type="method" name="get" visibility="public" complexity="4" crap="20" 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="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="123" type="method" name="loadInstance" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <metrics loc="131" ncloc="106" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="13" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/BraceBalanceValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\BraceBalanceValidator" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
      </class>
      <line num="18" type="method" name="getIssues" visibility="public" complexity="5" crap="5" count="4"/>
      <line num="19" type="stmt" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="21" type="stmt" 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="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="33" type="stmt" count="2"/>
      <line num="37" type="stmt" count="4"/>
      <line num="38" type="stmt" count="4"/>
      <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="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="49" type="stmt" count="4"/>
      <line num="52" type="method" name="getBalance" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <metrics loc="56" ncloc="49" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/EscapeCharacterValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\EscapeCharacterValidator" namespace="global">
        <metrics complexity="9" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="41" coveredelements="41"/>
      </class>
      <line num="26" type="method" name="__construct" visibility="public" complexity="3" crap="3" count="6"/>
      <line num="27" type="stmt" count="6"/>
      <line num="29" type="stmt" count="6"/>
      <line num="30" type="stmt" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="35" type="stmt" count="5"/>
      <line num="38" type="method" name="getIssues" visibility="public" complexity="2" crap="2" 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="44" type="stmt" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <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="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="60" type="stmt" count="4"/>
      <line num="63" type="method" name="buildRegex" visibility="private" complexity="4" crap="4" 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="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="4"/>
      <line num="75" type="stmt" count="4"/>
      <line num="77" 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="87" type="stmt" count="4"/>
      <metrics loc="90" ncloc="78" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="41" coveredelements="41"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/FluentVariableValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\FluentVariableValidator" 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="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="20" type="stmt" count="10"/>
      <metrics loc="23" ncloc="11" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/GettextNewlineValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\GettextNewlineValidator" namespace="global">
        <metrics complexity="3" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="18" coveredelements="18"/>
      </class>
      <line num="18" type="method" name="getIssues" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="19" type="stmt" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="23" type="stmt" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" 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="33" type="stmt" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="35" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="40" type="method" name="removeTrailingSlash" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="3"/>
      <line num="45" type="stmt" count="2"/>
      <metrics loc="48" ncloc="39" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="18" coveredelements="18"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/GettextPluralValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\GettextPluralValidator" namespace="global">
        <metrics complexity="19" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="66" elements="72" coveredelements="69"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="23" type="stmt" count="7"/>
      <line num="25" type="method" name="getIssues" visibility="public" complexity="7" crap="7" count="7"/>
      <line num="26" type="stmt" count="7"/>
      <line num="28" type="stmt" count="7"/>
      <line num="30" type="stmt" count="7"/>
      <line num="31" type="stmt" count="1"/>
      <line num="35" type="stmt" count="6"/>
      <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"/>
      <line num="45" type="stmt" count="1"/>
      <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="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="59" type="stmt" count="5"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <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="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="71" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <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="90" type="stmt" count="5"/>
      <line num="93" type="method" name="pluralPresenceCheck" visibility="private" complexity="8" crap="8.70" count="5"/>
      <line num="98" type="stmt" count="5"/>
      <line num="99" type="stmt" count="1"/>
      <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="0"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="3"/>
      <line num="115" type="method" name="pluralFormCountCheck" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="116" 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="2"/>
      <line num="125" type="stmt" count="1"/>
      <metrics loc="128" ncloc="120" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="66" elements="72" coveredelements="69"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/InsertableRegexValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\InsertableRegexValidator" namespace="global">
        <metrics complexity="7" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="36" elements="40" coveredelements="37"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="4" crap="4.25" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <line num="27" type="stmt" count="3"/>
      <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="3"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="39" type="method" name="getIssues" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="40" 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="47" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <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="59" type="stmt" count="2"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="3"/>
      <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="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="74" type="stmt" count="2"/>
      <line num="77" type="stmt" count="3"/>
      <metrics loc="80" ncloc="72" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="36" elements="40" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/InsertableRubyVariableValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\InsertableRubyVariableValidator" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="14" type="stmt" count="3"/>
      <metrics loc="17" ncloc="11" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/IosVariableValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\IosVariableValidator" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="5" coveredelements="5"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="16" type="stmt" count="3"/>
      <line num="17" type="stmt" count="3"/>
      <line num="18" type="stmt" count="3"/>
      <line num="19" type="stmt" count="3"/>
      <metrics loc="22" ncloc="14" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="5" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MatchSetValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MatchSetValidator" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="1"/>
      <line num="32" type="stmt" count="3"/>
      <line num="33" type="stmt" count="2"/>
      <line num="35" type="stmt" count="1"/>
      <line num="39" type="method" name="getIssues" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="40" 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="47" type="stmt" count="3"/>
      <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="58" type="stmt" count="2"/>
      <line num="61" type="stmt" count="3"/>
      <metrics loc="64" ncloc="57" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="23" elements="25" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MediaWikiGenderValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MediaWikiGenderValidator" namespace="global">
        <metrics complexity="11" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="29" elements="32" coveredelements="32"/>
      </class>
      <line num="30" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="35" type="stmt" count="10"/>
      <line num="37" type="method" name="getIssues" visibility="public" complexity="7" crap="7" count="6"/>
      <line num="38" type="stmt" count="6"/>
      <line num="40" type="stmt" count="6"/>
      <line num="41" type="stmt" count="6"/>
      <line num="42" type="stmt" count="1"/>
      <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="1"/>
      <line num="49" type="stmt" count="4"/>
      <line num="50" type="stmt" count="1"/>
      <line num="54" type="stmt" count="5"/>
      <line num="63" type="method" name="getGenderForms" visibility="public" complexity="3" crap="3" count="9"/>
      <line num="64" type="stmt" count="9"/>
      <line num="66" type="stmt" count="9"/>
      <line num="67" type="stmt" count="8"/>
      <line num="68" type="stmt" count="8"/>
      <line num="70" type="stmt" count="8"/>
      <line num="71" type="stmt" count="8"/>
      <line num="74" type="stmt" count="8"/>
      <line num="76" type="stmt" count="8"/>
      <line num="77" type="stmt" count="9"/>
      <line num="79" type="stmt" count="9"/>
      <line num="80" 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="87" type="stmt" count="9"/>
      <line num="89" type="stmt" count="9"/>
      <metrics loc="92" ncloc="74" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="29" elements="32" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MediaWikiLinkValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MediaWikiLinkValidator" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="37" elements="39" coveredelements="39"/>
      </class>
      <line num="19" type="method" name="getIssues" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="20" type="stmt" count="3"/>
      <line num="22" type="stmt" count="3"/>
      <line num="23" type="stmt" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <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="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="39" type="stmt" count="3"/>
      <line num="40" type="stmt" count="3"/>
      <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"/>
      <line num="53" type="stmt" count="3"/>
      <line num="56" type="method" name="getLinksMissingInTarget" visibility="private" complexity="3" crap="3" count="3"/>
      <line num="58" type="stmt" count="3"/>
      <line num="59" 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="2"/>
      <line num="70" type="stmt" count="3"/>
      <metrics loc="73" ncloc="66" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="37" coveredstatements="37" elements="39" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MediaWikiPageNameValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MediaWikiPageNameValidator" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="15" coveredelements="15"/>
      </class>
      <line num="18" type="method" name="getIssues" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="19" type="stmt" count="3"/>
      <line num="21" type="stmt" count="3"/>
      <line num="22" type="stmt" count="3"/>
      <line num="24" type="stmt" count="3"/>
      <line num="25" type="stmt" count="3"/>
      <line num="26" type="stmt" count="3"/>
      <line num="27" 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="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="37" type="stmt" count="3"/>
      <metrics loc="40" ncloc="34" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="14" elements="15" coveredelements="15"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MediaWikiParameterValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MediaWikiParameterValidator" 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="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="13" type="stmt" count="4"/>
      <metrics loc="16" ncloc="11" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MediaWikiPluralValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MediaWikiPluralValidator" namespace="global">
        <metrics complexity="18" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="26" elements="65" coveredelements="30"/>
      </class>
      <line num="25" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="11"/>
      <line num="30" type="stmt" count="11"/>
      <line num="32" type="method" name="getIssues" visibility="public" complexity="1" crap="2" 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="37" type="stmt" count="0"/>
      <line num="40" type="method" name="pluralCheck" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="method" name="pluralFormsCheck" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="92" type="method" name="getPluralFormCount" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="105" type="method" name="getPluralForms" visibility="public" complexity="3" crap="3" count="8"/>
      <line num="107" type="stmt" count="8"/>
      <line num="109" type="stmt" count="8"/>
      <line num="110" type="stmt" count="7"/>
      <line num="112" type="stmt" count="7"/>
      <line num="114" type="stmt" count="7"/>
      <line num="116" type="stmt" count="7"/>
      <line num="118" type="stmt" count="7"/>
      <line num="121" type="stmt" count="7"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="8"/>
      <line num="127" type="stmt" count="8"/>
      <line num="128" 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="8"/>
      <line num="135" type="stmt" count="8"/>
      <line num="137" type="stmt" count="8"/>
      <line num="139" type="stmt" count="8"/>
      <line num="143" type="method" name="removeExplicitPluralForms" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="145" type="stmt" count="3"/>
      <line num="146" type="stmt" count="3"/>
      <line num="147" type="stmt" count="2"/>
      <line num="151" type="stmt" count="3"/>
      <metrics loc="154" ncloc="130" classes="1" methods="7" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="58" coveredstatements="26" elements="65" coveredelements="30"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/MediaWikiTimeListValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\MediaWikiTimeListValidator" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="46" elements="47" coveredelements="47"/>
      </class>
      <line num="19" type="method" name="getIssues" visibility="public" complexity="5" crap="5" count="6"/>
      <line num="20" type="stmt" 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="25" type="stmt" 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="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="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="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="4"/>
      <line num="51" type="stmt" count="4"/>
      <line num="52" type="stmt" 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="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <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="2"/>
      <line num="68" type="stmt" count="2"/>
      <line num="69" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <line num="72" type="stmt" count="2"/>
      <line num="73" type="stmt" count="2"/>
      <line num="75" type="stmt" count="2"/>
      <line num="79" type="stmt" count="4"/>
      <metrics loc="82" ncloc="74" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="46" elements="47" coveredelements="47"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/NewlineValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\NewlineValidator" namespace="global">
        <metrics complexity="11" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="31" elements="50" coveredelements="35"/>
      </class>
      <line num="19" type="method" name="getIssues" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="20" type="stmt" count="4"/>
      <line num="21" type="stmt" count="4"/>
      <line num="23" type="stmt" count="4"/>
      <line num="24" 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="30" type="stmt" count="4"/>
      <line num="33" type="method" name="getStartingNewLinesCount" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="34" type="stmt" count="4"/>
      <line num="37" type="method" name="getEndingNewLineCount" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="validateStartingNewline" visibility="protected" complexity="3" crap="3" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <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="3"/>
      <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="4"/>
      <line num="63" type="method" name="validateEndingNewline" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" 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="73" 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="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="85" type="method" name="createIssues" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="87" type="stmt" count="4"/>
      <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="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="95" type="stmt" count="2"/>
      <line num="98" type="stmt" count="4"/>
      <metrics loc="101" ncloc="90" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="44" coveredstatements="31" elements="50" coveredelements="35"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/NotEmptyValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\NotEmptyValidator" namespace="global">
        <metrics complexity="3" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="12" coveredelements="12"/>
      </class>
      <line num="12" type="method" name="getIssues" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="13" type="stmt" count="4"/>
      <line num="14" type="stmt" count="4"/>
      <line num="16" type="stmt" count="4"/>
      <line num="17" type="stmt" 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="26" type="stmt" count="4"/>
      <metrics loc="29" ncloc="29" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="12" coveredelements="12"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/NotSupportedValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\NotSupportedValidator" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="20" coveredelements="20"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="23" type="stmt" count="6"/>
      <line num="24" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="1"/>
      <line num="28" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="33" type="method" name="getIssues" visibility="public" complexity="2" crap="2" count="3"/>
      <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="45" type="stmt" count="3"/>
      <line num="48" type="stmt" count="3"/>
      <metrics loc="51" ncloc="46" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="20" coveredelements="20"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/NumericalParameterValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\NumericalParameterValidator" 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="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="13" type="stmt" count="4"/>
      <metrics loc="16" ncloc="11" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/PercentEscapeValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\PercentEscapeValidator" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
      </class>
      <line num="27" type="method" name="getIssues" visibility="public" complexity="2" crap="2" count="11"/>
      <line num="28" type="stmt" count="11"/>
      <line num="29" type="stmt" count="11"/>
      <line num="30" type="stmt" count="11"/>
      <line num="31" type="stmt" count="5"/>
      <line num="33" type="stmt" count="11"/>
      <metrics loc="36" ncloc="21" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/PrintfIndexedParameterValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\PrintfIndexedParameterValidator" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
      </class>
      <line num="21" type="method" name="getIssues" visibility="public" complexity="2" crap="2" count="15"/>
      <line num="22" type="stmt" count="15"/>
      <line num="23" type="stmt" count="15"/>
      <line num="24" type="stmt" count="15"/>
      <line num="25" type="stmt" count="9"/>
      <line num="27" type="stmt" count="15"/>
      <metrics loc="30" ncloc="21" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/PrintfValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\PrintfValidator" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="14" type="stmt" count="6"/>
      <metrics loc="17" ncloc="11" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/PythonInterpolationValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\PythonInterpolationValidator" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="14" type="stmt" count="4"/>
      <metrics loc="17" ncloc="11" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/PythonNamedParameterValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\PythonNamedParameterValidator" namespace="global">
        <metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
      </class>
      <line num="20" type="method" name="getIssues" visibility="public" complexity="2" crap="2" count="8"/>
      <line num="21" type="stmt" count="8"/>
      <line num="22" type="stmt" count="8"/>
      <line num="23" type="stmt" count="8"/>
      <line num="24" type="stmt" count="5"/>
      <line num="26" type="stmt" count="8"/>
      <metrics loc="29" ncloc="21" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="5" elements="6" coveredelements="6"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/ReplacementValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\ReplacementValidator" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="21" coveredelements="19"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="3" crap="3.04" count="5"/>
      <line num="24" type="stmt" count="5"/>
      <line num="25" type="stmt" count="5"/>
      <line num="26" type="stmt" count="5"/>
      <line num="27" type="stmt" count="3"/>
      <line num="30" type="stmt" count="2"/>
      <line num="31" type="stmt" count="0"/>
      <line num="35" type="method" name="getIssues" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="36" type="stmt" 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="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="52" type="stmt" count="2"/>
      <metrics loc="55" ncloc="48" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="19" coveredstatements="18" elements="21" coveredelements="19"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/SmartFormatPluralValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\SmartFormatPluralValidator" namespace="global">
        <metrics complexity="10" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="59" elements="62" coveredelements="60"/>
      </class>
      <line num="20" type="method" name="getIssues" visibility="public" complexity="8" crap="8" count="4"/>
      <line num="21" type="stmt" count="4"/>
      <line num="23" type="stmt" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="0"/>
      <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="35" type="stmt" count="4"/>
      <line num="36" type="stmt" count="4"/>
      <line num="37" type="stmt" count="4"/>
      <line num="39" type="stmt" count="4"/>
      <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="49" type="stmt" count="1"/>
      <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="57" type="stmt" count="4"/>
      <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="67" type="stmt" count="1"/>
      <line num="72" type="stmt" count="4"/>
      <line num="73" type="stmt" count="4"/>
      <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="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="93" type="stmt" count="4"/>
      <line num="96" type="method" name="getInsertables" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="102" type="stmt" count="2"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="108" type="stmt" count="2"/>
      <metrics loc="111" ncloc="103" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="59" elements="62" coveredelements="60"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/Validation/Validators/UnicodePluralValidator.php">
      <class name="MediaWiki\Extension\Translate\Validation\Validators\UnicodePluralValidator" namespace="global">
        <metrics complexity="19" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="54" elements="58" coveredelements="56"/>
      </class>
      <line num="21" type="method" name="getIssues" visibility="public" complexity="6" crap="6" count="7"/>
      <line num="22" type="stmt" count="7"/>
      <line num="25" type="stmt" count="7"/>
      <line num="27" type="stmt" count="7"/>
      <line num="28" type="stmt" count="7"/>
      <line num="29" type="stmt" count="7"/>
      <line num="30" type="stmt" count="7"/>
      <line num="32" 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="38" type="stmt" count="7"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="6"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <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="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="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="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="69" type="stmt" count="7"/>
      <line num="72" type="method" name="pluralPresenceCheck" visibility="private" complexity="7" crap="7.14" count="7"/>
      <line num="76" type="stmt" count="7"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="6"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="5"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="stmt" count="5"/>
      <line num="88" type="method" name="pluralFormCheck" visibility="private" complexity="6" crap="6" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="91" 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="97" type="stmt" count="5"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="1"/>
      <line num="101" type="stmt" count="3"/>
      <line num="104" type="stmt" count="1"/>
      <line num="108" type="stmt" count="3"/>
      <metrics loc="111" ncloc="97" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="55" coveredstatements="54" elements="58" coveredelements="56"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/ApertiumCxserverWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\ApertiumCxserverWebService" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="14" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="handlePairsForService" visibility="protected" complexity="3" crap="12" 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="26" type="stmt" count="0"/>
      <line num="29" type="method" name="handleServiceResponse" visibility="protected" complexity="2" crap="6" 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="35" type="stmt" count="0"/>
      <line num="38" type="method" name="getServiceName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <metrics loc="42" ncloc="34" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="0" elements="14" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/ApertiumWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\ApertiumWebService" namespace="global">
        <metrics complexity="13" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="47" coveredelements="0"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="method" name="getType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="38" type="method" name="mapCode" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="43" type="method" name="doPairs" visibility="protected" complexity="5" crap="30" 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="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="71" type="method" name="getQuery" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" 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="91" type="method" name="parseResponse" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <metrics loc="106" ncloc="92" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="41" coveredstatements="0" elements="47" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/CaighdeanWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\CaighdeanWebService" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="44" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="23" type="method" name="mapCode" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="28" type="method" name="doPairs" visibility="protected" complexity="1" crap="2" 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="34" type="stmt" count="0"/>
      <line num="38" type="method" name="getQuery" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="66" type="method" name="parseResponse" visibility="protected" complexity="6" crap="42" 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="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <metrics loc="99" ncloc="79" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="39" coveredstatements="0" elements="44" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/CxserverWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\CxserverWebService" namespace="global">
        <metrics complexity="10" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="30" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="2" crap="6" 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="30" type="method" name="getType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="method" name="mapCode" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="method" name="doPairs" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="method" name="getQuery" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="method" name="parseResponse" visibility="protected" complexity="2" crap="6" count="0"/>
      <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="70" type="stmt" count="0"/>
      <metrics loc="79" ncloc="71" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="0" elements="30" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/GoogleTranslateWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\GoogleTranslateWebService" namespace="global">
        <metrics complexity="16" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="0" elements="63" coveredelements="0"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="30" type="method" name="getType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="35" type="method" name="mapCode" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="51" type="method" name="isSupportedLanguagePair" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="61" type="method" name="doPairs" visibility="protected" complexity="5" crap="30" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" 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="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="91" type="method" name="getQuery" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="98" 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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="117" type="method" name="parseResponse" visibility="protected" complexity="2" crap="6" 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"/>
      <metrics loc="129" ncloc="110" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="56" coveredstatements="0" elements="63" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/MicrosoftWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\MicrosoftWebService" namespace="global">
        <metrics complexity="17" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="0" elements="86" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="28" type="method" name="getType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="method" name="mapCode" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="method" name="doPairs" visibility="protected" complexity="6" crap="42" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" 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="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="94" type="method" name="getQuery" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" 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="103" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" 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="132" type="method" name="parseResponse" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" 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="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="149" type="method" name="wrapUntranslatable" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="156" type="method" name="unwrapUntranslatable" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <metrics loc="161" ncloc="143" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="78" coveredstatements="0" elements="86" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/MintCxserverWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\MintCxserverWebService" namespace="global">
        <metrics complexity="8" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="18" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="handlePairsForService" visibility="protected" complexity="3" crap="12" 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="32" type="stmt" count="0"/>
      <line num="35" type="method" name="getServiceName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="39" type="method" name="handleServiceResponse" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" type="method" name="wrapUntranslatable" visibility="protected" complexity="3" crap="12" 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="54" type="stmt" count="0"/>
      <metrics loc="57" ncloc="45" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="0" elements="18" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/QueryAggregator.php">
      <class name="MediaWiki\Extension\Translate\WebService\QueryAggregator" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="0" elements="33" coveredelements="0"/>
      </class>
      <line num="27" type="method" name="addQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="39" type="method" name="getResponse" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="48" type="method" name="run" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="74" type="method" name="getMultiHttpQueries" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="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"/>
      <metrics loc="88" ncloc="66" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="0" elements="33" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/QueryAggregatorAware.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/Translate/src/WebService/RemoteTTMServerWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\RemoteTTMServerWebService" namespace="global">
        <metrics complexity="8" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="27" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="getType" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="23" type="method" name="mapCode" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="28" type="method" name="doPairs" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="33" type="method" name="getQuery" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" 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="52" type="method" name="parseResponse" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <metrics loc="66" ncloc="51" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="22" coveredstatements="0" elements="27" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/TranslationQuery.php">
      <class name="MediaWiki\Extension\Translate\WebService\TranslationQuery" namespace="global">
        <metrics complexity="13" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="0" elements="34" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="factory" visibility="public" complexity="1" crap="2" 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="30" type="method" name="postWithData" visibility="public" complexity="1" crap="2" 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="36" type="method" name="queryParameters" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="queryHeaders" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="46" type="method" name="timeout" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="56" type="method" name="attachProcessingInstructions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="61" type="method" name="getTimeout" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="65" type="method" name="getUrl" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="69" type="method" name="getMethod" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="73" type="method" name="getQueryParameters" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="method" name="getBody" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="81" type="method" name="getHeaders" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="90" type="method" name="getProcessingInstructions" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <metrics loc="94" ncloc="75" classes="1" methods="13" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="21" coveredstatements="0" elements="34" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/TranslationQueryResponse.php">
      <class name="MediaWiki\Extension\Translate\WebService\TranslationQueryResponse" namespace="global">
        <metrics complexity="6" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="17" coveredelements="0"/>
      </class>
      <line num="19" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="23" 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="32" type="method" name="getStatusCode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="36" type="method" name="getStatusMessage" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="44" type="method" name="getBody" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="52" type="method" name="getQuery" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <metrics loc="56" ncloc="46" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="0" elements="17" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/TranslationWebService.php">
      <class name="MediaWiki\Extension\Translate\WebService\TranslationWebService" namespace="global">
        <metrics complexity="29" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="133" coveredstatements="0" elements="147" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="factory" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" 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="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="94" type="method" name="getName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="105" type="method" name="getQueries" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" 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="116" type="stmt" count="0"/>
      <line num="125" type="method" name="getResultData" visibility="public" complexity="4" crap="20" 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="131" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" 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="141" type="stmt" count="0"/>
      <line num="179" type="method" name="getQuery" visibility="protected" complexity="0" crap="0" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="195" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="206" type="method" name="isSupportedLanguagePair" visibility="public" complexity="1" crap="2" 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="211" type="stmt" count="0"/>
      <line num="218" type="method" name="getSupportedLanguagePairs" visibility="protected" complexity="2" crap="6" 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="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="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="245" type="method" name="wrapUntranslatable" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="253" type="method" name="unwrapUntranslatable" visibility="protected" complexity="1" crap="2" 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="261" type="method" name="setLogger" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="277" type="method" name="checkTranslationServiceFailure" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" 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="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="312" type="method" name="reportTranslationServiceFailure" visibility="protected" complexity="4" crap="20" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="341" type="method" name="getObjectCache" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <metrics loc="349" ncloc="250" classes="1" methods="14" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="133" coveredstatements="0" elements="147" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/Translate/src/WebService/TranslationWebServiceConfigurationException.php">
      <class name="MediaWiki\Extension\Translate\WebService\TranslationWebServiceConfigurationException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="19" 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/Translate/src/WebService/TranslationWebServiceException.php">
      <class name="MediaWiki\Extension\Translate\WebService\TranslationWebServiceException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <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/Translate/src/WebService/TranslationWebServiceInvalidInputException.php">
      <class name="MediaWiki\Extension\Translate\WebService\TranslationWebServiceInvalidInputException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="21" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <metrics files="400" loc="59328" ncloc="49207" classes="342" methods="2430" coveredmethods="583" conditionals="0" coveredconditionals="0" statements="24886" coveredstatements="7142" elements="27316" coveredelements="7725"/>
  </project>
</coverage>
