{
  "title" : "Duplication",
  "timestamp" : "2025-04-14 12:05:16",
  "duplicates" : [ {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 251,
      "endLine" : 273,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 390,
      "endLine" : 412,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 370
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 475,
      "endLine" : 484,
      "cleanedStartLine" : 430,
      "cleanedEndLine" : 439
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 497,
      "endLine" : 506,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 461
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 351,
      "endLine" : 359,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 318
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 390,
      "endLine" : 398,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 356
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 251,
      "endLine" : 259,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 223
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 351,
      "endLine" : 359,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 318
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "leanpkg.toml",
        "extension" : "toml",
        "linesOfCode" : 8,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "leanpkg_miniF2F.toml",
        "extension" : "toml",
        "linesOfCode" : 8,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 251,
      "endLine" : 258,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 355
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 351,
      "endLine" : 358,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "leanpkg.toml",
        "extension" : "toml",
        "linesOfCode" : 8,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 8,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "leanpkg_mathlib.toml",
        "extension" : "toml",
        "linesOfCode" : 7,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 8,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 297,
      "endLine" : 303,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 436,
      "endLine" : 442,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 399
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "leanpkg_mathlib.toml",
        "extension" : "toml",
        "linesOfCode" : 7,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 8,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "leanpkg_miniF2F.toml",
        "extension" : "toml",
        "linesOfCode" : 8,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 8,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/util/io.lean",
        "extension" : "lean",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "src/util/io.lean",
        "extension" : "lean",
        "linesOfCode" : 51,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 32,
      "endLine" : 38,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 279,
      "endLine" : 284,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "src/repl.lean",
        "extension" : "lean",
        "linesOfCode" : 502,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 502,
      "startLine" : 418,
      "endLine" : 423,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 381
    } ]
  } ],
  "overallDuplication" : null
}