{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:36:33",
  "duplicates" : [ {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 98,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 71,
      "endLine" : 103,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "ui/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 100,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 73,
      "endLine" : 105,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 127,
      "endLine" : 145,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 305,
      "endLine" : 323,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 98,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 46,
      "endLine" : 66,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "ui/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 100,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 48,
      "endLine" : 68,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 98,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 7,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "ui/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 100,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 7,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 98,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "ui/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 100,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 236,
      "endLine" : 245,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 266,
      "endLine" : 275,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/ColorPaletteImpl.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/ColorPaletteImpl.java",
        "extension" : "java",
        "linesOfCode" : 57,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ui/src/com/jediterm/terminal/ui/JediTermWidget.java",
        "extension" : "java",
        "linesOfCode" : 497,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 368,
      "startLine" : 517,
      "endLine" : 529,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "ui/src/com/jediterm/terminal/ui/JediTermWidget.java",
        "extension" : "java",
        "linesOfCode" : 497,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 368,
      "startLine" : 548,
      "endLine" : 560,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 52,
      "endLine" : 60,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 137,
      "endLine" : 145,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 163,
      "endLine" : 169,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 193,
      "endLine" : 199,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "ui/src/com/jediterm/terminal/ui/JediTermWidget.java",
        "extension" : "java",
        "linesOfCode" : 497,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 368,
      "startLine" : 505,
      "endLine" : 515,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "ui/src/com/jediterm/terminal/ui/JediTermWidget.java",
        "extension" : "java",
        "linesOfCode" : 497,
        "components" : [ "primary::ui" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 368,
      "startLine" : 536,
      "endLine" : 546,
      "cleanedStartLine" : 328,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 52,
      "endLine" : 60,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 315,
      "endLine" : 323,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 236,
      "endLine" : 243,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 266,
      "endLine" : 273,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/core/typeahead/TerminalTypeAheadManager.java",
        "extension" : "java",
        "linesOfCode" : 508,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 397,
      "startLine" : 43,
      "endLine" : 49,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/core/typeahead/TerminalTypeAheadManager.java",
        "extension" : "java",
        "linesOfCode" : 508,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 397,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 337,
      "endLine" : 342,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 266,
      "endLine" : 273,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/core/typeahead/TerminalTypeAheadManager.java",
        "extension" : "java",
        "linesOfCode" : 508,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 397,
      "startLine" : 318,
      "endLine" : 324,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/util/CharUtils.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "core/src/com/jediterm/terminal/emulator/charset/CharacterSet.java",
        "extension" : "java",
        "linesOfCode" : 380,
        "components" : [ "primary::core" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 236,
      "endLine" : 243,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  } ],
  "overallDuplication" : null
}