<?xml version='1.0' encoding='utf-8'?>
<XDFFORMAT version="1.80">
  <XDFHEADER>
    <flags>0x1</flags>
    <fileversion>3.1.0-injector-pressure</fileversion>
    <deftitle>5C2ACYB 2005 E-350 5.4L E85 Code-Traced v3.1.0</deftitle>
    <description>Final code-traced E85 calibration definition for strategy 5C2ACYB. Primary E85 fuel control is the paired big-endian IEEE-754 stoichiometric AFR constants at 0xF4970 and 0xF4974; edit both to the same value. Startup fuel surfaces are exposed because their lookup paths are code-referenced, but their exact mode identities remain unresolved. Base spark and active correction paths are exposed; stock-zero alternate paths remain explicitly marked DO NOT POPULATE. No speculative injector, transient, torque, rev-limit, or power-enrichment definitions are included. Added the contiguous injector characterization block at 0xE31A8-0xE32C4: injector voltage offset and four differential-pressure compensation functions. Because the code export does not preserve Ford scalar names, pressure functions are labeled A-D rather than falsely assigning low-slope, high-slope, breakpoint, or offset identity. There is no fabricated single fuel-pressure scalar; this strategy stores pressure breakpoints and multipliers as functions.</description>
    <author>Microsoft Copilot with Eric Floth</author>
    <BASEOFFSET offset="0" subtract="0" />
    <DEFAULTS datasizeinbits="8" sigdigits="3" outputtype="1" signed="0" lsbfirst="0" float="0" />
    <REGION type="0xFFFFFFFF" startaddress="0" size="0x100000" regionflags="0" name="Binary File" desc="1 MiB image" />
    <CATEGORY index="0x1" name="01 Confirmed Fuel" />
    <CATEGORY index="0x2" name="02 Code-Referenced Startup Fuel" />
    <CATEGORY index="0x3" name="03 Confirmed Active Spark" />
    <CATEGORY index="0x4" name="04 Active Spark Corrections - Identity Unresolved" />
    <CATEGORY index="0x5" name="05 Active Zero-Stock Spark Paths - Do Not Populate" />
    <CATEGORY index="0x6" name="99 Scaling Functions" />
    <CATEGORY index="0x7" name="00 E85 Core Fuel Setup" />
    <CATEGORY index="0x8" name="98 Validation and Warnings" />
    <CATEGORY index="0x9" name="01 Injector Characterization and Pressure" />
  </XDFHEADER>
  <XDFCONSTANT uniqueid="0xf4970">
    <title>E85 Stoichiometric AFR A [EDIT BOTH IDENTICALLY]</title>
    <description>Confirmed direct fuel stoichiometry constant, big-endian 32-bit float. Stock value is 14.640 AFR. For a fixed-fuel E85 calibration, enter the measured/selected stoichiometric AFR and keep A and B identical. Do not use this field as a commanded wide-open-throttle AFR target. Verify fuel pressure, injector duty cycle, lambda, trims, and cold-start behavior after changing fuel.</description>
    <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xf4970" mmedelementsizebits="32" mmedmajorstridebits="0" mmedminorstridebits="0" />
    <units>AFR</units>
    <decimalpl>3</decimalpl>
    <datatype>0</datatype>
    <unittype>0</unittype>
    <DALINK index="0" />
    <MATH equation="X">
      <VAR id="X" />
    </MATH>
    <CATEGORYMEM index="0" category="0x7" />
  </XDFCONSTANT>
  <XDFCONSTANT uniqueid="0xf4974">
    <title>E85 Stoichiometric AFR B [EDIT BOTH IDENTICALLY]</title>
    <description>Confirmed direct fuel stoichiometry constant, big-endian 32-bit float. Stock value is 14.640 AFR. For a fixed-fuel E85 calibration, enter the measured/selected stoichiometric AFR and keep A and B identical. Do not use this field as a commanded wide-open-throttle AFR target. Verify fuel pressure, injector duty cycle, lambda, trims, and cold-start behavior after changing fuel.</description>
    <EMBEDDEDDATA mmedtypeflags="0x10101" mmedaddress="0xf4974" mmedelementsizebits="32" mmedmajorstridebits="0" mmedminorstridebits="0" />
    <units>AFR</units>
    <decimalpl>3</decimalpl>
    <datatype>0</datatype>
    <unittype>0</unittype>
    <DALINK index="0" />
    <MATH equation="X">
      <VAR id="X" />
    </MATH>
    <CATEGORYMEM index="0" category="0x7" />
  </XDFCONSTANT>
  <XDFFUNCTION uniqueid="0xe92ec" flags="0">
    <title>Cold Temperature/State Function</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc5838" mmedelementsizebits="32" mmedcolcount="10" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>10</indexcount>
      <decimalpl>1</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc583c" mmedelementsizebits="32" mmedcolcount="10" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>10</indexcount>
      <decimalpl>1</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xe9304" flags="0">
    <title>Cold Run-Time Function</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc5768" mmedelementsizebits="32" mmedcolcount="8" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <decimalpl>1</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc576c" mmedelementsizebits="32" mmedcolcount="8" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <decimalpl>1</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xeea8c" flags="0">
    <title>Spark RPM Function</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5c88" mmedelementsizebits="32" mmedcolcount="11" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>11</indexcount>
      <decimalpl>0</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5c8c" mmedelementsizebits="32" mmedcolcount="11" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>11</indexcount>
      <decimalpl>0</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xeea9c" flags="0">
    <title>Spark Load Function</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5c10" mmedelementsizebits="32" mmedcolcount="9" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>9</indexcount>
      <decimalpl>3</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5c14" mmedelementsizebits="32" mmedcolcount="9" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>9</indexcount>
      <decimalpl>3</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xeeaac" flags="0">
    <title>Spark Correction Axis A</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5d68" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5d6c" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xeea94" flags="0">
    <title>Spark Correction Axis B</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5c58" mmedelementsizebits="32" mmedcolcount="6" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5c5c" mmedelementsizebits="32" mmedcolcount="6" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xeea84" flags="0">
    <title>Spark Correction Axis C</title>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5ce0" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5ce4" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x6" />
  </XDFFUNCTION>
  <XDFTABLE uniqueid="0xc5d58" flags="0">
    <title>Startup Fuel Surface A [CODE-REFERENCED]</title>
    <description>Code-referenced startup/cold-fuel multiplier surface. Exact operating-mode identity remains unresolved, so preserve a stock BIN and change only in small, logged steps after stoichiometry is correct. Use lambda and crank/start logs to determine which surface is active. Values are multipliers, not AFR targets.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>10</indexcount>
      <embedinfo type="2" linkobjid="0xe92ec" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <embedinfo type="2" linkobjid="0xe9304" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc5c18" mmedelementsizebits="32" mmedrowcount="8" mmedcolcount="10" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>Multiplier</units>
      <decimalpl>3</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x2" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xc5ab8" flags="0">
    <title>Startup Fuel Surface B [CODE-REFERENCED]</title>
    <description>Code-referenced startup/cold-fuel multiplier surface. Exact operating-mode identity remains unresolved, so preserve a stock BIN and change only in small, logged steps after stoichiometry is correct. Use lambda and crank/start logs to determine which surface is active. Values are multipliers, not AFR targets.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>10</indexcount>
      <embedinfo type="2" linkobjid="0xe92ec" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <embedinfo type="2" linkobjid="0xe9304" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc5978" mmedelementsizebits="32" mmedrowcount="8" mmedcolcount="10" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>Correction</units>
      <decimalpl>3</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x2" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xc63e8" flags="0">
    <title>Startup Fuel Surface C [CODE-REFERENCED]</title>
    <description>Code-referenced startup/cold-fuel multiplier surface. Exact operating-mode identity remains unresolved, so preserve a stock BIN and change only in small, logged steps after stoichiometry is correct. Use lambda and crank/start logs to determine which surface is active. Values are multipliers, not AFR targets.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>10</indexcount>
      <embedinfo type="2" linkobjid="0xe92ec" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <embedinfo type="2" linkobjid="0xe9304" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc62a8" mmedelementsizebits="32" mmedrowcount="8" mmedcolcount="10" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>Factor</units>
      <decimalpl>3</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x2" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xc6148" flags="0">
    <title>Startup Fuel Surface D [CODE-REFERENCED]</title>
    <description>Code-referenced startup/cold-fuel multiplier surface. Exact operating-mode identity remains unresolved, so preserve a stock BIN and change only in small, logged steps after stoichiometry is correct. Use lambda and crank/start logs to determine which surface is active. Values are multipliers, not AFR targets.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>10</indexcount>
      <embedinfo type="2" linkobjid="0xe92ec" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <embedinfo type="2" linkobjid="0xe9304" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xc6008" mmedelementsizebits="32" mmedrowcount="8" mmedcolcount="10" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>Correction</units>
      <decimalpl>3</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x2" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe5d18" flags="0">
    <title>Base / Borderline Spark [CODE-CONFIRMED ACTIVE]</title>
    <description>Code-confirmed active base/borderline spark surface in degrees BTDC. E85 does not require blanket spark addition. Establish correct fueling first, retain knock control, and tune only from repeatable load/RPM data. Axis functions are linked below.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>11</indexcount>
      <embedinfo type="2" linkobjid="0xeea8c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>9</indexcount>
      <embedinfo type="2" linkobjid="0xeea9c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5dd8" mmedelementsizebits="32" mmedrowcount="9" mmedcolcount="11" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>deg BTDC</units>
      <decimalpl>2</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x3" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe5d28" flags="0">
    <title>Spark Correction A [ACTIVE ADDITIVE]</title>
    <description>Active additive; stock 0 to 5.75 deg. Preserve the stock shape until the correction input and enable state are confirmed in logs. Do not use unresolved correction tables as a substitute for the active base spark surface.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <embedinfo type="2" linkobjid="0xeeaac" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>5</indexcount>
      <embedinfo type="2" linkobjid="0xeea94" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5f64" mmedelementsizebits="32" mmedrowcount="5" mmedcolcount="6" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>deg</units>
      <decimalpl>2</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x4" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe5d38" flags="0">
    <title>Spark Correction B [ACTIVE WEIGHTING]</title>
    <description>Active blended weighting; stock approx. 0.544 to 0.845. Preserve the stock shape until the correction input and enable state are confirmed in logs. Do not use unresolved correction tables as a substitute for the active base spark surface.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <embedinfo type="2" linkobjid="0xeea84" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>5</indexcount>
      <embedinfo type="2" linkobjid="0xeea94" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe5fdc" mmedelementsizebits="32" mmedrowcount="5" mmedcolcount="6" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>factor</units>
      <decimalpl>3</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x4" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe5d48" flags="0">
    <title>Spark Correction C [ACTIVE PATH, ZERO STOCK]</title>
    <description>Active code path with stock table values equal to zero. DO NOT POPULATE for E85 tuning unless the path enable and blend weighting are independently resolved. Leaving these tables at stock zero prevents accidental spark addition through an unidentified path.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <embedinfo type="2" linkobjid="0xeea84" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>5</indexcount>
      <embedinfo type="2" linkobjid="0xeea94" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe6054" mmedelementsizebits="32" mmedrowcount="5" mmedcolcount="6" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>correction</units>
      <decimalpl>3</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x5" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe5d58" flags="0">
    <title>Spark Correction D [ACTIVE PATH, ZERO STOCK]</title>
    <description>Active code path with stock table values equal to zero. DO NOT POPULATE for E85 tuning unless the path enable and blend weighting are independently resolved. Leaving these tables at stock zero prevents accidental spark addition through an unidentified path.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>11</indexcount>
      <embedinfo type="2" linkobjid="0xeea8c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>9</indexcount>
      <embedinfo type="2" linkobjid="0xeea9c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe60cc" mmedelementsizebits="32" mmedrowcount="9" mmedcolcount="11" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>deg</units>
      <decimalpl>2</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x5" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe6570" flags="0">
    <title>Alternate Spark Blend A [ACTIVE PATH, ZERO STOCK]</title>
    <description>Active code path with stock table values equal to zero. DO NOT POPULATE for E85 tuning unless the path enable and blend weighting are independently resolved. Leaving these tables at stock zero prevents accidental spark addition through an unidentified path.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>11</indexcount>
      <embedinfo type="2" linkobjid="0xeea8c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>9</indexcount>
      <embedinfo type="2" linkobjid="0xeea9c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe6258" mmedelementsizebits="32" mmedrowcount="9" mmedcolcount="11" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>deg</units>
      <decimalpl>2</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x5" />
  </XDFTABLE>
  <XDFTABLE uniqueid="0xe6580" flags="0">
    <title>Alternate Spark Blend B [ACTIVE PATH, ZERO STOCK]</title>
    <description>Active code path with stock table values equal to zero. DO NOT POPULATE for E85 tuning unless the path enable and blend weighting are independently resolved. Leaving these tables at stock zero prevents accidental spark addition through an unidentified path.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>11</indexcount>
      <embedinfo type="2" linkobjid="0xeea8c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedelementsizebits="8" mmedmajorstridebits="-32" mmedminorstridebits="0" />
      <indexcount>9</indexcount>
      <embedinfo type="2" linkobjid="0xeea9c" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="z">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe63e4" mmedelementsizebits="32" mmedrowcount="9" mmedcolcount="11" mmedmajorstridebits="0" mmedminorstridebits="0" />
      <units>deg</units>
      <decimalpl>2</decimalpl>
      <datatype>0</datatype>
      <unittype>0</unittype>
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x5" />
  </XDFTABLE>
  <XDFFUNCTION uniqueid="0xe31a8" flags="0">
    <title>Injector Voltage Offset vs Battery Voltage [CONFIRMED STRUCTURE]</title>
    <description>Eight-point interleaved injector offset function. X is battery voltage; Y is stock offset in seconds. Replace only with characterized injector data for the same differential pressure basis.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe31a8" mmedelementsizebits="32" mmedcolcount="8" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <units>V</units>
      <decimalpl>1</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe31ac" mmedelementsizebits="32" mmedcolcount="8" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>8</indexcount>
      <units>s</units>
      <decimalpl>6</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x9" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xe31f8" flags="0">
    <title>Injector Differential-Pressure Compensation A [IDENTITY UNRESOLVED]</title>
    <description>Seven-point pressure/multiplier function. Stock unity occurs at approximately 39.09 psid. Structure and pressure role are strongly indicated by the breakpoint/multiplier pattern; exact Ford identity is not assigned without a symbol-bearing calibration definition.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe31f8" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <units>psid</units>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe31fc" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <units>Multiplier</units>
      <decimalpl>4</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x9" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xe3230" flags="0">
    <title>Injector Differential-Pressure Compensation B [IDENTITY UNRESOLVED]</title>
    <description>Six-point pressure/multiplier function normalized near 39.10 psid. Keep paired with the injector data set; do not treat this as commanded rail pressure.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe3230" mmedelementsizebits="32" mmedcolcount="6" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <units>psid</units>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe3234" mmedelementsizebits="32" mmedcolcount="6" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <units>Multiplier</units>
      <decimalpl>4</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x9" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xe3260" flags="0">
    <title>Injector Differential-Pressure Compensation C [IDENTITY UNRESOLVED]</title>
    <description>Six-point pressure/multiplier function normalized near 39.10 psid. Keep paired with the injector data set; do not treat this as commanded rail pressure.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe3260" mmedelementsizebits="32" mmedcolcount="6" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <units>psid</units>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe3264" mmedelementsizebits="32" mmedcolcount="6" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>6</indexcount>
      <units>Multiplier</units>
      <decimalpl>4</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x9" />
  </XDFFUNCTION>
  <XDFFUNCTION uniqueid="0xe3290" flags="0">
    <title>Injector Differential-Pressure Compensation D [IDENTITY UNRESOLVED]</title>
    <description>Seven-point pressure/multiplier function, stock unity across the defined range. Preserve unless exact injector characterization requires a known replacement curve.</description>
    <XDFAXIS id="x" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe3290" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <units>psid</units>
      <decimalpl>2</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <XDFAXIS id="y" uniqueid="0">
      <EMBEDDEDDATA mmedtypeflags="0x10100" mmedaddress="0xe3294" mmedelementsizebits="32" mmedcolcount="7" mmedmajorstridebits="64" mmedminorstridebits="0" />
      <indexcount>7</indexcount>
      <units>Multiplier</units>
      <decimalpl>4</decimalpl>
      <embedinfo type="1" />
      <datatype>0</datatype>
      <unittype>0</unittype>
      <DALINK index="0" />
      <MATH equation="X">
        <VAR id="X" />
      </MATH>
    </XDFAXIS>
    <CATEGORYMEM index="0" category="0x9" />
  </XDFFUNCTION>
</XDFFORMAT>