{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:55:39",
  "duplicates" : [ {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/PrecompiledHeader.cmake",
        "extension" : "cmake",
        "linesOfCode" : 266,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 1,
      "endLine" : 112,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/resources/cpp/PrecompiledHeader.cmake",
        "extension" : "cmake",
        "linesOfCode" : 258,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 258,
      "startLine" : 1,
      "endLine" : 112,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 84,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/PrecompiledHeader.cmake",
        "extension" : "cmake",
        "linesOfCode" : 266,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 120,
      "endLine" : 214,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/resources/cpp/PrecompiledHeader.cmake",
        "extension" : "cmake",
        "linesOfCode" : 258,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 258,
      "startLine" : 115,
      "endLine" : 209,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 65,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/PrecompiledHeader.cmake",
        "extension" : "cmake",
        "linesOfCode" : 266,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 221,
      "endLine" : 291,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/resources/cpp/PrecompiledHeader.cmake",
        "extension" : "cmake",
        "linesOfCode" : 258,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 258,
      "startLine" : 213,
      "endLine" : 283,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 47,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_core_cpp/src/main/reactive/ViewableList.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 57,
      "endLine" : 160,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_core_cpp/src/main/reactive/ViewableSet.h",
        "extension" : "h",
        "linesOfCode" : 210,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 50,
      "endLine" : 153,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 47,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_core_cpp/src/main/reactive/ViewableMap.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 58,
      "endLine" : 163,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_core_cpp/src/main/reactive/ViewableSet.h",
        "extension" : "h",
        "linesOfCode" : 210,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 52,
      "endLine" : 156,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_core_cpp/src/main/reactive/ViewableList.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 145,
      "startLine" : 59,
      "endLine" : 160,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_core_cpp/src/main/reactive/ViewableMap.h",
        "extension" : "h",
        "linesOfCode" : 260,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 58,
      "endLine" : 160,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 114,
      "endLine" : 153,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 407,
      "endLine" : 443,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 98,
      "endLine" : 132,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 170,
      "endLine" : 204,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextBasicTest.cs",
        "extension" : "cs",
        "linesOfCode" : 99,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 78,
      "endLine" : 104,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextEarlyDeliveryTest.cs",
        "extension" : "cs",
        "linesOfCode" : 123,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 127,
      "endLine" : 153,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/SequentialLifetimesTest.cs",
        "extension" : "cs",
        "linesOfCode" : 149,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 26,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/SequentialLifetimesTest.cs",
        "extension" : "cs",
        "linesOfCode" : 149,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 69,
      "endLine" : 98,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/AsyncRdMap.cs",
        "extension" : "cs",
        "linesOfCode" : 204,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 195,
      "endLine" : 233,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/AsyncRdSet.cs",
        "extension" : "cs",
        "linesOfCode" : 223,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 122,
      "startLine" : 217,
      "endLine" : 255,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Collections/Synchronized/TestSynchronizedList.cs",
        "extension" : "cs",
        "linesOfCode" : 34,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 16,
      "endLine" : 36,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Collections/Synchronized/TestSynchronizedSet.cs",
        "extension" : "cs",
        "linesOfCode" : 34,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 16,
      "endLine" : 36,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 186,
      "endLine" : 204,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 407,
      "endLine" : 424,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 391,
      "endLine" : 415,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 236
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 430,
      "endLine" : 454,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 595,
      "endLine" : 610,
      "cleanedStartLine" : 385,
      "cleanedEndLine" : 398
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 686,
      "endLine" : 701,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 460
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Utils/BitHacksTest.cs",
        "extension" : "cs",
        "linesOfCode" : 141,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 45,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Utils/BitHacksTest.cs",
        "extension" : "cs",
        "linesOfCode" : 141,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 64,
      "endLine" : 79,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Utils/BitHacksTest.cs",
        "extension" : "cs",
        "linesOfCode" : 141,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 9,
      "endLine" : 21,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Utils/BitHacksTest.cs",
        "extension" : "cs",
        "linesOfCode" : 141,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/AsyncRdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 185,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 210,
      "endLine" : 227,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/AsyncRdSet.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 179,
      "endLine" : 196,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/cpp/Cpp17Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1952,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1505,
      "startLine" : 577,
      "endLine" : 592,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 351
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 313,
      "endLine" : 328,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogLevelInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 22,
      "endLine" : 41,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetNotNullConditionalInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogTraceInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogWarnInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogTraceInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetNotNullConditionalInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogErrorInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogInfoInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogVerboseInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetNotNullConditionalInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogInfoInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetNotNullConditionalInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogInfoInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogLevelInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 22,
      "endLine" : 41,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogLevelInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 22,
      "endLine" : 41,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogVerboseInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogErrorInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogLevelInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 22,
      "endLine" : 41,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogInfoInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogTraceInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogInfoInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogVerboseInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogErrorInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetNotNullConditionalInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogLevelInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 22,
      "endLine" : 41,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogTraceInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogInfoInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogWarnInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-cross/src/main/kotlin/com/jetbrains/rd/cross/cases/client/CrossTest_AllEntities_KtClient.kt",
        "extension" : "kt",
        "linesOfCode" : 29,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 13,
      "endLine" : 34,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-cross/src/main/kotlin/com/jetbrains/rd/cross/cases/server/CrossTest_AllEntities_KtServer.kt",
        "extension" : "kt",
        "linesOfCode" : 30,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 14,
      "endLine" : 35,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogWarnInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetNotNullConditionalInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogLevelInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 28,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 22,
      "endLine" : 41,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogWarnInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextBasicTest.cs",
        "extension" : "cs",
        "linesOfCode" : 99,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 23,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextEarlyDeliveryTest.cs",
        "extension" : "cs",
        "linesOfCode" : 123,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 67,
      "endLine" : 95,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogErrorInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogVerboseInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogErrorInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogWarnInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogErrorInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogTraceInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogVerboseInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogWarnInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogTraceInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/StringInterpolation/JetLogVerboseInterpolatedStringHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 27,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 40,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdList.cs",
        "extension" : "cs",
        "linesOfCode" : 349,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 121,
      "endLine" : 139,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdMap.cs",
        "extension" : "cs",
        "linesOfCode" : 403,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 105,
      "endLine" : 123,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 647,
      "endLine" : 660,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 672,
      "endLine" : 684,
      "cleanedStartLine" : 394,
      "cleanedEndLine" : 403
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/cpp/Cpp17Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1952,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1505,
      "startLine" : 579,
      "endLine" : 592,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 351
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 206,
      "endLine" : 219,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdList.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 73,
      "endLine" : 88,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 257,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 74,
      "endLine" : 89,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 315,
      "endLine" : 328,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 206,
      "endLine" : 219,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 20,
      "endLine" : 32,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 143,
      "endLine" : 155,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework.Reflection/RdExtReflectionBindableBase.cs",
        "extension" : "cs",
        "linesOfCode" : 49,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 43,
      "endLine" : 58,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework.Reflection/RdReflectionBindableBase.cs",
        "extension" : "cs",
        "linesOfCode" : 50,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 48,
      "endLine" : 63,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 20,
      "endLine" : 32,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 108,
      "endLine" : 120,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 143,
      "endLine" : 155,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 108,
      "endLine" : 120,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 143,
      "endLine" : 155,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdList.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 225,
      "endLine" : 236,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdSet.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 81,
      "endLine" : 92,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/cpp/Cpp17Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1952,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1505,
      "startLine" : 894,
      "endLine" : 902,
      "cleanedStartLine" : 549,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 413,
      "endLine" : 421,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextBasicTest.cs",
        "extension" : "cs",
        "linesOfCode" : 99,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 64,
      "endLine" : 74,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextBasicTest.cs",
        "extension" : "cs",
        "linesOfCode" : 99,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 108,
      "endLine" : 120,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 20,
      "endLine" : 32,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdList.cs",
        "extension" : "cs",
        "linesOfCode" : 349,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 438,
      "endLine" : 454,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdSet.cs",
        "extension" : "cs",
        "linesOfCode" : 190,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 242,
      "endLine" : 258,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 555,
      "endLine" : 569,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 307
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 630,
      "endLine" : 644,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Cross/Cases/Client/CrossTest_AllEntities_CsClient.cs",
        "extension" : "cs",
        "linesOfCode" : 21,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 11,
      "endLine" : 23,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Cross/Cases/Server/CrossTest_AllEntities_CsServer.cs",
        "extension" : "cs",
        "linesOfCode" : 21,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 11,
      "endLine" : 23,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 123,
      "endLine" : 135,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 157,
      "endLine" : 169,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/HeavySingleContextHandler.cs",
        "extension" : "cs",
        "linesOfCode" : 209,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 233,
      "endLine" : 244,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdSet.cs",
        "extension" : "cs",
        "linesOfCode" : 190,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 102,
      "endLine" : 113,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextBasicTest.cs",
        "extension" : "cs",
        "linesOfCode" : 99,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 64,
      "endLine" : 74,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdContextEarlyDeliveryTest.cs",
        "extension" : "cs",
        "linesOfCode" : 123,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 127,
      "endLine" : 137,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework.Reflection/CollectionSerializers.cs",
        "extension" : "cs",
        "linesOfCode" : 87,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 31,
      "endLine" : 45,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework.Reflection/CollectionSerializers.cs",
        "extension" : "cs",
        "linesOfCode" : 87,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 62,
      "endLine" : 76,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdList.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 122,
      "endLine" : 132,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 257,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 136,
      "endLine" : 146,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Collections/JetPriorityQueue.cs",
        "extension" : "cs",
        "linesOfCode" : 298,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 277,
      "endLine" : 287,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Collections/JetPriorityQueue.cs",
        "extension" : "cs",
        "linesOfCode" : 298,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 304,
      "endLine" : 314,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 143,
      "endLine" : 153,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 108,
      "endLine" : 118,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/SocketWireTest.cs",
        "extension" : "cs",
        "linesOfCode" : 395,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 78,
      "endLine" : 87,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/SocketWireTest.cs",
        "extension" : "cs",
        "linesOfCode" : 395,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Lifetimes/LifetimeDefinition.cs",
        "extension" : "cs",
        "linesOfCode" : 796,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 522,
      "startLine" : 538,
      "endLine" : 548,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 227
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Lifetimes/LifetimeDefinition.cs",
        "extension" : "cs",
        "linesOfCode" : 796,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 522,
      "startLine" : 698,
      "endLine" : 708,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdMap.cs",
        "extension" : "cs",
        "linesOfCode" : 403,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 322,
      "endLine" : 335,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdProperty.cs",
        "extension" : "cs",
        "linesOfCode" : 248,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 157,
      "startLine" : 221,
      "endLine" : 234,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 1355,
      "endLine" : 1364,
      "cleanedStartLine" : 891,
      "cleanedEndLine" : 898
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 1141,
      "endLine" : 1150,
      "cleanedStartLine" : 743,
      "cleanedEndLine" : 750
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 529,
      "endLine" : 536,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 555,
      "endLine" : 562,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/cpp/Cpp17Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1952,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1505,
      "startLine" : 621,
      "endLine" : 631,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 300,
      "endLine" : 310,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Lifetimes/LifetimeDefinition.cs",
        "extension" : "cs",
        "linesOfCode" : 796,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 522,
      "startLine" : 639,
      "endLine" : 649,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Lifetimes/LifetimeDefinition.cs",
        "extension" : "cs",
        "linesOfCode" : 796,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 522,
      "startLine" : 655,
      "endLine" : 665,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/AsyncRdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 185,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 52,
      "endLine" : 63,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/AsyncRdSet.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 51,
      "endLine" : 62,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 20,
      "endLine" : 30,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 61,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Contexts/RdPerContextMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 208,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 379,
      "endLine" : 387,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 548,
      "endLine" : 556,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdProperty.kt",
        "extension" : "kt",
        "linesOfCode" : 250,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 216,
      "endLine" : 225,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdProperty.kt",
        "extension" : "kt",
        "linesOfCode" : 250,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 299,
      "endLine" : 309,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdList.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 49,
      "endLine" : 61,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 257,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 50,
      "endLine" : 62,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/tasks/util/FileSystem.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::buildSrc" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 8,
      "endLine" : 17,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-cross/src/main/kotlin/com/jetbrains/rd/cross/util/FileSystem.kt",
        "extension" : "kt",
        "linesOfCode" : 13,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 5,
      "endLine" : 14,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Core/Result.cs",
        "extension" : "cs",
        "linesOfCode" : 317,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 382,
      "endLine" : 390,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Core/Result.cs",
        "extension" : "cs",
        "linesOfCode" : 317,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 519,
      "endLine" : 527,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 379,
      "endLine" : 386,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 709,
      "endLine" : 716,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 425
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/collections/SynchronizedMap.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/collections/SynchronizedMap.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 166,
      "endLine" : 175,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/SocketWireTest.cs",
        "extension" : "cs",
        "linesOfCode" : 395,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 214,
      "endLine" : 220,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/SocketWireTest.cs",
        "extension" : "cs",
        "linesOfCode" : 395,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 254,
      "endLine" : 260,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 731,
      "endLine" : 740,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 440
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 750,
      "endLine" : 759,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdList.cs",
        "extension" : "cs",
        "linesOfCode" : 349,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 297,
      "endLine" : 306,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdProperty.cs",
        "extension" : "cs",
        "linesOfCode" : 248,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 157,
      "startLine" : 221,
      "endLine" : 230,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-text/src/main/kotlin/com/jetbrains/rd/rdtext/intrinsics/RdTextChange.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 8,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Text/Intrinsics/RdTextChange.cs",
        "extension" : "cs",
        "linesOfCode" : 68,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/collections/SynchronizedMap.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 540,
      "endLine" : 548,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/reactive/ConcurrentViewableSet.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 167,
      "endLine" : 175,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 351,
      "endLine" : 361,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/SetupFixture.cs",
        "extension" : "cs",
        "linesOfCode" : 14,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/SetupFixture.cs",
        "extension" : "cs",
        "linesOfCode" : 14,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 1,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/cpp/Cpp17Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1952,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1505,
      "startLine" : 346,
      "endLine" : 353,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 65,
      "endLine" : 72,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdList.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 209,
      "endLine" : 217,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 257,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 256,
      "endLine" : 264,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdList.cs",
        "extension" : "cs",
        "linesOfCode" : 349,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 297,
      "endLine" : 306,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdMap.cs",
        "extension" : "cs",
        "linesOfCode" : 403,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 322,
      "endLine" : 331,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 422,
      "endLine" : 432,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 497,
      "endLine" : 507,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 275
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 253,
      "endLine" : 263,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 337,
      "endLine" : 347,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdProperty.kt",
        "extension" : "kt",
        "linesOfCode" : 250,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 228,
      "endLine" : 239,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdProperty.kt",
        "extension" : "kt",
        "linesOfCode" : 250,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 312,
      "endLine" : 323,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 380,
      "endLine" : 388,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 453,
      "endLine" : 461,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdPropertyTest.cs",
        "extension" : "cs",
        "linesOfCode" : 112,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 95,
      "endLine" : 104,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdPropertyTest.cs",
        "extension" : "cs",
        "linesOfCode" : 112,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 120,
      "endLine" : 129,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 253,
      "endLine" : 259,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/kotlin/Kotlin11Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1011,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 802,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 139,
      "endLine" : 145,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 548,
      "endLine" : 555,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 709,
      "endLine" : 716,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 425
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/build.cmd",
        "extension" : "cmd",
        "linesOfCode" : 21,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "rd-cpp/buildtest.cmd",
        "extension" : "cmd",
        "linesOfCode" : 19,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 825,
      "endLine" : 833,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 499
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 846,
      "endLine" : 856,
      "cleanedStartLine" : 508,
      "cleanedEndLine" : 514
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/build.cmd",
        "extension" : "cmd",
        "linesOfCode" : 21,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 8,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "rd-cpp/buildtest.cmd",
        "extension" : "cmd",
        "linesOfCode" : 19,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 8,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Serialization/UnsafeReader.cs",
        "extension" : "cs",
        "linesOfCode" : 415,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 285,
      "endLine" : 292,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Serialization/UnsafeReader.cs",
        "extension" : "cs",
        "linesOfCode" : 415,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 338,
      "endLine" : 345,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 637,
      "endLine" : 643,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 662,
      "endLine" : 668,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 20,
      "endLine" : 26,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Reflection/ScalarTests.cs",
        "extension" : "cs",
        "linesOfCode" : 373,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 28,
      "endLine" : 36,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Reflection/ScalarTests.cs",
        "extension" : "cs",
        "linesOfCode" : 373,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_framework_cpp/src/main/protocol/Buffer.h",
        "extension" : "h",
        "linesOfCode" : 243,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 268,
      "endLine" : 279,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_framework_cpp/src/main/protocol/Buffer.h",
        "extension" : "h",
        "linesOfCode" : 243,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 282,
      "endLine" : 293,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Core/Result.cs",
        "extension" : "cs",
        "linesOfCode" : 317,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 167,
      "endLine" : 185,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Core/Result.cs",
        "extension" : "cs",
        "linesOfCode" : 317,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 191,
      "endLine" : 209,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/AsyncProperty.cs",
        "extension" : "cs",
        "linesOfCode" : 274,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 330,
      "endLine" : 343,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdProperty.cs",
        "extension" : "cs",
        "linesOfCode" : 248,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 157,
      "startLine" : 298,
      "endLine" : 311,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 157
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 360,
      "endLine" : 367,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 382,
      "endLine" : 389,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 360,
      "endLine" : 367,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 371,
      "endLine" : 378,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Tasks/RdTaskEx.cs",
        "extension" : "cs",
        "linesOfCode" : 113,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Tasks/RdTaskEx.cs",
        "extension" : "cs",
        "linesOfCode" : 113,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 40,
      "endLine" : 46,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Reflection/PolymorphicScalarTest.cs",
        "extension" : "cs",
        "linesOfCode" : 104,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Reflection/PolymorphicScalarTest.cs",
        "extension" : "cs",
        "linesOfCode" : 104,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 50,
      "endLine" : 56,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 275,
      "endLine" : 282,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 292,
      "endLine" : 299,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 663,
      "endLine" : 670,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 687,
      "endLine" : 694,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_framework_cpp/src/main/impl/RdSignal.h",
        "extension" : "h",
        "linesOfCode" : 102,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "rd-cpp/src/rd_framework_cpp/src/main/task/RdCall.h",
        "extension" : "h",
        "linesOfCode" : 108,
        "components" : [ "primary::rd-cpp" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 436,
      "endLine" : 445,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 524,
      "endLine" : 533,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 371,
      "endLine" : 378,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 382,
      "endLine" : 389,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 397,
      "endLine" : 406,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 524,
      "endLine" : 533,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 573,
      "endLine" : 582,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 648,
      "endLine" : 657,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTest.cs",
        "extension" : "cs",
        "linesOfCode" : 201,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 65,
      "endLine" : 72,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTest.cs",
        "extension" : "cs",
        "linesOfCode" : 201,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 170,
      "endLine" : 177,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 207,
      "endLine" : 214,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdCollectionsTest.cs",
        "extension" : "cs",
        "linesOfCode" : 606,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 480,
      "startLine" : 227,
      "endLine" : 234,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/cpp/Cpp17Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1952,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1505,
      "startLine" : 491,
      "endLine" : 497,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 289
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-gen/src/main/kotlin/com/jetbrains/rd/generator/nova/csharp/CSharp50Generator.kt",
        "extension" : "kt",
        "linesOfCode" : 1174,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 944,
      "startLine" : 226,
      "endLine" : 232,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdList.kt",
        "extension" : "kt",
        "linesOfCode" : 212,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 257,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 273,
      "endLine" : 279,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdMap.kt",
        "extension" : "kt",
        "linesOfCode" : 257,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 273,
      "endLine" : 279,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-framework/src/main/kotlin/com/jetbrains/rd/framework/impl/RdSet.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 81,
      "endLine" : 87,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 349,
      "endLine" : 356,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 382,
      "endLine" : 389,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/SequentialLifetimesTest.cs",
        "extension" : "cs",
        "linesOfCode" : 149,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 14,
      "endLine" : 21,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/SequentialLifetimesTest.cs",
        "extension" : "cs",
        "linesOfCode" : 149,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 57,
      "endLine" : 64,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 349,
      "endLine" : 356,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 371,
      "endLine" : 378,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 1328,
      "endLine" : 1335,
      "cleanedStartLine" : 763,
      "cleanedEndLine" : 768
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Lifetimes/LifetimeTest.cs",
        "extension" : "cs",
        "linesOfCode" : 1154,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 885,
      "startLine" : 1352,
      "endLine" : 1359,
      "cleanedStartLine" : 779,
      "cleanedEndLine" : 784
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Util/BitHacks.cs",
        "extension" : "cs",
        "linesOfCode" : 177,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 223,
      "endLine" : 229,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Util/BitHacks.cs",
        "extension" : "cs",
        "linesOfCode" : 177,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/SocketWire.cs",
        "extension" : "cs",
        "linesOfCode" : 589,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 377,
      "startLine" : 548,
      "endLine" : 556,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/SocketWire.cs",
        "extension" : "cs",
        "linesOfCode" : 589,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 377,
      "startLine" : 673,
      "endLine" : 681,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 321
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Text/Impl/Intrinsics/RdAssertion.cs",
        "extension" : "cs",
        "linesOfCode" : 76,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 81,
      "endLine" : 90,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 648,
      "endLine" : 657,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Serialization/NativeMemoryPool.cs",
        "extension" : "cs",
        "linesOfCode" : 227,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Serialization/NativeMemoryPool.cs",
        "extension" : "cs",
        "linesOfCode" : 227,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Collections/Synchronized/TestSynchronizedDictionary.cs",
        "extension" : "cs",
        "linesOfCode" : 39,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Collections/Synchronized/TestSynchronizedList.cs",
        "extension" : "cs",
        "linesOfCode" : 34,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 349,
      "endLine" : 356,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Diagnostics/Assertion.cs",
        "extension" : "cs",
        "linesOfCode" : 364,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 360,
      "endLine" : 367,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/AsyncProperty.cs",
        "extension" : "cs",
        "linesOfCode" : 274,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 117,
      "endLine" : 128,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Impl/RdProperty.cs",
        "extension" : "cs",
        "linesOfCode" : 248,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 157,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/threading/SchedulerUtil.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/threading/SingleThreadScheduler.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::rd-kt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Collections/Synchronized/TestSynchronizedDictionary.cs",
        "extension" : "cs",
        "linesOfCode" : 39,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.Lifetimes/Collections/Synchronized/TestSynchronizedSet.cs",
        "extension" : "cs",
        "linesOfCode" : 34,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdListTest.cs",
        "extension" : "cs",
        "linesOfCode" : 104,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 113,
      "endLine" : 122,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/RdMapTest.cs",
        "extension" : "cs",
        "linesOfCode" : 115,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 123,
      "endLine" : 132,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Collections/Synchronized/SynchronizedDictionary.cs",
        "extension" : "cs",
        "linesOfCode" : 216,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 175,
      "endLine" : 180,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "rd-net/Lifetimes/Collections/Viewable/ViewableMap.cs",
        "extension" : "cs",
        "linesOfCode" : 119,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/Test.Cross/Base/CrossTest_CsServer_Base.cs",
        "extension" : "cs",
        "linesOfCode" : 45,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 17,
      "endLine" : 23,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/SocketWireTest.cs",
        "extension" : "cs",
        "linesOfCode" : 395,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rd-net/RdFramework/Text/Impl/Intrinsics/RdAssertion.cs",
        "extension" : "cs",
        "linesOfCode" : 76,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 81,
      "endLine" : 90,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "rd-net/Test.RdFramework/Interning/InterningTestModel.cs",
        "extension" : "cs",
        "linesOfCode" : 497,
        "components" : [ "primary::rd-net" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 573,
      "endLine" : 582,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    } ]
  } ],
  "overallDuplication" : null
}