{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:22:13",
  "duplicates" : [ {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/database/update/UpdateDatabaseDialogWrapper.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 114,
      "endLine" : 123,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/migrations/script/GenerateScriptDialogWrapper.kt",
        "extension" : "kt",
        "linesOfCode" : 113,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 128,
      "endLine" : 137,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/ui/DbConnectionItemRenderer.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 44,
      "endLine" : 50,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/ui/DbProviderItemRenderer.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/ui/DbConnectionItemRenderer.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/ui/DbConnectionItemRenderer.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 44,
      "endLine" : 50,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/ui/DbConnectionItemRenderer.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/ui/DbProviderItemRenderer.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/dbcontext/scaffold/ScaffoldDbContextDialogWrapper.kt",
        "extension" : "kt",
        "linesOfCode" : 251,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/migrations/add/AddMigrationDialogWrapper.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/database/update/UpdateDatabaseDialogWrapper.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 126,
      "endLine" : 133,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/features/dbcontext/scaffold/ScaffoldDbContextDialogWrapper.kt",
        "extension" : "kt",
        "linesOfCode" : 251,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 278,
      "endLine" : 285,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    } ]
  } ],
  "overallDuplication" : null
}