{
  "title" : "Duplication",
  "timestamp" : "2025-04-14 11:46:45",
  "duplicates" : [ {
    "blockSize" : 624,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 810,
      "endLine" : 1648,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 1166
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 844,
      "endLine" : 1686,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 1181
    } ]
  }, {
    "blockSize" : 329,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 366,
      "endLine" : 808,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 541
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 400,
      "endLine" : 842,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 556
    } ]
  }, {
    "blockSize" : 202,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 370,
      "endLine" : 634,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 418
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 314,
      "endLine" : 578,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 395
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 662,
      "endLine" : 854,
      "cleanedStartLine" : 440,
      "cleanedEndLine" : 594
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 607,
      "endLine" : 799,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 572
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2194,
      "endLine" : 2293,
      "cleanedStartLine" : 1633,
      "cleanedEndLine" : 1704
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2419,
      "endLine" : 2518,
      "cleanedStartLine" : 1792,
      "cleanedEndLine" : 1863
    } ]
  }, {
    "blockSize" : 68,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_classify_nosse2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 126,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 8,
      "endLine" : 135,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_classify_sse2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 128,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 14,
      "endLine" : 141,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 62,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/include/ViZDoomDefines.h",
        "extension" : "h",
        "linesOfCode" : 189,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 116,
      "endLine" : 177,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/java_classes/enums/GameVariable.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 3,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 62,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 187,
      "endLine" : 268,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 223,
      "endLine" : 305,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 55,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 295,
      "endLine" : 368,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 239,
      "endLine" : 312,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 285,
      "endLine" : 359,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 208
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 323,
      "endLine" : 397,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 1149,
      "endLine" : 1218,
      "cleanedStartLine" : 702,
      "cleanedEndLine" : 744
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 244,
      "endLine" : 313,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 419,
      "endLine" : 478,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 956,
      "endLine" : 1015,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 608
    } ]
  }, {
    "blockSize" : 42,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 13,
      "endLine" : 92,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.re",
        "extension" : "re",
        "linesOfCode" : 183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 12,
      "endLine" : 109,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 42,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 207,
      "endLine" : 256,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 408,
      "endLine" : 457,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 41,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 229,
      "endLine" : 293,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 174,
      "endLine" : 237,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 871,
      "endLine" : 912,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 658
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 719,
      "endLine" : 760,
      "cleanedStartLine" : 508,
      "cleanedEndLine" : 544
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_video.mm",
        "extension" : "mm",
        "linesOfCode" : 901,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 333,
      "endLine" : 381,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/sdlvideo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 634,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 142,
      "endLine" : 190,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 871,
      "endLine" : 912,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 658
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 774,
      "endLine" : 815,
      "cleanedStartLine" : 530,
      "cleanedEndLine" : 566
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 806,
      "endLine" : 847,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 609
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 668,
      "endLine" : 709,
      "cleanedStartLine" : 468,
      "cleanedEndLine" : 503
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1041,
      "endLine" : 1087,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 783
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 845,
      "endLine" : 891,
      "cleanedStartLine" : 605,
      "cleanedEndLine" : 640
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 891,
      "endLine" : 941,
      "cleanedStartLine" : 625,
      "cleanedEndLine" : 660
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 837,
      "endLine" : 887,
      "cleanedStartLine" : 602,
      "cleanedEndLine" : 637
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_maputl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1100,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 751,
      "startLine" : 1253,
      "endLine" : 1319,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 609
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sight.cpp",
        "extension" : "cpp",
        "linesOfCode" : 497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 500,
      "endLine" : 566,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 806,
      "endLine" : 847,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 609
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 723,
      "endLine" : 764,
      "cleanedStartLine" : 490,
      "cleanedEndLine" : 525
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/include/ViZDoomDefines.h",
        "extension" : "h",
        "linesOfCode" : 189,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 65,
      "endLine" : 110,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/java_classes/enums/ScreenResolution.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 3,
      "endLine" : 48,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 745,
      "endLine" : 786,
      "cleanedStartLine" : 524,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 607,
      "endLine" : 648,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 451
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 745,
      "endLine" : 786,
      "cleanedStartLine" : 524,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 662,
      "endLine" : 703,
      "cleanedStartLine" : 440,
      "cleanedEndLine" : 473
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1041,
      "endLine" : 1083,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 780
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 899,
      "endLine" : 941,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 660
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 132,
      "endLine" : 191,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 145,
      "endLine" : 205,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 575,
      "endLine" : 610,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 414
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 494,
      "endLine" : 529,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 336
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 575,
      "endLine" : 610,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 414
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 438,
      "endLine" : 473,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 313
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/gccinlines.h",
        "extension" : "h",
        "linesOfCode" : 281,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 112,
      "endLine" : 142,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/mscinlines.h",
        "extension" : "h",
        "linesOfCode" : 311,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 120,
      "endLine" : 150,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/posix/execute.hpp",
        "extension" : "hpp",
        "linesOfCode" : 59,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 20,
      "endLine" : 80,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/execute.hpp",
        "extension" : "hpp",
        "linesOfCode" : 59,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 20,
      "endLine" : 80,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/gccinlines.h",
        "extension" : "h",
        "linesOfCode" : 281,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 70,
      "endLine" : 100,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/mscinlines.h",
        "extension" : "h",
        "linesOfCode" : 311,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 45,
      "endLine" : 75,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/gccinlines.h",
        "extension" : "h",
        "linesOfCode" : 281,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 152,
      "endLine" : 182,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/mscinlines.h",
        "extension" : "h",
        "linesOfCode" : 311,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 184,
      "endLine" : 214,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/misc.asm",
        "extension" : "asm",
        "linesOfCode" : 178,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 4,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 4,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/gccinlines.h",
        "extension" : "h",
        "linesOfCode" : 281,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 248,
      "endLine" : 277,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/mscinlines.h",
        "extension" : "h",
        "linesOfCode" : 311,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 285,
      "endLine" : 314,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopx.c",
        "extension" : "c",
        "linesOfCode" : 69,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 75,
      "endLine" : 109,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorx.c",
        "extension" : "c",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 63,
      "endLine" : 97,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopQ.c",
        "extension" : "c",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 74,
      "endLine" : 107,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 61,
      "endLine" : 94,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 4,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 4,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/misc.asm",
        "extension" : "asm",
        "linesOfCode" : 178,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 4,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 4,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 69,
      "endLine" : 122,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 247,
      "endLine" : 300,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 386,
      "endLine" : 425,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 621,
      "endLine" : 660,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 71,
      "endLine" : 106,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_xinput.cpp",
        "extension" : "cpp",
        "linesOfCode" : 472,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 290,
      "startLine" : 44,
      "endLine" : 79,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 574,
      "endLine" : 609,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 675,
      "endLine" : 710,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 321
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp2.inc",
        "extension" : "inc",
        "linesOfCode" : 63,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 111,
      "endLine" : 140,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resample.inc",
        "extension" : "inc",
        "linesOfCode" : 183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 149,
      "startLine" : 202,
      "endLine" : 231,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 587,
      "endLine" : 627,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 719,
      "endLine" : 759,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 408
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 259,
      "endLine" : 292,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 462,
      "endLine" : 495,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 333
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 942,
      "endLine" : 982,
      "cleanedStartLine" : 661,
      "cleanedEndLine" : 687
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 889,
      "endLine" : 926,
      "cleanedStartLine" : 639,
      "cleanedEndLine" : 665
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 727,
      "endLine" : 764,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/po_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1669,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1089,
      "startLine" : 1375,
      "endLine" : 1412,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 703
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 99,
      "endLine" : 137,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 124,
      "endLine" : 163,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 324,
      "endLine" : 360,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 556,
      "endLine" : 592,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 370
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 619,
      "endLine" : 647,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_dehacked.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2564,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1741,
      "startLine" : 511,
      "endLine" : 539,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1329,
      "endLine" : 1357,
      "cleanedStartLine" : 1120,
      "cleanedEndLine" : 1144
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1424,
      "endLine" : 1452,
      "cleanedStartLine" : 1204,
      "cleanedEndLine" : 1228
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 131,
      "endLine" : 166,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 87,
      "endLine" : 122,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1221,
      "endLine" : 1255,
      "cleanedStartLine" : 739,
      "cleanedEndLine" : 762
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1359,
      "endLine" : 1393,
      "cleanedStartLine" : 841,
      "cleanedEndLine" : 864
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1592,
      "endLine" : 1625,
      "cleanedStartLine" : 857,
      "cleanedEndLine" : 880
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1765,
      "endLine" : 1798,
      "cleanedStartLine" : 957,
      "cleanedEndLine" : 980
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 717,
      "endLine" : 747,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 447
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 800,
      "endLine" : 832,
      "cleanedStartLine" : 479,
      "cleanedEndLine" : 502
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 504,
      "endLine" : 544,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 303,
      "endLine" : 343,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.h",
        "extension" : "h",
        "linesOfCode" : 65,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 32,
      "endLine" : 62,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.h",
        "extension" : "h",
        "linesOfCode" : 88,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 42,
      "endLine" : 72,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1168,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 718
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1272,
      "endLine" : 1308,
      "cleanedStartLine" : 789,
      "cleanedEndLine" : 811
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1280,
      "endLine" : 1313,
      "cleanedStartLine" : 757,
      "cleanedEndLine" : 779
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 676,
      "endLine" : 710,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 562,
      "endLine" : 592,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 255,
      "endLine" : 285,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 360,
      "endLine" : 387,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 362,
      "endLine" : 390,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1267,
      "endLine" : 1293,
      "cleanedStartLine" : 770,
      "cleanedEndLine" : 792
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1369,
      "endLine" : 1397,
      "cleanedStartLine" : 845,
      "cleanedEndLine" : 867
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1277,
      "endLine" : 1308,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 689
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1417,
      "endLine" : 1448,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 791
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 330,
      "endLine" : 360,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 255,
      "endLine" : 285,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 1895,
      "endLine" : 1917,
      "cleanedStartLine" : 1237,
      "cleanedEndLine" : 1258
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3475,
      "endLine" : 3497,
      "cleanedStartLine" : 2358,
      "cleanedEndLine" : 2379
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 511,
      "endLine" : 536,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 525,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 196,
      "endLine" : 240,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 273,
      "endLine" : 317,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 106,
      "endLine" : 137,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 87,
      "endLine" : 119,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 545,
      "endLine" : 571,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 338
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 832,
      "endLine" : 858,
      "cleanedStartLine" : 502,
      "cleanedEndLine" : 523
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 313,
      "endLine" : 338,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 851,
      "endLine" : 874,
      "cleanedStartLine" : 472,
      "cleanedEndLine" : 493
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 111,
      "endLine" : 142,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 137,
      "endLine" : 168,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3033,
      "endLine" : 3063,
      "cleanedStartLine" : 2076,
      "cleanedEndLine" : 2096
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3069,
      "endLine" : 3099,
      "cleanedStartLine" : 2100,
      "cleanedEndLine" : 2120
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1630,
      "endLine" : 1665,
      "cleanedStartLine" : 882,
      "cleanedEndLine" : 902
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1803,
      "endLine" : 1838,
      "cleanedStartLine" : 982,
      "cleanedEndLine" : 1002
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 982,
      "endLine" : 1005,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 592
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1267,
      "endLine" : 1290,
      "cleanedStartLine" : 770,
      "cleanedEndLine" : 790
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 261,
      "endLine" : 286,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 256,
      "endLine" : 281,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 982,
      "endLine" : 1005,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 592
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1369,
      "endLine" : 1394,
      "cleanedStartLine" : 845,
      "cleanedEndLine" : 865
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 660,
      "endLine" : 696,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 601,
      "endLine" : 637,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 129,
      "endLine" : 159,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 459,
      "endLine" : 489,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1053,
      "endLine" : 1080,
      "cleanedStartLine" : 738,
      "cleanedEndLine" : 758
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 980,
      "endLine" : 1007,
      "cleanedStartLine" : 701,
      "cleanedEndLine" : 721
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 93,
      "endLine" : 131,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 138,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 5010,
      "endLine" : 5046,
      "cleanedStartLine" : 2368,
      "cleanedEndLine" : 2387
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 5064,
      "endLine" : 5100,
      "cleanedStartLine" : 2392,
      "cleanedEndLine" : 2411
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 636,
      "endLine" : 661,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 439
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 580,
      "endLine" : 605,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 416
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1217,
      "endLine" : 1244,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 641
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1351,
      "endLine" : 1378,
      "cleanedStartLine" : 720,
      "cleanedEndLine" : 739
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 698,
      "endLine" : 726,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 275
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 639,
      "endLine" : 667,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1231,
      "endLine" : 1255,
      "cleanedStartLine" : 743,
      "cleanedEndLine" : 762
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1267,
      "endLine" : 1289,
      "cleanedStartLine" : 770,
      "cleanedEndLine" : 789
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 982,
      "endLine" : 1004,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 591
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1231,
      "endLine" : 1255,
      "cleanedStartLine" : 743,
      "cleanedEndLine" : 762
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 1219,
      "endLine" : 1247,
      "cleanedStartLine" : 712,
      "cleanedEndLine" : 731
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 1393,
      "endLine" : 1421,
      "cleanedStartLine" : 816,
      "cleanedEndLine" : 835
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 452,
      "endLine" : 477,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 275
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 520,
      "endLine" : 545,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 862,
      "endLine" : 893,
      "cleanedStartLine" : 524,
      "cleanedEndLine" : 542
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 959,
      "endLine" : 990,
      "cleanedStartLine" : 588,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_dijoy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 973,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 648,
      "startLine" : 135,
      "endLine" : 158,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_xinput.cpp",
        "extension" : "cpp",
        "linesOfCode" : 472,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 290,
      "startLine" : 48,
      "endLine" : 71,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 85,
      "endLine" : 107,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 764,
      "endLine" : 786,
      "cleanedStartLine" : 496,
      "cleanedEndLine" : 514
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jidctint.c",
        "extension" : "c",
        "linesOfCode" : 216,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 233,
      "endLine" : 254,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jidctint.c",
        "extension" : "c",
        "linesOfCode" : 216,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 335,
      "endLine" : 356,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_dijoy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 973,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 648,
      "startLine" : 135,
      "endLine" : 158,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 75,
      "endLine" : 98,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 163,
      "endLine" : 183,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 188,
      "endLine" : 208,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1217,
      "endLine" : 1242,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 640
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1417,
      "endLine" : 1442,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 627,
      "endLine" : 649,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 388
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 933,
      "endLine" : 955,
      "cleanedStartLine" : 569,
      "cleanedEndLine" : 587
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1217,
      "endLine" : 1242,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 640
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1277,
      "endLine" : 1302,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 685
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 761,
      "endLine" : 792,
      "cleanedStartLine" : 367,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 279,
      "endLine" : 310,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1351,
      "endLine" : 1376,
      "cleanedStartLine" : 720,
      "cleanedEndLine" : 738
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1417,
      "endLine" : 1442,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1277,
      "endLine" : 1302,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 685
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1351,
      "endLine" : 1376,
      "cleanedStartLine" : 720,
      "cleanedEndLine" : 738
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1691,
      "endLine" : 1709,
      "cleanedStartLine" : 1447,
      "cleanedEndLine" : 1465
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1727,
      "endLine" : 1745,
      "cleanedStartLine" : 1483,
      "cleanedEndLine" : 1501
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 316,
      "endLine" : 343,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 342,
      "endLine" : 370,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 381,
      "endLine" : 404,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 491,
      "endLine" : 514,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 307,
      "endLine" : 327,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 296,
      "endLine" : 316,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 862,
      "endLine" : 885,
      "cleanedStartLine" : 602,
      "cleanedEndLine" : 619
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 810,
      "endLine" : 833,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 336,
      "endLine" : 368,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 390,
      "endLine" : 421,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 538,
      "endLine" : 564,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 708,
      "endLine" : 734,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 21,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 227,
      "endLine" : 244,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 1253,
      "endLine" : 1275,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 750
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 1427,
      "endLine" : 1449,
      "cleanedStartLine" : 837,
      "cleanedEndLine" : 854
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 598,
      "endLine" : 616,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 698,
      "endLine" : 716,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 175,
      "endLine" : 205,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 491,
      "endLine" : 520,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 620,
      "endLine" : 636,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 720,
      "endLine" : 736,
      "cleanedStartLine" : 324,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 783,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 865,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 783,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 946,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 496
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 865,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 946,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 496
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 310,
      "endLine" : 330,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 511,
      "endLine" : 531,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 354,
      "endLine" : 377,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 893,
      "endLine" : 912,
      "cleanedStartLine" : 511,
      "cleanedEndLine" : 527
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 378,
      "endLine" : 398,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 915,
      "endLine" : 933,
      "cleanedStartLine" : 530,
      "cleanedEndLine" : 546
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/mus2midi.cpp",
        "extension" : "cpp",
        "linesOfCode" : 229,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 58,
      "endLine" : 75,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_mus_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 262,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 64,
      "endLine" : 81,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 720,
      "endLine" : 736,
      "cleanedStartLine" : 324,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_dehacked.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2564,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1741,
      "startLine" : 512,
      "endLine" : 528,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 371,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 552,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 712,
      "endLine" : 734,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 476
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 761,
      "endLine" : 783,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 512
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1212,
      "endLine" : 1232,
      "cleanedStartLine" : 743,
      "cleanedEndLine" : 758
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1291,
      "endLine" : 1311,
      "cleanedStartLine" : 797,
      "cleanedEndLine" : 812
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 385,
      "endLine" : 401,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 558,
      "endLine" : 574,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 429
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 371,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 784,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 515
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 161,
      "endLine" : 181,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 216,
      "endLine" : 236,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 189,
      "endLine" : 205,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 142,
      "endLine" : 158,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 592,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 372
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 710,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 461
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 371,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 675,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 592,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 372
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 819,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 824,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 413
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 905,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 468
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 983,
      "endLine" : 1009,
      "cleanedStartLine" : 603,
      "cleanedEndLine" : 618
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1088,
      "endLine" : 1114,
      "cleanedStartLine" : 669,
      "cleanedEndLine" : 684
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 405,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 710,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 461
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 405,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 592,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 372
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 741,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 905,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 468
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 270,
      "endLine" : 291,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 325,
      "endLine" : 345,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 390,
      "endLine" : 408,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 416,
      "endLine" : 434,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 542,
      "endLine" : 564,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 761,
      "endLine" : 783,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 512
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 405,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 819,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 741,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 824,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 413
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 572,
      "endLine" : 600,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 632,
      "endLine" : 660,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1023,
      "endLine" : 1045,
      "cleanedStartLine" : 571,
      "cleanedEndLine" : 586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 493,
      "endLine" : 514,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 552,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 784,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 515
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 180,
      "endLine" : 198,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 306,
      "endLine" : 324,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 710,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 461
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 819,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 552,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 675,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 715,
      "endLine" : 733,
      "cleanedStartLine" : 501,
      "cleanedEndLine" : 516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 609,
      "endLine" : 629,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 414
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 675,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 434
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 784,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 515
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 715,
      "endLine" : 733,
      "cleanedStartLine" : 501,
      "cleanedEndLine" : 516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 553,
      "endLine" : 573,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 391
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1023,
      "endLine" : 1045,
      "cleanedStartLine" : 571,
      "cleanedEndLine" : 586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 383,
      "endLine" : 404,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 399,
      "endLine" : 416,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 936,
      "endLine" : 953,
      "cleanedStartLine" : 549,
      "cleanedEndLine" : 564
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 702,
      "endLine" : 727,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 309
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 807,
      "endLine" : 832,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 642,
      "endLine" : 659,
      "cleanedStartLine" : 438,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 578,
      "endLine" : 595,
      "cleanedStartLine" : 373,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 363,
      "endLine" : 382,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 595,
      "endLine" : 614,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 1142,
      "endLine" : 1156,
      "cleanedStartLine" : 674,
      "cleanedEndLine" : 688
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 1170,
      "endLine" : 1184,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 710
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 924,
      "endLine" : 942,
      "cleanedStartLine" : 666,
      "cleanedEndLine" : 680
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 815,
      "endLine" : 835,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 580
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 507,
      "endLine" : 523,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 528,
      "endLine" : 544,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 799,
      "endLine" : 820,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 326
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 716,
      "endLine" : 737,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 924,
      "endLine" : 942,
      "cleanedStartLine" : 666,
      "cleanedEndLine" : 680
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 760,
      "endLine" : 780,
      "cleanedStartLine" : 544,
      "cleanedEndLine" : 558
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 477,
      "endLine" : 492,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 360
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 650,
      "endLine" : 665,
      "cleanedStartLine" : 492,
      "cleanedEndLine" : 506
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1151,
      "endLine" : 1168,
      "cleanedStartLine" : 704,
      "cleanedEndLine" : 718
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1212,
      "endLine" : 1229,
      "cleanedStartLine" : 743,
      "cleanedEndLine" : 757
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_xLfmt.c",
        "extension" : "c",
        "linesOfCode" : 74,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 94,
      "endLine" : 112,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_xfmt.c",
        "extension" : "c",
        "linesOfCode" : 80,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 100,
      "endLine" : 118,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 642,
      "endLine" : 659,
      "cleanedStartLine" : 438,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 522,
      "endLine" : 539,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 869,
      "endLine" : 896,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1044,
      "endLine" : 1071,
      "cleanedStartLine" : 538,
      "cleanedEndLine" : 552
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/playermenu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 790,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 1013,
      "endLine" : 1035,
      "cleanedStartLine" : 438,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/playermenu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 790,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 1092,
      "endLine" : 1114,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 500
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/rendsig.c",
        "extension" : "c",
        "linesOfCode" : 226,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 211,
      "endLine" : 226,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/rendsig.c",
        "extension" : "c",
        "linesOfCode" : 226,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 236,
      "endLine" : 251,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2336,
      "endLine" : 2352,
      "cleanedStartLine" : 1538,
      "cleanedEndLine" : 1552
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2378,
      "endLine" : 2394,
      "cleanedStartLine" : 1573,
      "cleanedEndLine" : 1587
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 661,
      "endLine" : 676,
      "cleanedStartLine" : 454,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 597,
      "endLine" : 612,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 159,
      "endLine" : 173,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 310,
      "endLine" : 324,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 404,
      "endLine" : 420,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 252
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFindMt.c",
        "extension" : "c",
        "linesOfCode" : 627,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 448,
      "startLine" : 259,
      "endLine" : 275,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_revenant.cpp",
        "extension" : "cpp",
        "linesOfCode" : 93,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 97,
      "endLine" : 120,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_spectral.cpp",
        "extension" : "cpp",
        "linesOfCode" : 106,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 117,
      "endLine" : 143,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 2750,
      "endLine" : 2773,
      "cleanedStartLine" : 1353,
      "cleanedEndLine" : 1366
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 2822,
      "endLine" : 2846,
      "cleanedStartLine" : 1386,
      "cleanedEndLine" : 1399
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 969,
      "endLine" : 983,
      "cleanedStartLine" : 754,
      "cleanedEndLine" : 767
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 999,
      "endLine" : 1013,
      "cleanedStartLine" : 782,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 291,
      "endLine" : 313,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 317,
      "endLine" : 339,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 80,
      "endLine" : 94,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 231,
      "endLine" : 245,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 609,
      "endLine" : 635,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 395,
      "endLine" : 421,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 661,
      "endLine" : 676,
      "cleanedStartLine" : 454,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 541,
      "endLine" : 556,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 788,
      "endLine" : 804,
      "cleanedStartLine" : 559,
      "cleanedEndLine" : 572
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 705,
      "endLine" : 721,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 488
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1322,
      "endLine" : 1335,
      "cleanedStartLine" : 810,
      "cleanedEndLine" : 823
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1369,
      "endLine" : 1382,
      "cleanedStartLine" : 845,
      "cleanedEndLine" : 858
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5011,
      "endLine" : 5032,
      "cleanedStartLine" : 3336,
      "cleanedEndLine" : 3349
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5054,
      "endLine" : 5075,
      "cleanedStartLine" : 3366,
      "cleanedEndLine" : 3379
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 263,
      "endLine" : 277,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 289,
      "endLine" : 303,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 788,
      "endLine" : 804,
      "cleanedStartLine" : 559,
      "cleanedEndLine" : 572
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 650,
      "endLine" : 666,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 466
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 297,
      "endLine" : 311,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 831,
      "endLine" : 845,
      "cleanedStartLine" : 454,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1112,
      "endLine" : 1128,
      "cleanedStartLine" : 660,
      "cleanedEndLine" : 673
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1174,
      "endLine" : 1190,
      "cleanedStartLine" : 703,
      "cleanedEndLine" : 716
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1231,
      "endLine" : 1244,
      "cleanedStartLine" : 743,
      "cleanedEndLine" : 756
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1322,
      "endLine" : 1335,
      "cleanedStartLine" : 810,
      "cleanedEndLine" : 823
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 340,
      "endLine" : 355,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 341,
      "endLine" : 356,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1447,
      "endLine" : 1463,
      "cleanedStartLine" : 790,
      "cleanedEndLine" : 803
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1475,
      "endLine" : 1491,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 824
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/misc.asm",
        "extension" : "asm",
        "linesOfCode" : 178,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 113,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/misc.asm",
        "extension" : "asm",
        "linesOfCode" : 178,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 116,
      "endLine" : 129,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/hardware.h",
        "extension" : "h",
        "linesOfCode" : 50,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 69,
      "endLine" : 89,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/hardware.h",
        "extension" : "h",
        "linesOfCode" : 24,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 982,
      "endLine" : 995,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 585
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1322,
      "endLine" : 1335,
      "cleanedStartLine" : 810,
      "cleanedEndLine" : 823
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 4895,
      "endLine" : 4913,
      "cleanedStartLine" : 3266,
      "cleanedEndLine" : 3279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5009,
      "endLine" : 5027,
      "cleanedStartLine" : 3334,
      "cleanedEndLine" : 3347
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 291,
      "endLine" : 306,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 491,
      "endLine" : 506,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1267,
      "endLine" : 1280,
      "cleanedStartLine" : 770,
      "cleanedEndLine" : 783
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1322,
      "endLine" : 1335,
      "cleanedStartLine" : 810,
      "cleanedEndLine" : 823
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 1650,
      "endLine" : 1665,
      "cleanedStartLine" : 1167,
      "cleanedEndLine" : 1180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 1691,
      "endLine" : 1706,
      "cleanedStartLine" : 1185,
      "cleanedEndLine" : 1198
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 378,
      "endLine" : 394,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 479,
      "endLine" : 496,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 388,
      "endLine" : 404,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 263,
      "endLine" : 278,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 1535,
      "endLine" : 1552,
      "cleanedStartLine" : 1016,
      "cleanedEndLine" : 1028
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 1561,
      "endLine" : 1578,
      "cleanedStartLine" : 1033,
      "cleanedEndLine" : 1045
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dobjtype.cpp",
        "extension" : "cpp",
        "linesOfCode" : 469,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 329,
      "endLine" : 341,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dobjtype.cpp",
        "extension" : "cpp",
        "linesOfCode" : 469,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 425,
      "endLine" : 437,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/vectors.h",
        "extension" : "h",
        "linesOfCode" : 882,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 514,
      "startLine" : 595,
      "endLine" : 610,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/vectors.h",
        "extension" : "h",
        "linesOfCode" : 882,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 514,
      "startLine" : 616,
      "endLine" : 631,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_revenant.cpp",
        "extension" : "cpp",
        "linesOfCode" : 93,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 72,
      "endLine" : 92,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_spectral.cpp",
        "extension" : "cpp",
        "linesOfCode" : 106,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 92,
      "endLine" : 112,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1224,
      "endLine" : 1248,
      "cleanedStartLine" : 643,
      "cleanedEndLine" : 655
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1814,
      "endLine" : 1838,
      "cleanedStartLine" : 990,
      "cleanedEndLine" : 1002
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum_sf2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 797,
      "startLine" : 1318,
      "endLine" : 1337,
      "cleanedStartLine" : 686,
      "cleanedEndLine" : 698
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum_sf2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 797,
      "startLine" : 1357,
      "endLine" : 1376,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 720
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 477,
      "endLine" : 493,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 747,
      "endLine" : 763,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 459
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1029,
      "endLine" : 1045,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 263,
      "endLine" : 278,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1224,
      "endLine" : 1248,
      "cleanedStartLine" : 643,
      "cleanedEndLine" : 655
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1641,
      "endLine" : 1665,
      "cleanedStartLine" : 890,
      "cleanedEndLine" : 902
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dsectoreffect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 299,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 178,
      "endLine" : 197,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dsectoreffect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 299,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 235,
      "endLine" : 255,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1187,
      "endLine" : 1203,
      "cleanedStartLine" : 603,
      "cleanedEndLine" : 615
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1317,
      "endLine" : 1333,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 708
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 146,
      "endLine" : 161,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 172,
      "endLine" : 187,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1317,
      "endLine" : 1333,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 708
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1460,
      "endLine" : 1476,
      "cleanedStartLine" : 800,
      "cleanedEndLine" : 812
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/i_system.h",
        "extension" : "h",
        "linesOfCode" : 72,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 50,
      "endLine" : 108,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_system.h",
        "extension" : "h",
        "linesOfCode" : 99,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 79,
      "endLine" : 136,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 439,
      "endLine" : 460,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 585,
      "endLine" : 607,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 167,
      "endLine" : 184,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 127,
      "endLine" : 144,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 354,
      "endLine" : 373,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 412,
      "endLine" : 431,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2039,
      "endLine" : 2054,
      "cleanedStartLine" : 1147,
      "cleanedEndLine" : 1159
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2105,
      "endLine" : 2120,
      "cleanedStartLine" : 1192,
      "cleanedEndLine" : 1204
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1187,
      "endLine" : 1203,
      "cleanedStartLine" : 603,
      "cleanedEndLine" : 615
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1460,
      "endLine" : 1476,
      "cleanedStartLine" : 800,
      "cleanedEndLine" : 812
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/compress.c",
        "extension" : "c",
        "linesOfCode" : 439,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 369,
      "startLine" : 174,
      "endLine" : 187,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/compress.c",
        "extension" : "c",
        "linesOfCode" : 439,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 369,
      "startLine" : 212,
      "endLine" : 225,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 498,
      "endLine" : 514,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 263,
      "endLine" : 278,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/dfa.cc",
        "extension" : "cc",
        "linesOfCode" : 340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 36,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/dfa.cc",
        "extension" : "cc",
        "linesOfCode" : 340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 110,
      "endLine" : 125,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1912,
      "endLine" : 1927,
      "cleanedStartLine" : 1061,
      "cleanedEndLine" : 1073
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1970,
      "endLine" : 1985,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1112
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3277,
      "endLine" : 3296,
      "cleanedStartLine" : 2229,
      "cleanedEndLine" : 2241
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3390,
      "endLine" : 3409,
      "cleanedStartLine" : 2295,
      "cleanedEndLine" : 2307
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2026,
      "endLine" : 2048,
      "cleanedStartLine" : 821,
      "cleanedEndLine" : 833
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2116,
      "endLine" : 2138,
      "cleanedStartLine" : 840,
      "cleanedEndLine" : 852
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1970,
      "endLine" : 1985,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1112
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2039,
      "endLine" : 2054,
      "cleanedStartLine" : 1147,
      "cleanedEndLine" : 1159
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1912,
      "endLine" : 1927,
      "cleanedStartLine" : 1061,
      "cleanedEndLine" : 1073
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2039,
      "endLine" : 2054,
      "cleanedStartLine" : 1147,
      "cleanedEndLine" : 1159
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1970,
      "endLine" : 1985,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1112
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2105,
      "endLine" : 2120,
      "cleanedStartLine" : 1192,
      "cleanedEndLine" : 1204
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1912,
      "endLine" : 1927,
      "cleanedStartLine" : 1061,
      "cleanedEndLine" : 1073
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2105,
      "endLine" : 2120,
      "cleanedStartLine" : 1192,
      "cleanedEndLine" : 1204
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 457,
      "endLine" : 471,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 488,
      "endLine" : 502,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1627,
      "endLine" : 1652,
      "cleanedStartLine" : 873,
      "cleanedEndLine" : 885
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1729,
      "endLine" : 1755,
      "cleanedStartLine" : 921,
      "cleanedEndLine" : 933
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 440,
      "endLine" : 457,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 446,
      "endLine" : 463,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericholy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 396,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 387,
      "endLine" : 408,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_dragon.cpp",
        "extension" : "cpp",
        "linesOfCode" : 219,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 40,
      "endLine" : 61,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_font.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1250,
      "startLine" : 435,
      "endLine" : 458,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 219
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_font.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1250,
      "startLine" : 1945,
      "endLine" : 1967,
      "cleanedStartLine" : 878,
      "cleanedEndLine" : 890
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 704,
      "endLine" : 725,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 431
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 886,
      "endLine" : 908,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 551
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 4897,
      "endLine" : 4913,
      "cleanedStartLine" : 3268,
      "cleanedEndLine" : 3279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5054,
      "endLine" : 5070,
      "cleanedStartLine" : 3366,
      "cleanedEndLine" : 3377
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 178,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 228,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 304,
      "endLine" : 320,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 464,
      "endLine" : 480,
      "cleanedStartLine" : 285,
      "cleanedEndLine" : 296
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 178,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 431,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 366,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 587,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_ceiling.cpp",
        "extension" : "cpp",
        "linesOfCode" : 403,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 139,
      "endLine" : 154,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_ceiling.cpp",
        "extension" : "cpp",
        "linesOfCode" : 403,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 171,
      "endLine" : 187,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 301,
      "endLine" : 316,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 366,
      "endLine" : 381,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 581,
      "endLine" : 595,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 353
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 721,
      "endLine" : 735,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 393,
      "endLine" : 409,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 461,
      "endLine" : 477,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 366,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 400,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 366,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 814,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 538
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdcolor.c",
        "extension" : "c",
        "linesOfCode" : 241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 128,
      "endLine" : 141,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdcolor.c",
        "extension" : "c",
        "linesOfCode" : 241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 253,
      "endLine" : 266,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 353,
      "endLine" : 370,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 406,
      "endLine" : 423,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/ViZDoomController.h",
        "extension" : "h",
        "linesOfCode" : 264,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 124,
      "endLine" : 139,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/vizdoom_defines.h",
        "extension" : "h",
        "linesOfCode" : 122,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 140,
      "endLine" : 155,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1089,
      "endLine" : 1102,
      "cleanedStartLine" : 785,
      "cleanedEndLine" : 796
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 948,
      "endLine" : 961,
      "cleanedStartLine" : 664,
      "cleanedEndLine" : 675
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_dijoy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 973,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 648,
      "startLine" : 1408,
      "endLine" : 1433,
      "cleanedStartLine" : 623,
      "cleanedEndLine" : 634
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 1158,
      "endLine" : 1182,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 502
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 461,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 431,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 587,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 368
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 779,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 511
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 126,
      "endLine" : 138,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 253,
      "endLine" : 265,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 366,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 705,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 457
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 421,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 228,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 400,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 670,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 1531,
      "endLine" : 1543,
      "cleanedStartLine" : 737,
      "cleanedEndLine" : 748
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 1596,
      "endLine" : 1608,
      "cleanedStartLine" : 778,
      "cleanedEndLine" : 789
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 587,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 368
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 670,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/arithchk.c",
        "extension" : "c",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 56,
      "endLine" : 67,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/arithchk.c",
        "extension" : "c",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 83,
      "endLine" : 94,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 461,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 421,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 400,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 547,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 338
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1089,
      "endLine" : 1102,
      "cleanedStartLine" : 785,
      "cleanedEndLine" : 796
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 893,
      "endLine" : 906,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 493,
      "endLine" : 506,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 1030,
      "endLine" : 1043,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 633
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1284,
      "endLine" : 1301,
      "cleanedStartLine" : 931,
      "cleanedEndLine" : 942
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 992,
      "endLine" : 1009,
      "cleanedStartLine" : 711,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopf.c",
        "extension" : "c",
        "linesOfCode" : 41,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 57,
      "endLine" : 72,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorf.c",
        "extension" : "c",
        "linesOfCode" : 52,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 47,
      "endLine" : 62,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 461,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 228,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 327,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 500,
      "endLine" : 520,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 327,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 591,
      "endLine" : 612,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1307,
      "endLine" : 1320,
      "cleanedStartLine" : 688,
      "cleanedEndLine" : 699
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1332,
      "endLine" : 1345,
      "cleanedStartLine" : 707,
      "cleanedEndLine" : 718
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 274,
      "endLine" : 289,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 366,
      "endLine" : 381,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 212,
      "endLine" : 223,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 274,
      "endLine" : 289,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 301,
      "endLine" : 316,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 847,
      "startLine" : 1205,
      "endLine" : 1222,
      "cleanedStartLine" : 673,
      "cleanedEndLine" : 684
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 847,
      "startLine" : 1236,
      "endLine" : 1253,
      "cleanedStartLine" : 693,
      "cleanedEndLine" : 704
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 579,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 659,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 400,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 779,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 511
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1611,
      "endLine" : 1627,
      "cleanedStartLine" : 870,
      "cleanedEndLine" : 881
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1700,
      "endLine" : 1716,
      "cleanedStartLine" : 918,
      "cleanedEndLine" : 929
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 697,
      "endLine" : 711,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 377
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 697,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 425
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1029,
      "endLine" : 1043,
      "cleanedStartLine" : 720,
      "cleanedEndLine" : 731
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 950,
      "endLine" : 964,
      "cleanedStartLine" : 679,
      "cleanedEndLine" : 690
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 152,
      "endLine" : 164,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 278,
      "endLine" : 290,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 836,
      "endLine" : 856,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 336,
      "endLine" : 355,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1315,
      "endLine" : 1327,
      "cleanedStartLine" : 1107,
      "cleanedEndLine" : 1118
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1410,
      "endLine" : 1422,
      "cleanedStartLine" : 1191,
      "cleanedEndLine" : 1202
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 783,
      "endLine" : 797,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 700,
      "endLine" : 714,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1164,
      "endLine" : 1183,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 601
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1289,
      "endLine" : 1308,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 635,
      "endLine" : 647,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 390
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 742,
      "endLine" : 754,
      "cleanedStartLine" : 511,
      "cleanedEndLine" : 522
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 547,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 338
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 814,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 538
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1698,
      "endLine" : 1714,
      "cleanedStartLine" : 917,
      "cleanedEndLine" : 928
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1874,
      "endLine" : 1890,
      "cleanedStartLine" : 1020,
      "cleanedEndLine" : 1031
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1911,
      "endLine" : 1925,
      "cleanedStartLine" : 1018,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1951,
      "endLine" : 1964,
      "cleanedStartLine" : 1042,
      "cleanedEndLine" : 1053
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 547,
      "endLine" : 560,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 361
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 1080,
      "endLine" : 1093,
      "cleanedStartLine" : 665,
      "cleanedEndLine" : 676
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 705,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 779,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 511
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 547,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 338
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 705,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 457
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 547,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 338
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 587,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1164,
      "endLine" : 1183,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 601
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1429,
      "endLine" : 1448,
      "cleanedStartLine" : 780,
      "cleanedEndLine" : 791
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 975,
      "endLine" : 986,
      "cleanedStartLine" : 502,
      "cleanedEndLine" : 513
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 1115,
      "endLine" : 1126,
      "cleanedStartLine" : 588,
      "cleanedEndLine" : 599
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 431,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 228,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 670,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 430
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 705,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 457
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_utility.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_utility.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 243,
      "endLine" : 257,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 421,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 431,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1784,
      "endLine" : 1800,
      "cleanedStartLine" : 970,
      "cleanedEndLine" : 981
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1876,
      "endLine" : 1892,
      "cleanedStartLine" : 1021,
      "cleanedEndLine" : 1032
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 793,
      "endLine" : 805,
      "cleanedStartLine" : 456,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 824,
      "endLine" : 836,
      "cleanedStartLine" : 481,
      "cleanedEndLine" : 492
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/cmake_modules/CleanDirectoryList.cmake",
        "extension" : "cmake",
        "linesOfCode" : 42,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 4,
      "endLine" : 15,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "doom_py/cmake_modules/CreateLaunchers.cmake",
        "extension" : "cmake",
        "linesOfCode" : 304,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 29,
      "endLine" : 40,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 670,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 430
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 814,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 538
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 178,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 421,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2152,
      "endLine" : 2168,
      "cleanedStartLine" : 1603,
      "cleanedEndLine" : 1614
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2374,
      "endLine" : 2390,
      "cleanedStartLine" : 1760,
      "cleanedEndLine" : 1771
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 109,
      "endLine" : 123,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 337,
      "endLine" : 351,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 461,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 178,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1278,
      "endLine" : 1297,
      "cleanedStartLine" : 1074,
      "cleanedEndLine" : 1085
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.re",
        "extension" : "re",
        "linesOfCode" : 183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 357,
      "endLine" : 376,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 779,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 511
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 814,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 538
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 481,
      "endLine" : 497,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 570,
      "endLine" : 586,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2175,
      "endLine" : 2192,
      "cleanedStartLine" : 1620,
      "cleanedEndLine" : 1631
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2399,
      "endLine" : 2417,
      "cleanedStartLine" : 1779,
      "cleanedEndLine" : 1790
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 692,
      "endLine" : 702,
      "cleanedStartLine" : 479,
      "cleanedEndLine" : 489
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1284,
      "endLine" : 1299,
      "cleanedStartLine" : 931,
      "cleanedEndLine" : 941
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1065,
      "endLine" : 1080,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 758
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 1532,
      "endLine" : 1552,
      "cleanedStartLine" : 751,
      "cleanedEndLine" : 761
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/keysections.cpp",
        "extension" : "cpp",
        "linesOfCode" : 152,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 198,
      "endLine" : 218,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1155,
      "endLine" : 1169,
      "cleanedStartLine" : 597,
      "cleanedEndLine" : 607
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1342,
      "endLine" : 1356,
      "cleanedStartLine" : 710,
      "cleanedEndLine" : 720
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 511,
      "endLine" : 522,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 300
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 539,
      "endLine" : 550,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 162,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 203,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 1204,
      "endLine" : 1215,
      "cleanedStartLine" : 606,
      "cleanedEndLine" : 616
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 1269,
      "endLine" : 1280,
      "cleanedStartLine" : 655,
      "cleanedEndLine" : 665
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 231,
      "endLine" : 241,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 265,
      "endLine" : 275,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 231,
      "endLine" : 241,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 291,
      "endLine" : 301,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 356,
      "endLine" : 373,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 524,
      "endLine" : 540,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 287
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 313,
      "endLine" : 328,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.re",
        "extension" : "re",
        "linesOfCode" : 183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 191,
      "endLine" : 206,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1425,
      "endLine" : 1436,
      "cleanedStartLine" : 816,
      "cleanedEndLine" : 826
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1514,
      "endLine" : 1525,
      "cleanedStartLine" : 882,
      "cleanedEndLine" : 892
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1076,
      "endLine" : 1095,
      "cleanedStartLine" : 662,
      "cleanedEndLine" : 672
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1265,
      "endLine" : 1284,
      "cleanedStartLine" : 785,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 483,
      "endLine" : 498,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 273
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 636,
      "endLine" : 651,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 351
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 101,
      "endLine" : 113,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 229,
      "endLine" : 241,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5861,
      "endLine" : 5873,
      "cleanedStartLine" : 3851,
      "cleanedEndLine" : 3861
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5880,
      "endLine" : 5892,
      "cleanedStartLine" : 3864,
      "cleanedEndLine" : 3874
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 487,
      "endLine" : 500,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 692,
      "endLine" : 705,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 430,
      "endLine" : 445,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 504,
      "endLine" : 519,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 318
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/parser.cc",
        "extension" : "cc",
        "linesOfCode" : 1236,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 768,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/y.tab.h",
        "extension" : "h",
        "linesOfCode" : 42,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_keyboard.cpp",
        "extension" : "cpp",
        "linesOfCode" : 354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 319,
      "endLine" : 333,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_mouse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 793,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 487,
      "startLine" : 754,
      "endLine" : 768,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 2140,
      "endLine" : 2152,
      "cleanedStartLine" : 910,
      "cleanedEndLine" : 920
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 2243,
      "endLine" : 2255,
      "cleanedStartLine" : 953,
      "cleanedEndLine" : 963
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 487,
      "endLine" : 500,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 591,
      "endLine" : 604,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopdd.c",
        "extension" : "c",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 71,
      "endLine" : 82,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 54,
      "endLine" : 65,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 901,
      "endLine" : 916,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 373
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 994,
      "endLine" : 1010,
      "cleanedStartLine" : 407,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 428,
      "endLine" : 441,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 318
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 601,
      "endLine" : 614,
      "cleanedStartLine" : 454,
      "cleanedEndLine" : 464
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1047,
      "endLine" : 1059,
      "cleanedStartLine" : 638,
      "cleanedEndLine" : 648
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1102,
      "endLine" : 1114,
      "cleanedStartLine" : 674,
      "cleanedEndLine" : 684
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 375,
      "endLine" : 386,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1372,
      "endLine" : 1391,
      "cleanedStartLine" : 580,
      "cleanedEndLine" : 590
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1643,
      "endLine" : 1663,
      "cleanedStartLine" : 697,
      "cleanedEndLine" : 707
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1700,
      "endLine" : 1714,
      "cleanedStartLine" : 918,
      "cleanedEndLine" : 928
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1784,
      "endLine" : 1798,
      "cleanedStartLine" : 970,
      "cleanedEndLine" : 980
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 446,
      "endLine" : 457,
      "cleanedStartLine" : 320,
      "cleanedEndLine" : 330
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 619,
      "endLine" : 630,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 2130,
      "endLine" : 2146,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 2205,
      "endLine" : 2221,
      "cleanedStartLine" : 1144,
      "cleanedEndLine" : 1154
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 2946,
      "endLine" : 2960,
      "cleanedStartLine" : 1386,
      "cleanedEndLine" : 1396
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3065,
      "endLine" : 3077,
      "cleanedStartLine" : 1471,
      "cleanedEndLine" : 1481
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 997,
      "endLine" : 1009,
      "cleanedStartLine" : 608,
      "cleanedEndLine" : 618
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1047,
      "endLine" : 1059,
      "cleanedStartLine" : 638,
      "cleanedEndLine" : 648
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/trees.c",
        "extension" : "c",
        "linesOfCode" : 760,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 706,
      "endLine" : 718,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 323
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/trees.c",
        "extension" : "c",
        "linesOfCode" : 760,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 751,
      "endLine" : 764,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 356
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 311,
      "endLine" : 328,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 365,
      "endLine" : 382,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1611,
      "endLine" : 1625,
      "cleanedStartLine" : 870,
      "cleanedEndLine" : 880
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1876,
      "endLine" : 1890,
      "cleanedStartLine" : 1021,
      "cleanedEndLine" : 1031
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 283,
      "endLine" : 295,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 364,
      "endLine" : 376,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 358,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 484,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorx.c",
        "extension" : "c",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 107,
      "endLine" : 119,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 95,
      "endLine" : 107,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 4942,
      "endLine" : 4959,
      "cleanedStartLine" : 3298,
      "cleanedEndLine" : 3308
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5095,
      "endLine" : 5112,
      "cleanedStartLine" : 3392,
      "cleanedEndLine" : 3402
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2449,
      "endLine" : 2465,
      "cleanedStartLine" : 1632,
      "cleanedEndLine" : 1642
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2918,
      "endLine" : 2933,
      "cleanedStartLine" : 1984,
      "cleanedEndLine" : 1994
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 725,
      "endLine" : 735,
      "cleanedStartLine" : 451,
      "cleanedEndLine" : 461
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1213,
      "endLine" : 1223,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 823
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1379,
      "endLine" : 1390,
      "cleanedStartLine" : 740,
      "cleanedEndLine" : 750
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1400,
      "endLine" : 1411,
      "cleanedStartLine" : 757,
      "cleanedEndLine" : 767
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 353,
      "endLine" : 363,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 313
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 515,
      "endLine" : 525,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 456
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1240,
      "endLine" : 1250,
      "cleanedStartLine" : 754,
      "cleanedEndLine" : 764
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1257,
      "endLine" : 1267,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 779
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1317,
      "endLine" : 1327,
      "cleanedStartLine" : 810,
      "cleanedEndLine" : 820
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1334,
      "endLine" : 1344,
      "cleanedStartLine" : 825,
      "cleanedEndLine" : 835
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1236,
      "endLine" : 1250,
      "cleanedStartLine" : 762,
      "cleanedEndLine" : 772
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1316,
      "endLine" : 1330,
      "cleanedStartLine" : 817,
      "cleanedEndLine" : 827
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_oper.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 513,
      "endLine" : 532,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_oper.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 578,
      "endLine" : 597,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 692,
      "endLine" : 702,
      "cleanedStartLine" : 479,
      "cleanedEndLine" : 489
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 211,
      "endLine" : 221,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 93,
      "endLine" : 108,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 120,
      "endLine" : 140,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 702,
      "endLine" : 718,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 364
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 739,
      "endLine" : 755,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 385
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 624,
      "endLine" : 638,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 400
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 312,
      "endLine" : 326,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 571,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 238,
      "endLine" : 254,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1107,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 1060,
      "endLine" : 1076,
      "cleanedStartLine" : 416,
      "cleanedEndLine" : 425
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/compress.c",
        "extension" : "c",
        "linesOfCode" : 47,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 29,
      "endLine" : 43,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/uncompr.c",
        "extension" : "c",
        "linesOfCode" : 31,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 30,
      "endLine" : 43,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1377,
      "endLine" : 1395,
      "cleanedStartLine" : 582,
      "cleanedEndLine" : 591
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1516,
      "endLine" : 1534,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 651
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 575,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 815,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 575,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 773,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 575,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 732,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 242,
      "endLine" : 257,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 322,
      "endLine" : 338,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 728,
      "endLine" : 742,
      "cleanedStartLine" : 458,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 347,
      "endLine" : 361,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 773,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 815,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 575,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 896,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 575,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 855,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 448,
      "endLine" : 462,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 288
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 728,
      "endLine" : 742,
      "cleanedStartLine" : 458,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 563,
      "endLine" : 575,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 936,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 389,
      "endLine" : 403,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 246
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 312,
      "endLine" : 326,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 170,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 234,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 159,
      "endLine" : 169,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 477,
      "endLine" : 487,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 355
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 132,
      "endLine" : 142,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 283,
      "endLine" : 293,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 590,
      "endLine" : 605,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 299
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 621,
      "endLine" : 636,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtord.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 81,
      "endLine" : 92,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorx.c",
        "extension" : "c",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 108,
      "endLine" : 119,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 209,
      "endLine" : 228,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 119,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 159,
      "endLine" : 169,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 650,
      "endLine" : 660,
      "cleanedStartLine" : 492,
      "cleanedEndLine" : 501
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 815,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 855,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/po_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1669,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1089,
      "startLine" : 464,
      "endLine" : 479,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/po_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1669,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1089,
      "startLine" : 544,
      "endLine" : 559,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtord.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 81,
      "endLine" : 92,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 96,
      "endLine" : 107,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1259,
      "endLine" : 1272,
      "cleanedStartLine" : 911,
      "cleanedEndLine" : 920
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 963,
      "endLine" : 976,
      "cleanedStartLine" : 689,
      "cleanedEndLine" : 698
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 815,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 936,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 910,
      "endLine" : 920,
      "cleanedStartLine" : 454,
      "cleanedEndLine" : 463
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 949,
      "endLine" : 959,
      "cleanedStartLine" : 467,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 105,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 188,
      "endLine" : 199,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1593,
      "endLine" : 1610,
      "cleanedStartLine" : 627,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1742,
      "endLine" : 1758,
      "cleanedStartLine" : 698,
      "cleanedEndLine" : 707
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 2385,
      "endLine" : 2397,
      "cleanedStartLine" : 1065,
      "cleanedEndLine" : 1074
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 2408,
      "endLine" : 2420,
      "cleanedStartLine" : 1080,
      "cleanedEndLine" : 1089
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 170,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 343,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 896,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 462
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 936,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 235,
      "endLine" : 252,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 190,
      "endLine" : 205,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 186,
      "endLine" : 202,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 609,
      "endLine" : 621,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 412,
      "endLine" : 431,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 119,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 436,
      "endLine" : 446,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 448,
      "endLine" : 458,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 551,
      "endLine" : 563,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 331
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 630,
      "endLine" : 642,
      "cleanedStartLine" : 373,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 138,
      "endLine" : 148,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 385,
      "endLine" : 394,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 315,
      "endLine" : 325,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 337,
      "endLine" : 347,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/gme.cpp",
        "extension" : "cpp",
        "linesOfCode" : 305,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 33,
      "endLine" : 60,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/gme.h",
        "extension" : "h",
        "linesOfCode" : 92,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 159,
      "endLine" : 168,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 732,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 936,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 838,
      "endLine" : 850,
      "cleanedStartLine" : 507,
      "cleanedEndLine" : 516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 936,
      "endLine" : 948,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 581
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 356,
      "endLine" : 371,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 447,
      "endLine" : 462,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1002,
      "endLine" : 1012,
      "cleanedStartLine" : 477,
      "cleanedEndLine" : 486
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 3855,
      "endLine" : 3865,
      "cleanedStartLine" : 2034,
      "cleanedEndLine" : 2043
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 732,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 855,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 213,
      "endLine" : 222,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 229,
      "endLine" : 238,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 773,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 896,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 449,
      "endLine" : 468,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 192
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 209,
      "endLine" : 228,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 448,
      "endLine" : 462,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 288
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 347,
      "endLine" : 361,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericholy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 396,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 389,
      "endLine" : 406,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 1644,
      "endLine" : 1661,
      "cleanedStartLine" : 768,
      "cleanedEndLine" : 777
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 231,
      "endLine" : 241,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 558,
      "endLine" : 568,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 423
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 732,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 773,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 602,
      "endLine" : 617,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 317
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 600,
      "endLine" : 615,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 310,
      "endLine" : 320,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 477,
      "endLine" : 487,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 355
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 855,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 434
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 896,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 489,
      "endLine" : 501,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 874,
      "endLine" : 886,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 496,
      "endLine" : 513,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 575,
      "endLine" : 592,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 348
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 496,
      "endLine" : 513,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 653,
      "endLine" : 670,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 310,
      "endLine" : 320,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 650,
      "endLine" : 660,
      "cleanedStartLine" : 492,
      "cleanedEndLine" : 501
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 425,
      "endLine" : 437,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 475,
      "endLine" : 487,
      "cleanedStartLine" : 285,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 231,
      "endLine" : 241,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 385,
      "endLine" : 395,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 277
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2057,
      "endLine" : 2069,
      "cleanedStartLine" : 1161,
      "cleanedEndLine" : 1170
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2123,
      "endLine" : 2135,
      "cleanedStartLine" : 1206,
      "cleanedEndLine" : 1215
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 414,
      "endLine" : 429,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 447,
      "endLine" : 462,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/i_musicinterns.h",
        "extension" : "h",
        "linesOfCode" : 619,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 531,
      "startLine" : 563,
      "endLine" : 574,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/i_musicinterns.h",
        "extension" : "h",
        "linesOfCode" : 619,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 531,
      "startLine" : 622,
      "endLine" : 634,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 1665,
      "endLine" : 1683,
      "cleanedStartLine" : 780,
      "cleanedEndLine" : 789
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 1716,
      "endLine" : 1734,
      "cleanedStartLine" : 808,
      "cleanedEndLine" : 817
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 575,
      "endLine" : 592,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 653,
      "endLine" : 670,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/ViZDoomController.h",
        "extension" : "h",
        "linesOfCode" : 264,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 99,
      "endLine" : 111,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/vizdoom_defines.h",
        "extension" : "h",
        "linesOfCode" : 122,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 115,
      "endLine" : 127,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 412,
      "endLine" : 422,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 436,
      "endLine" : 446,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 412,
      "endLine" : 422,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 424,
      "endLine" : 434,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 412,
      "endLine" : 422,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 448,
      "endLine" : 458,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 402,
      "endLine" : 421,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 119,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericholy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 396,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 367,
      "endLine" : 378,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_korax.cpp",
        "extension" : "cpp",
        "linesOfCode" : 324,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 226,
      "startLine" : 339,
      "endLine" : 350,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 630,
      "endLine" : 642,
      "cleanedStartLine" : 373,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 838,
      "endLine" : 850,
      "cleanedStartLine" : 507,
      "cleanedEndLine" : 516
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 442,
      "endLine" : 461,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 119,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 551,
      "endLine" : 563,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 331
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 936,
      "endLine" : 948,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 581
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 805,
      "endLine" : 822,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 401
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 315,
      "endLine" : 332,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1022,
      "endLine" : 1034,
      "cleanedStartLine" : 736,
      "cleanedEndLine" : 745
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 816,
      "endLine" : 827,
      "cleanedStartLine" : 585,
      "cleanedEndLine" : 594
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 655,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 884,
      "endLine" : 896,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 655,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 843,
      "endLine" : 855,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zArcIn.c",
        "extension" : "c",
        "linesOfCode" : 1420,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1090,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 413
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zArcIn.c",
        "extension" : "c",
        "linesOfCode" : 1420,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1090,
      "startLine" : 1060,
      "endLine" : 1070,
      "cleanedStartLine" : 671,
      "cleanedEndLine" : 680
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 80,
      "endLine" : 90,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 385,
      "endLine" : 395,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 277
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gbs_Emu.h",
        "extension" : "h",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Emu.h",
        "extension" : "h",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 53,
      "endLine" : 62,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 475,
      "endLine" : 487,
      "cleanedStartLine" : 285,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFindMt.c",
        "extension" : "c",
        "linesOfCode" : 627,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 448,
      "startLine" : 280,
      "endLine" : 292,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 2515,
      "endLine" : 2531,
      "cleanedStartLine" : 1144,
      "cleanedEndLine" : 1153
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 2568,
      "endLine" : 2583,
      "cleanedStartLine" : 1172,
      "cleanedEndLine" : 1181
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 731,
      "endLine" : 746,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 379
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 770,
      "endLine" : 785,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 1022,
      "endLine" : 1034,
      "cleanedStartLine" : 736,
      "cleanedEndLine" : 745
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 868,
      "endLine" : 879,
      "cleanedStartLine" : 606,
      "cleanedEndLine" : 615
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 655,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 803,
      "endLine" : 815,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 655,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 761,
      "endLine" : 773,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 655,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 720,
      "endLine" : 732,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1243,
      "endLine" : 1257,
      "cleanedStartLine" : 514,
      "cleanedEndLine" : 523
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1414,
      "endLine" : 1428,
      "cleanedStartLine" : 597,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 424,
      "endLine" : 434,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 448,
      "endLine" : 458,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 424,
      "endLine" : 434,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 436,
      "endLine" : 446,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1068,
      "endLine" : 1084,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 430
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1097,
      "endLine" : 1113,
      "cleanedStartLine" : 433,
      "cleanedEndLine" : 442
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/zipdir/zipdir.c",
        "extension" : "c",
        "linesOfCode" : 1224,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 800,
      "startLine" : 143,
      "endLine" : 152,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/zipdir/zipdir.c",
        "extension" : "c",
        "linesOfCode" : 1224,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 800,
      "startLine" : 159,
      "endLine" : 168,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 425,
      "endLine" : 437,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFindMt.c",
        "extension" : "c",
        "linesOfCode" : 627,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 448,
      "startLine" : 280,
      "endLine" : 292,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_dragon.cpp",
        "extension" : "cpp",
        "linesOfCode" : 219,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 42,
      "endLine" : 59,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 1644,
      "endLine" : 1661,
      "cleanedStartLine" : 768,
      "cleanedEndLine" : 777
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 643,
      "endLine" : 655,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 924,
      "endLine" : 936,
      "cleanedStartLine" : 480,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 208,
      "endLine" : 222,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 149,
      "endLine" : 163,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 553,
      "endLine" : 566,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 613,
      "endLine" : 626,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 289
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 213,
      "endLine" : 222,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 159,
      "endLine" : 178,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 119,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 229,
      "endLine" : 238,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 553,
      "endLine" : 568,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 307
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 704,
      "endLine" : 719,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 374
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 305,
      "endLine" : 315,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 448,
      "endLine" : 458,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 380
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 343,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 234,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 80,
      "endLine" : 90,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 558,
      "endLine" : 568,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 423
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 984,
      "endLine" : 994,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 717
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 791,
      "endLine" : 801,
      "cleanedStartLine" : 565,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 360,
      "endLine" : 370,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 533,
      "endLine" : 543,
      "cleanedStartLine" : 394,
      "cleanedEndLine" : 403
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 178,
      "endLine" : 193,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 366,
      "endLine" : 381,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 384,
      "endLine" : 393,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 447,
      "endLine" : 462,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 474,
      "endLine" : 489,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 430,
      "endLine" : 446,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1341,
      "endLine" : 1357,
      "cleanedStartLine" : 835,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 667,
      "endLine" : 680,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 246
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 538,
      "endLine" : 551,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1516,
      "endLine" : 1530,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 650
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1649,
      "endLine" : 1663,
      "cleanedStartLine" : 699,
      "cleanedEndLine" : 707
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 768,
      "endLine" : 780,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 799,
      "endLine" : 811,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 304,
      "endLine" : 316,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 383,
      "endLine" : 395,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 119,
      "endLine" : 128,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 145,
      "endLine" : 154,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 1058,
      "endLine" : 1068,
      "cleanedStartLine" : 407,
      "cleanedEndLine" : 415
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 853,
      "endLine" : 863,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 430,
      "endLine" : 446,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1189,
      "endLine" : 1205,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 741
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/i_musicinterns.h",
        "extension" : "h",
        "linesOfCode" : 619,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 531,
      "startLine" : 119,
      "endLine" : 127,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/i_musicinterns.h",
        "extension" : "h",
        "linesOfCode" : 619,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 531,
      "startLine" : 231,
      "endLine" : 239,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 362,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 182,
      "endLine" : 194,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 259,
      "endLine" : 271,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 430,
      "endLine" : 446,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1268,
      "endLine" : 1284,
      "cleanedStartLine" : 787,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 91,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 153,
      "endLine" : 170,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Emu.h",
        "extension" : "h",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nsf_Emu.h",
        "extension" : "h",
        "linesOfCode" : 84,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 301,
      "endLine" : 312,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 334,
      "endLine" : 345,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 868,
      "endLine" : 877,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 451
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 949,
      "endLine" : 958,
      "cleanedStartLine" : 498,
      "cleanedEndLine" : 506
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 593,
      "endLine" : 604,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 874,
      "endLine" : 885,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 406
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Emu.h",
        "extension" : "h",
        "linesOfCode" : 75,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Emu.h",
        "extension" : "h",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 362,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Emu.h",
        "extension" : "h",
        "linesOfCode" : 75,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nsf_Emu.h",
        "extension" : "h",
        "linesOfCode" : 84,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 383,
      "endLine" : 395,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 464,
      "endLine" : 476,
      "cleanedStartLine" : 285,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopdd.c",
        "extension" : "c",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 86,
      "endLine" : 95,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 459,
      "endLine" : 467,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 632,
      "endLine" : 640,
      "cleanedStartLine" : 478,
      "cleanedEndLine" : 486
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 303,
      "endLine" : 315,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 597,
      "endLine" : 609,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.cpp",
        "extension" : "cpp",
        "linesOfCode" : 420,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 519,
      "endLine" : 531,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.cpp",
        "extension" : "cpp",
        "linesOfCode" : 420,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 575,
      "endLine" : 587,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2665,
      "endLine" : 2675,
      "cleanedStartLine" : 1815,
      "cleanedEndLine" : 1823
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2680,
      "endLine" : 2690,
      "cleanedStartLine" : 1828,
      "cleanedEndLine" : 1836
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 695,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1079,
      "endLine" : 1095,
      "cleanedStartLine" : 664,
      "cleanedEndLine" : 672
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3068,
      "endLine" : 3077,
      "cleanedStartLine" : 1473,
      "cleanedEndLine" : 1481
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3271,
      "endLine" : 3280,
      "cleanedStartLine" : 1612,
      "cleanedEndLine" : 1620
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 3182,
      "endLine" : 3190,
      "cleanedStartLine" : 1486,
      "cleanedEndLine" : 1494
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 1274,
      "endLine" : 1282,
      "cleanedStartLine" : 630,
      "cleanedEndLine" : 638
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 695,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1024,
      "endLine" : 1040,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 636
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_specialpaths.cpp",
        "extension" : "cpp",
        "linesOfCode" : 378,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 175,
      "endLine" : 201,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_specialpaths.cpp",
        "extension" : "cpp",
        "linesOfCode" : 378,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 387,
      "endLine" : 414,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 810,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 535
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 775,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 391,
      "endLine" : 400,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 483,
      "endLine" : 492,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.h",
        "extension" : "h",
        "linesOfCode" : 77,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.h",
        "extension" : "h",
        "linesOfCode" : 59,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 272,
      "endLine" : 289,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 327,
      "endLine" : 344,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 737,
      "endLine" : 748,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 470
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2197,
      "endLine" : 2208,
      "cleanedStartLine" : 1489,
      "cleanedEndLine" : 1497
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 91,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 326,
      "endLine" : 343,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1102,
      "endLine" : 1118,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 563
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1363,
      "endLine" : 1378,
      "cleanedStartLine" : 731,
      "cleanedEndLine" : 739
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 695,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1268,
      "endLine" : 1284,
      "cleanedStartLine" : 787,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 475,
      "endLine" : 487,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 302
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 223,
      "endLine" : 235,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1251,
      "endLine" : 1262,
      "cleanedStartLine" : 648,
      "cleanedEndLine" : 656
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1388,
      "endLine" : 1399,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 756
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 701,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 695,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1189,
      "endLine" : 1205,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 741
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 666,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 63,
      "endLine" : 75,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 64,
      "endLine" : 79,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 115,
      "endLine" : 128,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 516,
      "endLine" : 525,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 561,
      "endLine" : 570,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_saveg.cpp",
        "extension" : "cpp",
        "linesOfCode" : 569,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 345,
      "startLine" : 399,
      "endLine" : 412,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 1456,
      "endLine" : 1469,
      "cleanedStartLine" : 726,
      "cleanedEndLine" : 734
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1102,
      "endLine" : 1118,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 563
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1229,
      "endLine" : 1244,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 641
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 737,
      "endLine" : 746,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 492
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 846,
      "endLine" : 855,
      "cleanedStartLine" : 565,
      "cleanedEndLine" : 573
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 827,
      "endLine" : 836,
      "cleanedStartLine" : 415,
      "cleanedEndLine" : 423
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 908,
      "endLine" : 917,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 478
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 583,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 430,
      "endLine" : 446,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 695,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 422
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 543,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 625,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 805,
      "endLine" : 818,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 408
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 695,
      "endLine" : 711,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1341,
      "endLine" : 1357,
      "cleanedStartLine" : 835,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 625,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 886,
      "endLine" : 899,
      "cleanedStartLine" : 455,
      "cleanedEndLine" : 463
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 149,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 102,
      "endLine" : 119,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 543,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 583,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_usdf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 254,
      "startLine" : 89,
      "endLine" : 100,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_usdf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 254,
      "startLine" : 251,
      "endLine" : 262,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1079,
      "endLine" : 1095,
      "cleanedStartLine" : 664,
      "cleanedEndLine" : 672
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1341,
      "endLine" : 1357,
      "cleanedStartLine" : 835,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readamf.c",
        "extension" : "c",
        "linesOfCode" : 440,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 354,
      "startLine" : 395,
      "endLine" : 406,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 236,
      "endLine" : 247,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 149,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 211,
      "endLine" : 228,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 396,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1032,
      "endLine" : 1040,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 819
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1046,
      "endLine" : 1054,
      "cleanedStartLine" : 824,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1966,
      "endLine" : 1975,
      "cleanedStartLine" : 927,
      "cleanedEndLine" : 935
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3271,
      "endLine" : 3280,
      "cleanedStartLine" : 1612,
      "cleanedEndLine" : 1620
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 625,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 722,
      "endLine" : 735,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 351
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1191,
      "endLine" : 1202,
      "cleanedStartLine" : 798,
      "cleanedEndLine" : 806
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1681,
      "endLine" : 1692,
      "cleanedStartLine" : 1167,
      "cleanedEndLine" : 1175
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 666,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1133,
      "endLine" : 1141,
      "cleanedStartLine" : 675,
      "cleanedEndLine" : 683
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1195,
      "endLine" : 1203,
      "cleanedStartLine" : 718,
      "cleanedEndLine" : 726
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 701,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 362,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 229,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 222,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 353,
      "endLine" : 362,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1125,
      "endLine" : 1138,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 574
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1388,
      "endLine" : 1399,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 756
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 778,
      "endLine" : 793,
      "cleanedStartLine" : 469,
      "cleanedEndLine" : 477
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 974,
      "endLine" : 990,
      "cleanedStartLine" : 598,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 149,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 404,
      "endLine" : 421,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 430,
      "endLine" : 446,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1024,
      "endLine" : 1040,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 636
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 535,
      "endLine" : 550,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 558,
      "endLine" : 573,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 430,
      "endLine" : 446,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1079,
      "endLine" : 1095,
      "cleanedStartLine" : 664,
      "cleanedEndLine" : 672
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1268,
      "endLine" : 1284,
      "cleanedStartLine" : 787,
      "cleanedEndLine" : 795
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1341,
      "endLine" : 1357,
      "cleanedStartLine" : 835,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 149,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 444,
      "endLine" : 461,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 566,
      "endLine" : 574,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 600,
      "endLine" : 608,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 290
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 810,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 535
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum_sf2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 797,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum_sf2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 797,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 415,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 229,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1567,
      "endLine" : 1577,
      "cleanedStartLine" : 842,
      "cleanedEndLine" : 850
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1739,
      "endLine" : 1749,
      "cleanedStartLine" : 942,
      "cleanedEndLine" : 950
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/sdlvideo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 634,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 114,
      "endLine" : 132,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_ddraw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1109,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 99,
      "endLine" : 117,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 172,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 229,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 617,
      "endLine" : 629,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 429
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 548,
      "endLine" : 560,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 361
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1966,
      "endLine" : 1975,
      "cleanedStartLine" : 927,
      "cleanedEndLine" : 935
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 2950,
      "endLine" : 2960,
      "cleanedStartLine" : 1388,
      "cleanedEndLine" : 1396
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1125,
      "endLine" : 1138,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 574
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1251,
      "endLine" : 1262,
      "cleanedStartLine" : 648,
      "cleanedEndLine" : 656
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 778,
      "endLine" : 793,
      "cleanedStartLine" : 469,
      "cleanedEndLine" : 477
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 877,
      "endLine" : 893,
      "cleanedStartLine" : 534,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 775,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2144,
      "endLine" : 2154,
      "cleanedStartLine" : 1412,
      "cleanedEndLine" : 1420
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3785,
      "endLine" : 3795,
      "cleanedStartLine" : 2573,
      "cleanedEndLine" : 2581
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 617,
      "endLine" : 629,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 429
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 492,
      "endLine" : 504,
      "cleanedStartLine" : 330,
      "cleanedEndLine" : 338
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 91,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 217,
      "endLine" : 234,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 737,
      "endLine" : 748,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 470
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1191,
      "endLine" : 1202,
      "cleanedStartLine" : 798,
      "cleanedEndLine" : 806
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 274,
      "endLine" : 285,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 334,
      "endLine" : 345,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 46,
      "endLine" : 58,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 119,
      "endLine" : 131,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1966,
      "endLine" : 1975,
      "cleanedStartLine" : 927,
      "cleanedEndLine" : 935
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3068,
      "endLine" : 3077,
      "cleanedStartLine" : 1473,
      "cleanedEndLine" : 1481
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gbs_Emu.h",
        "extension" : "h",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 51,
      "endLine" : 59,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nsf_Emu.h",
        "extension" : "h",
        "linesOfCode" : 84,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 1808,
      "endLine" : 1822,
      "cleanedStartLine" : 856,
      "cleanedEndLine" : 864
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 1923,
      "endLine" : 1941,
      "cleanedStartLine" : 911,
      "cleanedEndLine" : 919
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 737,
      "endLine" : 748,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 470
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1681,
      "endLine" : 1692,
      "cleanedStartLine" : 1167,
      "cleanedEndLine" : 1175
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1245,
      "endLine" : 1253,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 650
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1263,
      "endLine" : 1271,
      "cleanedStartLine" : 657,
      "cleanedEndLine" : 665
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 41,
      "endLine" : 49,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1943,
      "endLine" : 1955,
      "cleanedStartLine" : 1083,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2140,
      "endLine" : 2152,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1225
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 646,
      "endLine" : 658,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 329
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 674,
      "endLine" : 686,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 345
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum_sf2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 797,
      "startLine" : 1251,
      "endLine" : 1267,
      "cleanedStartLine" : 652,
      "cleanedEndLine" : 660
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum_sf2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 797,
      "startLine" : 1337,
      "endLine" : 1355,
      "cleanedStartLine" : 698,
      "cleanedEndLine" : 706
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1943,
      "endLine" : 1955,
      "cleanedStartLine" : 1083,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2074,
      "endLine" : 2086,
      "cleanedStartLine" : 1172,
      "cleanedEndLine" : 1180
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 938,
      "endLine" : 946,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 732
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 976,
      "endLine" : 984,
      "cleanedStartLine" : 760,
      "cleanedEndLine" : 768
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 426,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 245
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 691,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 412
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1191,
      "endLine" : 1202,
      "cleanedStartLine" : 798,
      "cleanedEndLine" : 806
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2197,
      "endLine" : 2208,
      "cleanedStartLine" : 1489,
      "cleanedEndLine" : 1497
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 701,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 666,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 149,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 161,
      "endLine" : 178,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1943,
      "endLine" : 1955,
      "cleanedStartLine" : 1083,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2006,
      "endLine" : 2018,
      "cleanedStartLine" : 1126,
      "cleanedEndLine" : 1134
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 483,
      "endLine" : 492,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 360
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 564,
      "endLine" : 573,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3418,
      "endLine" : 3428,
      "cleanedStartLine" : 2317,
      "cleanedEndLine" : 2325
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3687,
      "endLine" : 3697,
      "cleanedStartLine" : 2520,
      "cleanedEndLine" : 2528
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 677,
      "endLine" : 686,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 444
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 786,
      "endLine" : 795,
      "cleanedStartLine" : 517,
      "cleanedEndLine" : 525
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1250,
      "endLine" : 1263,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 632
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 3780,
      "endLine" : 3793,
      "cleanedStartLine" : 1992,
      "cleanedEndLine" : 2000
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 810,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 535
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 775,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 920,
      "endLine" : 938,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 428
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/resourcefiles/file_directory.cpp",
        "extension" : "cpp",
        "linesOfCode" : 222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 147,
      "endLine" : 165,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/x86.cpp",
        "extension" : "cpp",
        "linesOfCode" : 304,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 202,
      "startLine" : 335,
      "endLine" : 343,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/x86.cpp",
        "extension" : "cpp",
        "linesOfCode" : 304,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 202,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2006,
      "endLine" : 2018,
      "cleanedStartLine" : 1126,
      "cleanedEndLine" : 1134
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2140,
      "endLine" : 2152,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1225
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 314,
      "endLine" : 328,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 362,
      "endLine" : 376,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 149,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 414,
      "endLine" : 431,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 66,
      "endLine" : 82,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 182,
      "endLine" : 196,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 396,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 2950,
      "endLine" : 2960,
      "cleanedStartLine" : 1388,
      "cleanedEndLine" : 1396
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3271,
      "endLine" : 3280,
      "cleanedStartLine" : 1612,
      "cleanedEndLine" : 1620
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 396,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/parser.cc",
        "extension" : "cc",
        "linesOfCode" : 1236,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 768,
      "startLine" : 170,
      "endLine" : 183,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/y.tab.h",
        "extension" : "h",
        "linesOfCode" : 42,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 68,
      "endLine" : 81,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 387,
      "endLine" : 396,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 489,
      "endLine" : 498,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 455,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 229,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/dumbfile.c",
        "extension" : "c",
        "linesOfCode" : 270,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 237,
      "endLine" : 247,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/dumbfile.c",
        "extension" : "c",
        "linesOfCode" : 270,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 288,
      "endLine" : 298,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2089,
      "endLine" : 2100,
      "cleanedStartLine" : 1182,
      "cleanedEndLine" : 1190
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2155,
      "endLine" : 2166,
      "cleanedStartLine" : 1227,
      "cleanedEndLine" : 1235
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/dumbfile.c",
        "extension" : "c",
        "linesOfCode" : 270,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 244,
      "endLine" : 254,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/dumbfile.c",
        "extension" : "c",
        "linesOfCode" : 270,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 281,
      "endLine" : 291,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 694,
      "endLine" : 705,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 317
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 874,
      "endLine" : 885,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 406
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 8,
      "endLine" : 16,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 248,
      "endLine" : 256,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gbs_Emu.h",
        "extension" : "h",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 51,
      "endLine" : 59,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Emu.h",
        "extension" : "h",
        "linesOfCode" : 75,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 543,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 583,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doomedmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 212,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 257,
      "endLine" : 269,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 641,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 650,
      "endLine" : 662,
      "cleanedStartLine" : 318,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/SkylineBinPack.cpp",
        "extension" : "cpp",
        "linesOfCode" : 321,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 152,
      "endLine" : 162,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/SkylineBinPack.cpp",
        "extension" : "cpp",
        "linesOfCode" : 321,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 179,
      "endLine" : 189,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1681,
      "endLine" : 1692,
      "cleanedStartLine" : 1167,
      "cleanedEndLine" : 1175
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2197,
      "endLine" : 2208,
      "cleanedStartLine" : 1489,
      "cleanedEndLine" : 1497
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1079,
      "endLine" : 1095,
      "cleanedStartLine" : 664,
      "cleanedEndLine" : 672
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1189,
      "endLine" : 1205,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 741
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 801,
      "endLine" : 810,
      "cleanedStartLine" : 527,
      "cleanedEndLine" : 535
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1189,
      "endLine" : 1205,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 741
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1341,
      "endLine" : 1357,
      "cleanedStartLine" : 835,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1024,
      "endLine" : 1040,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1079,
      "endLine" : 1095,
      "cleanedStartLine" : 664,
      "cleanedEndLine" : 672
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/b_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 424,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 308,
      "endLine" : 320,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/b_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 424,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 382,
      "endLine" : 392,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 334,
      "endLine" : 345,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 366,
      "endLine" : 377,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 766,
      "endLine" : 775,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 208,
      "endLine" : 220,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 304,
      "endLine" : 316,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Oscs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 269,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 129,
      "endLine" : 145,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Oscs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 269,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 266,
      "endLine" : 281,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1084,
      "endLine" : 1092,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1277,
      "endLine" : 1285,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 675
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1189,
      "endLine" : 1205,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 741
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1268,
      "endLine" : 1284,
      "cleanedStartLine" : 787,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2074,
      "endLine" : 2086,
      "cleanedStartLine" : 1172,
      "cleanedEndLine" : 1180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2140,
      "endLine" : 2152,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1225
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1252,
      "endLine" : 1266,
      "cleanedStartLine" : 703,
      "cleanedEndLine" : 711
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1326,
      "endLine" : 1340,
      "cleanedStartLine" : 737,
      "cleanedEndLine" : 745
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1084,
      "endLine" : 1092,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1217,
      "endLine" : 1225,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 630
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 878,
      "endLine" : 891,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 419
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1250,
      "endLine" : 1263,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 632
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1154,
      "endLine" : 1162,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 589
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1417,
      "endLine" : 1425,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 777
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 564,
      "endLine" : 573,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 428
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 656,
      "endLine" : 665,
      "cleanedStartLine" : 498,
      "cleanedEndLine" : 506
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1024,
      "endLine" : 1040,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1268,
      "endLine" : 1284,
      "cleanedStartLine" : 787,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Emu.h",
        "extension" : "h",
        "linesOfCode" : 58,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Emu.h",
        "extension" : "h",
        "linesOfCode" : 59,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1154,
      "endLine" : 1162,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 589
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1351,
      "endLine" : 1359,
      "cleanedStartLine" : 720,
      "cleanedEndLine" : 728
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1024,
      "endLine" : 1040,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1189,
      "endLine" : 1205,
      "cleanedStartLine" : 733,
      "cleanedEndLine" : 741
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1084,
      "endLine" : 1092,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1417,
      "endLine" : 1425,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 777
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 208,
      "endLine" : 220,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 464,
      "endLine" : 476,
      "cleanedStartLine" : 285,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 241
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 292,
      "endLine" : 300,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 266
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 391,
      "endLine" : 400,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 656,
      "endLine" : 665,
      "cleanedStartLine" : 498,
      "cleanedEndLine" : 506
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/tarray.h",
        "extension" : "h",
        "linesOfCode" : 694,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 907,
      "endLine" : 920,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/tarray.h",
        "extension" : "h",
        "linesOfCode" : 694,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 955,
      "endLine" : 968,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 408
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 208,
      "endLine" : 220,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 383,
      "endLine" : 395,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1587,
      "endLine" : 1595,
      "cleanedStartLine" : 1350,
      "cleanedEndLine" : 1358
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1667,
      "endLine" : 1675,
      "cleanedStartLine" : 1424,
      "cleanedEndLine" : 1432
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 878,
      "endLine" : 891,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 419
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 3780,
      "endLine" : 3793,
      "cleanedStartLine" : 1992,
      "cleanedEndLine" : 2000
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 608,
      "endLine" : 621,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 538,
      "endLine" : 551,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1084,
      "endLine" : 1092,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1351,
      "endLine" : 1359,
      "cleanedStartLine" : 720,
      "cleanedEndLine" : 728
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopxL.c",
        "extension" : "c",
        "linesOfCode" : 58,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1154,
      "endLine" : 1162,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 589
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1277,
      "endLine" : 1285,
      "cleanedStartLine" : 667,
      "cleanedEndLine" : 675
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 534,
      "endLine" : 543,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 97,
      "endLine" : 105,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 329,
      "endLine" : 337,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1154,
      "endLine" : 1162,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 589
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1217,
      "endLine" : 1225,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 630
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 574,
      "endLine" : 583,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 337,
      "endLine" : 349,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 391,
      "endLine" : 403,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 423,
      "endLine" : 438,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 568,
      "endLine" : 583,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2006,
      "endLine" : 2018,
      "cleanedStartLine" : 1126,
      "cleanedEndLine" : 1134
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2074,
      "endLine" : 2086,
      "cleanedStartLine" : 1172,
      "cleanedEndLine" : 1180
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1024,
      "endLine" : 1040,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1341,
      "endLine" : 1357,
      "cleanedStartLine" : 835,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 188,
      "endLine" : 198,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 90,
      "endLine" : 100,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/code.cc",
        "extension" : "cc",
        "linesOfCode" : 1538,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 876,
      "startLine" : 1089,
      "endLine" : 1103,
      "cleanedStartLine" : 525,
      "cleanedEndLine" : 533
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/code.cc",
        "extension" : "cc",
        "linesOfCode" : 1538,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 876,
      "startLine" : 1115,
      "endLine" : 1129,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 547
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 657,
      "endLine" : 666,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 692,
      "endLine" : 701,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 58,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 210,
      "endLine" : 219,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 229,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 425,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 382,
      "endLine" : 398,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 427,
      "endLine" : 444,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1084,
      "endLine" : 1092,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1154,
      "endLine" : 1162,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 589
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1388,
      "endLine" : 1397,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 755
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1461,
      "endLine" : 1470,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 808
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 587,
      "endLine" : 595,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 668,
      "endLine" : 676,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 376,
      "endLine" : 385,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 384,
      "endLine" : 393,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 335,
      "endLine" : 348,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 480,
      "endLine" : 493,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 376,
      "endLine" : 385,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 392,
      "endLine" : 401,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 237,
      "endLine" : 245,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 316,
      "endLine" : 324,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1188,
      "endLine" : 1197,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 611
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1251,
      "endLine" : 1260,
      "cleanedStartLine" : 648,
      "cleanedEndLine" : 655
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 676,
      "endLine" : 684,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 717,
      "endLine" : 725,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 431
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 453,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 166,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 151,
      "endLine" : 162,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 741,
      "endLine" : 760,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 676,
      "endLine" : 684,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 800,
      "endLine" : 808,
      "cleanedStartLine" : 479,
      "cleanedEndLine" : 486
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 413,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 230,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2927,
      "endLine" : 2939,
      "cleanedStartLine" : 2002,
      "cleanedEndLine" : 2009
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3286,
      "endLine" : 3298,
      "cleanedStartLine" : 2235,
      "cleanedEndLine" : 2242
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 3682,
      "endLine" : 3692,
      "cleanedStartLine" : 1724,
      "cleanedEndLine" : 1731
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 3949,
      "endLine" : 3959,
      "cleanedStartLine" : 1856,
      "cleanedEndLine" : 1863
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 276,
      "endLine" : 287,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 476,
      "endLine" : 487,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 339,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 227,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 592,
      "endLine" : 604,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 380,
      "endLine" : 390,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/i_timer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 158,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 107,
      "endLine" : 117,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1107,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 377,
      "endLine" : 387,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1102,
      "endLine" : 1115,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 562
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1429,
      "endLine" : 1442,
      "cleanedStartLine" : 780,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 108,
      "endLine" : 121,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 144,
      "endLine" : 157,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 871,
      "endLine" : 878,
      "cleanedStartLine" : 662,
      "cleanedEndLine" : 669
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 893,
      "endLine" : 900,
      "cleanedStartLine" : 682,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 166,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 170,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 676,
      "endLine" : 684,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 544,
      "cleanedEndLine" : 551
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 107,
      "endLine" : 116,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 2764,
      "endLine" : 2777,
      "cleanedStartLine" : 1258,
      "cleanedEndLine" : 1265
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 2782,
      "endLine" : 2796,
      "cleanedStartLine" : 1268,
      "cleanedEndLine" : 1275
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1318,
      "endLine" : 1327,
      "cleanedStartLine" : 697,
      "cleanedEndLine" : 704
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1388,
      "endLine" : 1397,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 755
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 264,
      "endLine" : 276,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 374,
      "endLine" : 385,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/i_input.cpp",
        "extension" : "cpp",
        "linesOfCode" : 426,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 302,
      "startLine" : 144,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_input.cpp",
        "extension" : "cpp",
        "linesOfCode" : 801,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 467,
      "startLine" : 177,
      "endLine" : 192,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 230,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 423,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 1923,
      "endLine" : 1930,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1269
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3500,
      "endLine" : 3507,
      "cleanedStartLine" : 2380,
      "cleanedEndLine" : 2387
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 2431,
      "endLine" : 2440,
      "cleanedStartLine" : 1095,
      "cleanedEndLine" : 1102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 2451,
      "endLine" : 2460,
      "cleanedStartLine" : 1108,
      "cleanedEndLine" : 1115
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 360,
      "endLine" : 369,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 368,
      "endLine" : 377,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 353,
      "endLine" : 365,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 429,
      "endLine" : 442,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 190,
      "endLine" : 199,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorf.c",
        "extension" : "c",
        "linesOfCode" : 52,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1247,
      "endLine" : 1255,
      "cleanedStartLine" : 761,
      "cleanedEndLine" : 768
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1354,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1324,
      "endLine" : 1332,
      "cleanedStartLine" : 817,
      "cleanedEndLine" : 824
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_net.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2344,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1556,
      "startLine" : 466,
      "endLine" : 476,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_net.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2344,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1556,
      "startLine" : 634,
      "endLine" : 644,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 193,
      "endLine" : 201,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1251,
      "endLine" : 1260,
      "cleanedStartLine" : 648,
      "cleanedEndLine" : 655
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1461,
      "endLine" : 1470,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 808
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 360,
      "endLine" : 369,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 376,
      "endLine" : 385,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 327,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 752,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 961,
      "endLine" : 970,
      "cleanedStartLine" : 530,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 979,
      "endLine" : 988,
      "cleanedStartLine" : 522,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 45,
      "endLine" : 62,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 339,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 413,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1102,
      "endLine" : 1115,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 562
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1164,
      "endLine" : 1177,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 597
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 2113,
      "endLine" : 2120,
      "cleanedStartLine" : 934,
      "cleanedEndLine" : 941
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 4987,
      "endLine" : 4994,
      "cleanedStartLine" : 2357,
      "cleanedEndLine" : 2364
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 152,
      "endLine" : 159,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 352,
      "endLine" : 360,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 384,
      "endLine" : 392,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3758,
      "endLine" : 3767,
      "cleanedStartLine" : 2540,
      "cleanedEndLine" : 2547
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3781,
      "endLine" : 3790,
      "cleanedStartLine" : 2559,
      "cleanedEndLine" : 2566
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 453,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 230,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 166,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 220,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1086,
      "endLine" : 1093,
      "cleanedStartLine" : 912,
      "cleanedEndLine" : 919
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1225,
      "endLine" : 1232,
      "cleanedStartLine" : 1029,
      "cleanedEndLine" : 1036
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 339,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 423,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 360,
      "endLine" : 369,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 392,
      "endLine" : 401,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 360,
      "endLine" : 369,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 384,
      "endLine" : 393,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 268,
      "endLine" : 276,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 193
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 296,
      "endLine" : 304,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 773,
      "endLine" : 785,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 399
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 826,
      "endLine" : 838,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 425
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1525,
      "endLine" : 1532,
      "cleanedStartLine" : 1293,
      "cleanedEndLine" : 1300
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1552,
      "endLine" : 1559,
      "cleanedStartLine" : 1319,
      "cleanedEndLine" : 1326
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3562,
      "endLine" : 3569,
      "cleanedStartLine" : 1819,
      "cleanedEndLine" : 1826
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.h",
        "extension" : "h",
        "linesOfCode" : 153,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 227,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 230,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 400,
      "endLine" : 410,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readokt.c",
        "extension" : "c",
        "linesOfCode" : 414,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 322,
      "startLine" : 394,
      "endLine" : 404,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1102,
      "endLine" : 1115,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 562
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1289,
      "endLine" : 1302,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 685
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 565,
      "endLine" : 575,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 160,
      "endLine" : 172,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 182,
      "endLine" : 194,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zDec.c",
        "extension" : "c",
        "linesOfCode" : 508,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 368,
      "startLine" : 146,
      "endLine" : 154,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zDec.c",
        "extension" : "c",
        "linesOfCode" : 508,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 368,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1251,
      "endLine" : 1260,
      "cleanedStartLine" : 648,
      "cleanedEndLine" : 655
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1318,
      "endLine" : 1327,
      "cleanedStartLine" : 697,
      "cleanedEndLine" : 704
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopdd.c",
        "extension" : "c",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 109,
      "endLine" : 117,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/dumbfile.c",
        "extension" : "c",
        "linesOfCode" : 270,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 224,
      "endLine" : 234,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/core/dumbfile.c",
        "extension" : "c",
        "linesOfCode" : 270,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 845,
      "endLine" : 855,
      "cleanedStartLine" : 427,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Fme7_Apu.h",
        "extension" : "h",
        "linesOfCode" : 99,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 20,
      "endLine" : 28,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Vrc6_Apu.h",
        "extension" : "h",
        "linesOfCode" : 72,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 13,
      "endLine" : 21,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 763,
      "endLine" : 773,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 412,
      "endLine" : 426,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 459,
      "endLine" : 472,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1076,
      "endLine" : 1098,
      "cleanedStartLine" : 577,
      "cleanedEndLine" : 584
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1201,
      "endLine" : 1212,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 539,
      "endLine" : 547,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_ddraw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1109,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 362,
      "endLine" : 370,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 496,
      "endLine" : 504,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 562,
      "endLine" : 570,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 239,
      "endLine" : 252,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 43,
      "endLine" : 56,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1125,
      "endLine" : 1135,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 573
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1461,
      "endLine" : 1470,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 808
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 180,
      "endLine" : 195,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 267,
      "endLine" : 282,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 846,
      "endLine" : 853,
      "cleanedStartLine" : 639,
      "cleanedEndLine" : 646
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 893,
      "endLine" : 900,
      "cleanedStartLine" : 682,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 846,
      "endLine" : 853,
      "cleanedStartLine" : 639,
      "cleanedEndLine" : 646
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 871,
      "endLine" : 878,
      "cleanedStartLine" : 662,
      "cleanedEndLine" : 669
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 166,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 398,
      "endLine" : 413,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 565,
      "endLine" : 575,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 255
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 35,
      "endLine" : 42,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.h",
        "extension" : "h",
        "linesOfCode" : 149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 35,
      "endLine" : 42,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_trace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 569,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 367,
      "startLine" : 500,
      "endLine" : 512,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_trace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 569,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 367,
      "startLine" : 613,
      "endLine" : 625,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 645,
      "endLine" : 655,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 301
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 645,
      "endLine" : 655,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 301
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 388,
      "endLine" : 396,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 574,
      "endLine" : 585,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 394
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 684,
      "endLine" : 695,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 496,
      "endLine" : 504,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 517,
      "endLine" : 525,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 260
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 190,
      "endLine" : 199,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorx.c",
        "extension" : "c",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5446,
      "endLine" : 5454,
      "cleanedStartLine" : 2675,
      "cleanedEndLine" : 2682
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5472,
      "endLine" : 5480,
      "cleanedStartLine" : 2687,
      "cleanedEndLine" : 2694
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 490,
      "endLine" : 498,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 459,
      "endLine" : 467,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 369,
      "endLine" : 380,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 403,
      "endLine" : 414,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 5881,
      "endLine" : 5892,
      "cleanedStartLine" : 2752,
      "cleanedEndLine" : 2759
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_user.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2462,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1569,
      "startLine" : 2885,
      "endLine" : 2896,
      "cleanedStartLine" : 1360,
      "cleanedEndLine" : 1367
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 932,
      "endLine" : 942,
      "cleanedStartLine" : 611,
      "cleanedEndLine" : 618
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 1105,
      "endLine" : 1116,
      "cleanedStartLine" : 737,
      "cleanedEndLine" : 744
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 763,
      "endLine" : 773,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_maputl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1100,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 751,
      "startLine" : 1223,
      "endLine" : 1232,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 559
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sight.cpp",
        "extension" : "cpp",
        "linesOfCode" : 497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 477,
      "endLine" : 485,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Apu.h",
        "extension" : "h",
        "linesOfCode" : 50,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 10,
      "endLine" : 31,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sms_Apu.h",
        "extension" : "h",
        "linesOfCode" : 40,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 10,
      "endLine" : 30,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1125,
      "endLine" : 1135,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 573
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1318,
      "endLine" : 1327,
      "cleanedStartLine" : 697,
      "cleanedEndLine" : 704
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 575,
      "endLine" : 583,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 535,
      "endLine" : 543,
      "cleanedStartLine" : 328,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 457,
      "endLine" : 465,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 499,
      "endLine" : 507,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 271,
      "endLine" : 280,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 722,
      "endLine" : 732,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorf.c",
        "extension" : "c",
        "linesOfCode" : 52,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1125,
      "endLine" : 1135,
      "cleanedStartLine" : 566,
      "cleanedEndLine" : 573
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1188,
      "endLine" : 1197,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 611
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 69,
      "endLine" : 76,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 46,
      "endLine" : 53,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 107,
      "endLine" : 116,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorf.c",
        "extension" : "c",
        "linesOfCode" : 52,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zStream.c",
        "extension" : "c",
        "linesOfCode" : 148,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 12,
      "endLine" : 21,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zStream.c",
        "extension" : "c",
        "linesOfCode" : 148,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 54,
      "endLine" : 63,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 339,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 220,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 141,
      "endLine" : 150,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/fmopl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1073,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 801,
      "startLine" : 853,
      "endLine" : 864,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/fmopl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1073,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 801,
      "startLine" : 936,
      "endLine" : 947,
      "cleanedStartLine" : 401,
      "cleanedEndLine" : 408
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1188,
      "endLine" : 1197,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 611
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1388,
      "endLine" : 1397,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 755
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/intermission/intermission_parse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 736,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 498,
      "startLine" : 154,
      "endLine" : 161,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/intermission/intermission_parse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 736,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 498,
      "startLine" : 172,
      "endLine" : 179,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 43,
      "endLine" : 56,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 192,
      "endLine" : 205,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 926,
      "endLine" : 936,
      "cleanedStartLine" : 482,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 114,
      "endLine" : 121,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopxL.c",
        "extension" : "c",
        "linesOfCode" : 58,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 71,
      "endLine" : 79,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 59,
      "endLine" : 67,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/po_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1669,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1089,
      "startLine" : 639,
      "endLine" : 648,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 313
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/po_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1669,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1089,
      "startLine" : 681,
      "endLine" : 690,
      "cleanedStartLine" : 333,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 805,
      "endLine" : 815,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 845,
      "endLine" : 855,
      "cleanedStartLine" : 427,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 658,
      "endLine" : 666,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1198,
      "endLine" : 1207,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 703
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 644,
      "endLine" : 653,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1778,
      "endLine" : 1785,
      "cleanedStartLine" : 1348,
      "cleanedEndLine" : 1355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2198,
      "endLine" : 2205,
      "cleanedStartLine" : 1637,
      "cleanedEndLine" : 1644
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 188,
      "endLine" : 202,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 886,
      "endLine" : 896,
      "cleanedStartLine" : 455,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doomedmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 212,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 156,
      "endLine" : 166,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 641,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 596,
      "endLine" : 606,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 693,
      "endLine" : 701,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 139,
      "endLine" : 148,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 195,
      "endLine" : 204,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 559,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 383
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1398,
      "endLine" : 1406,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 800
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1488,
      "endLine" : 1496,
      "cleanedStartLine" : 860,
      "cleanedEndLine" : 867
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 938,
      "endLine" : 945,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 731
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1006,
      "endLine" : 1013,
      "cleanedStartLine" : 788,
      "cleanedEndLine" : 795
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/executor.hpp",
        "extension" : "hpp",
        "linesOfCode" : 30,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 66,
      "endLine" : 115,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/executor.hpp",
        "extension" : "hpp",
        "linesOfCode" : 103,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtord.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 83,
      "endLine" : 92,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 190,
      "endLine" : 199,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 520,
      "endLine" : 528,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 599,
      "endLine" : 607,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 767,
      "endLine" : 775,
      "cleanedStartLine" : 501,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 802,
      "endLine" : 810,
      "cleanedStartLine" : 528,
      "cleanedEndLine" : 535
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1778,
      "endLine" : 1785,
      "cleanedStartLine" : 1348,
      "cleanedEndLine" : 1355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2423,
      "endLine" : 2430,
      "cleanedStartLine" : 1796,
      "cleanedEndLine" : 1803
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 560,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 372
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 237,
      "endLine" : 245,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1045,
      "endLine" : 1053,
      "cleanedStartLine" : 619,
      "cleanedEndLine" : 626
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1328,
      "endLine" : 1335,
      "cleanedStartLine" : 816,
      "cleanedEndLine" : 823
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 262,
      "endLine" : 269,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 333,
      "endLine" : 340,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 162,
      "endLine" : 176,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 176,
      "endLine" : 189,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 806,
      "endLine" : 814,
      "cleanedStartLine" : 544,
      "cleanedEndLine" : 551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 819,
      "endLine" : 827,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 562
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1045,
      "endLine" : 1053,
      "cleanedStartLine" : 619,
      "cleanedEndLine" : 626
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1375,
      "endLine" : 1382,
      "cleanedStartLine" : 851,
      "cleanedEndLine" : 858
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 2786,
      "endLine" : 2796,
      "cleanedStartLine" : 1371,
      "cleanedEndLine" : 1378
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 2853,
      "endLine" : 2863,
      "cleanedStartLine" : 1402,
      "cleanedEndLine" : 1409
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 988,
      "endLine" : 995,
      "cleanedStartLine" : 578,
      "cleanedEndLine" : 585
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1045,
      "endLine" : 1053,
      "cleanedStartLine" : 619,
      "cleanedEndLine" : 626
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 166,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 212,
      "endLine" : 227,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 56,
      "endLine" : 63,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Oscs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 269,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 179,
      "endLine" : 191,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Oscs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 269,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 269,
      "endLine" : 281,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 399,
      "endLine" : 410,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 405,
      "endLine" : 416,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_flechette.cpp",
        "extension" : "cpp",
        "linesOfCode" : 309,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 245,
      "endLine" : 258,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_pickups.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1158,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 642,
      "startLine" : 605,
      "endLine" : 620,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 107,
      "endLine" : 116,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtord.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 83,
      "endLine" : 92,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/M3u_Playlist.cpp",
        "extension" : "cpp",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 105,
      "endLine" : 117,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/M3u_Playlist.cpp",
        "extension" : "cpp",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 234,
      "endLine" : 247,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 372,
      "endLine" : 381,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 414,
      "endLine" : 423,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_fatso.cpp",
        "extension" : "cpp",
        "linesOfCode" : 127,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_fatso.cpp",
        "extension" : "cpp",
        "linesOfCode" : 127,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 56,
      "endLine" : 67,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 66,
      "endLine" : 79,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 160,
      "endLine" : 172,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_fatso.cpp",
        "extension" : "cpp",
        "linesOfCode" : 127,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_fatso.cpp",
        "extension" : "cpp",
        "linesOfCode" : 127,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 84,
      "endLine" : 95,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.h",
        "extension" : "h",
        "linesOfCode" : 110,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 168,
      "endLine" : 175,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1045,
      "endLine" : 1053,
      "cleanedStartLine" : 619,
      "cleanedEndLine" : 626
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1273,
      "endLine" : 1280,
      "cleanedStartLine" : 776,
      "cleanedEndLine" : 783
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 916,
      "endLine" : 924,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 666
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1045,
      "endLine" : 1053,
      "cleanedStartLine" : 619,
      "cleanedEndLine" : 626
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1237,
      "endLine" : 1244,
      "cleanedStartLine" : 749,
      "cleanedEndLine" : 756
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 406,
      "endLine" : 418,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 429,
      "endLine" : 442,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3258,
      "endLine" : 3268,
      "cleanedStartLine" : 2217,
      "cleanedEndLine" : 2224
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3365,
      "endLine" : 3375,
      "cleanedStartLine" : 2280,
      "cleanedEndLine" : 2287
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 438,
      "endLine" : 453,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 339,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 3370,
      "endLine" : 3385,
      "cleanedStartLine" : 1827,
      "cleanedEndLine" : 1834
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 512,
      "endLine" : 527,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 255
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1164,
      "endLine" : 1177,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 597
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1229,
      "endLine" : 1242,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 640
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 766,
      "endLine" : 776,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 959,
      "endLine" : 969,
      "cleanedStartLine" : 588,
      "cleanedEndLine" : 595
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 766,
      "endLine" : 776,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 862,
      "endLine" : 872,
      "cleanedStartLine" : 524,
      "cleanedEndLine" : 531
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Apu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 257,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 114,
      "endLine" : 124,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Apu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 257,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 141,
      "endLine" : 151,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 384,
      "endLine" : 393,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 392,
      "endLine" : 401,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 847,
      "endLine" : 861,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 951,
      "endLine" : 964,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 421
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 926,
      "endLine" : 936,
      "cleanedStartLine" : 482,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1164,
      "endLine" : 1177,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 597
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1363,
      "endLine" : 1376,
      "cleanedStartLine" : 731,
      "cleanedEndLine" : 738
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorf.c",
        "extension" : "c",
        "linesOfCode" : 52,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorx.c",
        "extension" : "c",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 618,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 898,
      "endLine" : 909,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 307
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 618,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 924,
      "endLine" : 935,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 318
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 314,
      "endLine" : 321,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 341,
      "endLine" : 348,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_level.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1499,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 959,
      "startLine" : 1784,
      "endLine" : 1794,
      "cleanedStartLine" : 840,
      "cleanedEndLine" : 847
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_level.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1499,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 959,
      "startLine" : 1806,
      "endLine" : 1816,
      "cleanedStartLine" : 856,
      "cleanedEndLine" : 863
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_parse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 424,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 275,
      "startLine" : 429,
      "endLine" : 438,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_parse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 424,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 275,
      "startLine" : 458,
      "endLine" : 467,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 821,
      "endLine" : 828,
      "cleanedStartLine" : 616,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 871,
      "endLine" : 878,
      "cleanedStartLine" : 662,
      "cleanedEndLine" : 669
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 821,
      "endLine" : 828,
      "cleanedStartLine" : 616,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 893,
      "endLine" : 900,
      "cleanedStartLine" : 682,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 412,
      "endLine" : 420,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 599,
      "endLine" : 607,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 170,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 230,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 368,
      "endLine" : 377,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 376,
      "endLine" : 385,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 298,
      "endLine" : 305,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 498,
      "endLine" : 505,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 341
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 821,
      "endLine" : 828,
      "cleanedStartLine" : 616,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 846,
      "endLine" : 853,
      "cleanedStartLine" : 639,
      "cleanedEndLine" : 646
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 254,
      "endLine" : 264,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_font.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1250,
      "startLine" : 1844,
      "endLine" : 1854,
      "cleanedStartLine" : 821,
      "cleanedEndLine" : 828
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 190,
      "endLine" : 199,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorxL.c",
        "extension" : "c",
        "linesOfCode" : 68,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2437,
      "endLine" : 2444,
      "cleanedStartLine" : 1620,
      "cleanedEndLine" : 1627
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2908,
      "endLine" : 2915,
      "cleanedStartLine" : 1974,
      "cleanedEndLine" : 1981
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 368,
      "endLine" : 377,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 392,
      "endLine" : 401,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 368,
      "endLine" : 377,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 384,
      "endLine" : 393,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 730,
      "endLine" : 737,
      "cleanedStartLine" : 533,
      "cleanedEndLine" : 540
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 773,
      "endLine" : 780,
      "cleanedStartLine" : 573,
      "cleanedEndLine" : 580
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 176,
      "endLine" : 189,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_ddraw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1109,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 70,
      "endLine" : 83,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 584,
      "endLine" : 591,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 580,
      "endLine" : 587,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 336
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 127,
      "endLine" : 135,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 800,
      "endLine" : 808,
      "cleanedStartLine" : 479,
      "cleanedEndLine" : 486
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 544,
      "cleanedEndLine" : 551
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 412,
      "endLine" : 420,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 520,
      "endLine" : 528,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_fatso.cpp",
        "extension" : "cpp",
        "linesOfCode" : 127,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 56,
      "endLine" : 67,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_fatso.cpp",
        "extension" : "cpp",
        "linesOfCode" : 127,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 84,
      "endLine" : 95,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 107,
      "endLine" : 116,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorx.c",
        "extension" : "c",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 316,
      "endLine" : 324,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 916,
      "endLine" : 924,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 666
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 300,
      "endLine" : 308,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 412,
      "endLine" : 420,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 452,
      "endLine" : 460,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 116,
      "endLine" : 128,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 160,
      "endLine" : 172,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 116,
      "endLine" : 128,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 182,
      "endLine" : 194,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_utility.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_utility.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 249,
      "endLine" : 257,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 215,
      "endLine" : 230,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 205,
      "endLine" : 220,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtord.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 83,
      "endLine" : 92,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorf.c",
        "extension" : "c",
        "linesOfCode" : 52,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 984,
      "endLine" : 992,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 715
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 846,
      "endLine" : 854,
      "cleanedStartLine" : 587,
      "cleanedEndLine" : 594
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 108,
      "endLine" : 116,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_xinput.cpp",
        "extension" : "cpp",
        "linesOfCode" : 472,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 290,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 151,
      "endLine" : 166,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 408,
      "endLine" : 423,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_utility.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_utility.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 212,
      "endLine" : 220,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 155,
      "endLine" : 170,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 324,
      "endLine" : 339,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 525,
      "endLine" : 542,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 299,
      "endLine" : 316,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Oscs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 269,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 133,
      "endLine" : 145,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Oscs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 269,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 179,
      "endLine" : 191,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 276,
      "endLine" : 287,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 224,
      "endLine" : 235,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_floor.cpp",
        "extension" : "cpp",
        "linesOfCode" : 924,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 693,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_floor.cpp",
        "extension" : "cpp",
        "linesOfCode" : 924,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 693,
      "startLine" : 178,
      "endLine" : 186,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 559,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 383
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 560,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 372
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/i_system.h",
        "extension" : "h",
        "linesOfCode" : 72,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 31,
      "endLine" : 45,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_system.h",
        "extension" : "h",
        "linesOfCode" : 99,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 28,
      "endLine" : 38,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 194,
      "endLine" : 202,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 160,
      "endLine" : 168,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 197,
      "endLine" : 205,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 520,
      "endLine" : 528,
      "cleanedStartLine" : 386,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 477,
      "endLine" : 485,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 861,
      "endLine" : 869,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 393
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/resourcefiles/file_wad.cpp",
        "extension" : "cpp",
        "linesOfCode" : 457,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 319,
      "startLine" : 254,
      "endLine" : 266,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/resourcefiles/resourcefile.cpp",
        "extension" : "cpp",
        "linesOfCode" : 381,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 584,
      "endLine" : 595,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 354,
      "endLine" : 372,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 556,
      "endLine" : 574,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_dfmt.c",
        "extension" : "c",
        "linesOfCode" : 60,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 42,
      "endLine" : 54,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_xLfmt.c",
        "extension" : "c",
        "linesOfCode" : 74,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 403,
      "endLine" : 410,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 250,
      "endLine" : 257,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 373,
      "endLine" : 380,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFindMt.c",
        "extension" : "c",
        "linesOfCode" : 627,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 448,
      "startLine" : 265,
      "endLine" : 272,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1083,
      "endLine" : 1095,
      "cleanedStartLine" : 666,
      "cleanedEndLine" : 672
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1144,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 702
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 144,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterquietus.cpp",
        "extension" : "cpp",
        "linesOfCode" : 83,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.h",
        "extension" : "h",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 211,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.h",
        "extension" : "h",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 211,
      "startLine" : 238,
      "endLine" : 247,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 1039,
      "endLine" : 1047,
      "cleanedStartLine" : 630,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 1089,
      "endLine" : 1097,
      "cleanedStartLine" : 673,
      "cleanedEndLine" : 679
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 537,
      "endLine" : 544,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 378
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 901,
      "endLine" : 907,
      "cleanedStartLine" : 583,
      "cleanedEndLine" : 589
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.h",
        "extension" : "h",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 211,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.h",
        "extension" : "h",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 211,
      "startLine" : 302,
      "endLine" : 311,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 326,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1995,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1120
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 299,
      "endLine" : 307,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 500,
      "endLine" : 508,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/Lzma2Dec.c",
        "extension" : "c",
        "linesOfCode" : 311,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 226,
      "startLine" : 348,
      "endLine" : 354,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaDec.c",
        "extension" : "c",
        "linesOfCode" : 971,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 653,
      "startLine" : 968,
      "endLine" : 974,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 744,
      "endLine" : 755,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 620,
      "endLine" : 626,
      "cleanedStartLine" : 417,
      "cleanedEndLine" : 423
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 642,
      "endLine" : 648,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 442
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 352,
      "endLine" : 359,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 827,
      "endLine" : 834,
      "cleanedStartLine" : 415,
      "cleanedEndLine" : 421
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 108,
      "endLine" : 119,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 180,
      "endLine" : 191,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/posix/search_path.hpp",
        "extension" : "hpp",
        "linesOfCode" : 38,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 23,
      "endLine" : 31,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/search_path.hpp",
        "extension" : "hpp",
        "linesOfCode" : 88,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 514,
      "endLine" : 523,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 670,
      "endLine" : 679,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5243,
      "endLine" : 5252,
      "cleanedStartLine" : 2580,
      "cleanedEndLine" : 2586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5265,
      "endLine" : 5274,
      "cleanedStartLine" : 2589,
      "cleanedEndLine" : 2595
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1028,
      "endLine" : 1040,
      "cleanedStartLine" : 630,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1144,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 702
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 992,
      "endLine" : 999,
      "cleanedStartLine" : 656,
      "cleanedEndLine" : 662
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 1051,
      "endLine" : 1058,
      "cleanedStartLine" : 699,
      "cleanedEndLine" : 705
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 355,
      "endLine" : 365,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 382,
      "endLine" : 392,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1382,
      "endLine" : 1389,
      "cleanedStartLine" : 860,
      "cleanedEndLine" : 866
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1407,
      "endLine" : 1414,
      "cleanedStartLine" : 879,
      "cleanedEndLine" : 885
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 352,
      "endLine" : 359,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 908,
      "endLine" : 915,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 180,
      "endLine" : 191,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 864,
      "endLine" : 875,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 526,
      "endLine" : 538,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 1059,
      "endLine" : 1067,
      "cleanedStartLine" : 647,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_Qfmt.c",
        "extension" : "c",
        "linesOfCode" : 80,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_xLfmt.c",
        "extension" : "c",
        "linesOfCode" : 74,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 81,
      "endLine" : 89,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 139,
      "endLine" : 147,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 136,
      "endLine" : 144,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 526,
      "endLine" : 537,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 547,
      "endLine" : 558,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 318
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Multi_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 175,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 168,
      "endLine" : 176,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Multi_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 175,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 124,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 314,
      "endLine" : 320,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 442,
      "endLine" : 449,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 814,
      "endLine" : 821,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 465
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 2858,
      "endLine" : 2864,
      "cleanedStartLine" : 1268,
      "cleanedEndLine" : 1274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 2871,
      "endLine" : 2877,
      "cleanedStartLine" : 1277,
      "cleanedEndLine" : 1283
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_ddfmt.c",
        "extension" : "c",
        "linesOfCode" : 137,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 48,
      "endLine" : 56,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1144,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 702
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1193,
      "endLine" : 1205,
      "cleanedStartLine" : 735,
      "cleanedEndLine" : 741
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 371,
      "endLine" : 380,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 433,
      "endLine" : 442,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 921,
      "endLine" : 929,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1023,
      "endLine" : 1031,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 431
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 157,
      "endLine" : 170,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 564,
      "endLine" : 575,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 299
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 898,
      "endLine" : 908,
      "cleanedStartLine" : 456,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 751,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 364
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1486,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 820
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 371,
      "endLine" : 380,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 507,
      "endLine" : 516,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 144,
      "endLine" : 155,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 864,
      "endLine" : 875,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1219,
      "endLine" : 1225,
      "cleanedStartLine" : 686,
      "cleanedEndLine" : 692
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1493,
      "endLine" : 1499,
      "cleanedStartLine" : 828,
      "cleanedEndLine" : 834
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 385,
      "endLine" : 397,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 412,
      "endLine" : 426,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1144,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 702
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1345,
      "endLine" : 1357,
      "cleanedStartLine" : 837,
      "cleanedEndLine" : 843
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 1174,
      "endLine" : 1185,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericflame.cpp",
        "extension" : "cpp",
        "linesOfCode" : 114,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 751,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 364
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1458,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 799
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 250,
      "endLine" : 257,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readokt.c",
        "extension" : "c",
        "linesOfCode" : 414,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 322,
      "startLine" : 397,
      "endLine" : 404,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 1174,
      "endLine" : 1185,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 114,
      "endLine" : 120,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 666,
      "endLine" : 675,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 668,
      "endLine" : 677,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 174,
      "endLine" : 183,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 319,
      "endLine" : 328,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa_fltrnds.h",
        "extension" : "h",
        "linesOfCode" : 18,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 2,
      "endLine" : 10,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 271,
      "endLine" : 277,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 293,
      "endLine" : 299,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 701,
      "endLine" : 709,
      "cleanedStartLine" : 433,
      "cleanedEndLine" : 439
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1035,
      "endLine" : 1043,
      "cleanedStartLine" : 681,
      "cleanedEndLine" : 687
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5609,
      "endLine" : 5616,
      "cleanedStartLine" : 2749,
      "cleanedEndLine" : 2755
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5634,
      "endLine" : 5641,
      "cleanedStartLine" : 2760,
      "cleanedEndLine" : 2766
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 174,
      "endLine" : 183,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 367,
      "endLine" : 376,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 286,
      "endLine" : 292,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 386,
      "endLine" : 392,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 755,
      "endLine" : 762,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 408
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 749,
      "endLine" : 756,
      "cleanedStartLine" : 451,
      "cleanedEndLine" : 457
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 715,
      "endLine" : 730,
      "cleanedStartLine" : 396,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3542,
      "endLine" : 3548,
      "cleanedStartLine" : 2413,
      "cleanedEndLine" : 2419
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3557,
      "endLine" : 3563,
      "cleanedStartLine" : 2428,
      "cleanedEndLine" : 2434
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2742,
      "endLine" : 2751,
      "cleanedStartLine" : 1072,
      "cleanedEndLine" : 1078
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2778,
      "endLine" : 2787,
      "cleanedStartLine" : 1090,
      "cleanedEndLine" : 1096
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 392,
      "endLine" : 400,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 446,
      "endLine" : 454,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 286,
      "endLine" : 292,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 201,
      "endLine" : 211,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 148,
      "endLine" : 157,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_oper.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 492,
      "endLine" : 504,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_oper.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 557,
      "endLine" : 569,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 144,
      "endLine" : 155,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 180,
      "endLine" : 191,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 151,
      "endLine" : 158,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 583,
      "endLine" : 590,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3056,
      "endLine" : 3063,
      "cleanedStartLine" : 1463,
      "cleanedEndLine" : 1469
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9_wipe.cpp",
        "extension" : "cpp",
        "linesOfCode" : 395,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 277,
      "startLine" : 516,
      "endLine" : 523,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_doors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 601,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 647,
      "endLine" : 658,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_doors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 601,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 693,
      "endLine" : 704,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5758,
      "endLine" : 5764,
      "cleanedStartLine" : 2814,
      "cleanedEndLine" : 2820
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5783,
      "endLine" : 5789,
      "cleanedStartLine" : 2825,
      "cleanedEndLine" : 2831
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 549,
      "endLine" : 556,
      "cleanedStartLine" : 477,
      "cleanedEndLine" : 483
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 627,
      "endLine" : 634,
      "cleanedStartLine" : 540,
      "cleanedEndLine" : 546
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1914,
      "endLine" : 1920,
      "cleanedStartLine" : 1446,
      "cleanedEndLine" : 1452
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2199,
      "endLine" : 2205,
      "cleanedStartLine" : 1638,
      "cleanedEndLine" : 1644
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3047,
      "endLine" : 3054,
      "cleanedStartLine" : 1455,
      "cleanedEndLine" : 1461
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9_wipe.cpp",
        "extension" : "cpp",
        "linesOfCode" : 395,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 277,
      "startLine" : 507,
      "endLine" : 514,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild.h",
        "extension" : "h",
        "linesOfCode" : 289,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 321,
      "endLine" : 328,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1375,
      "endLine" : 1382,
      "cleanedStartLine" : 672,
      "cleanedEndLine" : 678
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 365,
      "endLine" : 373,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1509,
      "endLine" : 1517,
      "cleanedStartLine" : 827,
      "cleanedEndLine" : 833
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 214,
      "endLine" : 227,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_alloc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 158,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 114,
      "endLine" : 124,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_alloc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 158,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 185,
      "endLine" : 195,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 998,
      "endLine" : 1005,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 592
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1342,
      "endLine" : 1349,
      "cleanedStartLine" : 828,
      "cleanedEndLine" : 834
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 761,
      "endLine" : 767,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 568
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 434,
      "endLine" : 446,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1144,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 702
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.cpp",
        "extension" : "cpp",
        "linesOfCode" : 867,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 511,
      "endLine" : 517,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.cpp",
        "extension" : "cpp",
        "linesOfCode" : 867,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 532,
      "endLine" : 538,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 320
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/bitmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 353,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 153,
      "endLine" : 161,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/bitmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 353,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 793,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 561,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_floor.cpp",
        "extension" : "cpp",
        "linesOfCode" : 924,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 693,
      "startLine" : 870,
      "endLine" : 880,
      "cleanedStartLine" : 468,
      "cleanedEndLine" : 474
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_pillar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 185,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 62,
      "endLine" : 72,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1084,
      "endLine" : 1091,
      "cleanedStartLine" : 614,
      "cleanedEndLine" : 620
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 598,
      "endLine" : 605,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_input.cpp",
        "extension" : "cpp",
        "linesOfCode" : 801,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 467,
      "startLine" : 539,
      "endLine" : 546,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_movie.cpp",
        "extension" : "cpp",
        "linesOfCode" : 396,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 256,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 769,
      "endLine" : 778,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 395
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 947,
      "endLine" : 956,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 492
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_Qfmt.c",
        "extension" : "c",
        "linesOfCode" : 80,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 62,
      "endLine" : 75,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_xLfmt.c",
        "extension" : "c",
        "linesOfCode" : 74,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 60,
      "endLine" : 73,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 338
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 652,
      "endLine" : 662,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 347,
      "endLine" : 354,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 659,
      "endLine" : 666,
      "cleanedStartLine" : 426,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 1055,
      "endLine" : 1065,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 558
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 1160,
      "endLine" : 1170,
      "cleanedStartLine" : 609,
      "cleanedEndLine" : 615
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1914,
      "endLine" : 1920,
      "cleanedStartLine" : 1446,
      "cleanedEndLine" : 1452
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2424,
      "endLine" : 2430,
      "cleanedStartLine" : 1797,
      "cleanedEndLine" : 1803
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_chicken.cpp",
        "extension" : "cpp",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 164,
      "endLine" : 172,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_chicken.cpp",
        "extension" : "cpp",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 460,
      "endLine" : 470,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 492,
      "endLine" : 502,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 271,
      "endLine" : 283,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/win32video.cpp",
        "extension" : "cpp",
        "linesOfCode" : 597,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 370,
      "startLine" : 122,
      "endLine" : 134,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 526,
      "endLine" : 532,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 536,
      "endLine" : 542,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 139,
      "endLine" : 147,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 176,
      "endLine" : 184,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 144,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbar_mugshot.cpp",
        "extension" : "cpp",
        "linesOfCode" : 332,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 392,
      "endLine" : 402,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbar_mugshot.cpp",
        "extension" : "cpp",
        "linesOfCode" : 332,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 419,
      "endLine" : 429,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 213,
      "endLine" : 223,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 611,
      "endLine" : 621,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 338
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 213,
      "endLine" : 223,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 652,
      "endLine" : 662,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 392,
      "endLine" : 400,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 365,
      "endLine" : 373,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 618,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 900,
      "endLine" : 909,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 307
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 618,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 1000,
      "endLine" : 1009,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 347
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 558,
      "endLine" : 566,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 1596,
      "endLine" : 1604,
      "cleanedStartLine" : 808,
      "cleanedEndLine" : 814
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 263,
      "endLine" : 269,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 357,
      "endLine" : 363,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1276,
      "endLine" : 1282,
      "cleanedStartLine" : 673,
      "cleanedEndLine" : 679
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1328,
      "endLine" : 1334,
      "cleanedStartLine" : 701,
      "cleanedEndLine" : 707
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 740,
      "endLine" : 748,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 398
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 734,
      "endLine" : 742,
      "cleanedStartLine" : 439,
      "cleanedEndLine" : 445
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 1653,
      "endLine" : 1664,
      "cleanedStartLine" : 821,
      "cleanedEndLine" : 827
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 1725,
      "endLine" : 1736,
      "cleanedStartLine" : 864,
      "cleanedEndLine" : 870
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_midistream.cpp",
        "extension" : "cpp",
        "linesOfCode" : 944,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 992,
      "endLine" : 1000,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 365
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_midistream.cpp",
        "extension" : "cpp",
        "linesOfCode" : 944,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 558,
      "startLine" : 1024,
      "endLine" : 1032,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 380
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_system.mm",
        "extension" : "mm",
        "linesOfCode" : 254,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 133,
      "endLine" : 142,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 571,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 523,
      "endLine" : 531,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_xinput.cpp",
        "extension" : "cpp",
        "linesOfCode" : 472,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 290,
      "startLine" : 278,
      "endLine" : 286,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 3644,
      "endLine" : 3653,
      "cleanedStartLine" : 1787,
      "cleanedEndLine" : 1793
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 3730,
      "endLine" : 3739,
      "cleanedStartLine" : 1830,
      "cleanedEndLine" : 1836
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 191,
      "endLine" : 199,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 272,
      "endLine" : 279,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 598,
      "endLine" : 605,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 414
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readamf.c",
        "extension" : "c",
        "linesOfCode" : 440,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 354,
      "startLine" : 239,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 176,
      "endLine" : 184,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 1014,
      "endLine" : 1020,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 494
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 3870,
      "endLine" : 3876,
      "cleanedStartLine" : 2045,
      "cleanedEndLine" : 2051
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 188,
      "endLine" : 195,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 57,
      "endLine" : 64,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 973,
      "endLine" : 981,
      "cleanedStartLine" : 442,
      "cleanedEndLine" : 448
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/zipdir/zipdir.c",
        "extension" : "c",
        "linesOfCode" : 1224,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 800,
      "startLine" : 505,
      "endLine" : 513,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 471,
      "endLine" : 484,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 231,
      "endLine" : 244,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2223,
      "endLine" : 2231,
      "cleanedStartLine" : 1658,
      "cleanedEndLine" : 1664
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2244,
      "endLine" : 2252,
      "cleanedStartLine" : 1674,
      "cleanedEndLine" : 1680
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 326,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1458,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 799
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dthinker.cpp",
        "extension" : "cpp",
        "linesOfCode" : 463,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 275,
      "startLine" : 487,
      "endLine" : 497,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dthinker.cpp",
        "extension" : "cpp",
        "linesOfCode" : 463,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 275,
      "startLine" : 504,
      "endLine" : 514,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 3859,
      "endLine" : 3868,
      "cleanedStartLine" : 1809,
      "cleanedEndLine" : 1815
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 3904,
      "endLine" : 3913,
      "cleanedStartLine" : 1831,
      "cleanedEndLine" : 1837
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1283,
      "endLine" : 1290,
      "cleanedStartLine" : 784,
      "cleanedEndLine" : 790
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1342,
      "endLine" : 1349,
      "cleanedStartLine" : 828,
      "cleanedEndLine" : 834
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 618,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 926,
      "endLine" : 935,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 318
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man.cpp",
        "extension" : "cpp",
        "linesOfCode" : 618,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 1000,
      "endLine" : 1009,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 347
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 382,
      "endLine" : 392,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 408,
      "endLine" : 418,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1342,
      "endLine" : 1349,
      "cleanedStartLine" : 828,
      "cleanedEndLine" : 834
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1385,
      "endLine" : 1394,
      "cleanedStartLine" : 859,
      "cleanedEndLine" : 865
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2448,
      "endLine" : 2456,
      "cleanedStartLine" : 1817,
      "cleanedEndLine" : 1823
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2469,
      "endLine" : 2477,
      "cleanedStartLine" : 1833,
      "cleanedEndLine" : 1839
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/sdlvideo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 634,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 39,
      "endLine" : 45,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/win32iface.h",
        "extension" : "h",
        "linesOfCode" : 437,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 751,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 364
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1995,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1120
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2614,
      "endLine" : 2621,
      "cleanedStartLine" : 1919,
      "cleanedEndLine" : 1925
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2688,
      "endLine" : 2695,
      "cleanedStartLine" : 1970,
      "cleanedEndLine" : 1976
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1138,
      "endLine" : 1147,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 616
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1244,
      "endLine" : 1253,
      "cleanedStartLine" : 677,
      "cleanedEndLine" : 683
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 382,
      "endLine" : 392,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_exp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 380,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 431,
      "endLine" : 442,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.h",
        "extension" : "h",
        "linesOfCode" : 690,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 620,
      "startLine" : 268,
      "endLine" : 274,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.h",
        "extension" : "h",
        "linesOfCode" : 690,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 620,
      "startLine" : 283,
      "endLine" : 289,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 373,
      "endLine" : 380,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFind.c",
        "extension" : "c",
        "linesOfCode" : 714,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 504,
      "startLine" : 410,
      "endLine" : 417,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_conversation.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1033,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 664,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_conversation.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1033,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 664,
      "startLine" : 398,
      "endLine" : 408,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 722,
      "endLine" : 731,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 819,
      "endLine" : 828,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1078,
      "endLine" : 1087,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1094,
      "endLine" : 1103,
      "cleanedStartLine" : 726,
      "cleanedEndLine" : 732
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 740,
      "endLine" : 748,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 853,
      "endLine" : 861,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 901,
      "endLine" : 910,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 369
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1117,
      "endLine" : 1126,
      "cleanedStartLine" : 467,
      "cleanedEndLine" : 473
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 128,
      "endLine" : 135,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 583,
      "endLine" : 590,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 145,
      "endLine" : 153,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 362,
      "endLine" : 370,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_chicken.cpp",
        "extension" : "cpp",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 176,
      "endLine" : 184,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_chicken.cpp",
        "extension" : "cpp",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 744,
      "endLine" : 755,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 1174,
      "endLine" : 1185,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 598,
      "endLine" : 605,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 414
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 659,
      "endLine" : 666,
      "cleanedStartLine" : 426,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 440,
      "endLine" : 453,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericflame.cpp",
        "extension" : "cpp",
        "linesOfCode" : 114,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterquietus.cpp",
        "extension" : "cpp",
        "linesOfCode" : 83,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 699,
      "endLine" : 711,
      "cleanedStartLine" : 416,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1132,
      "endLine" : 1144,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 702
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1486,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 820
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1995,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1120
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/farchive.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 851,
      "startLine" : 1184,
      "endLine" : 1195,
      "cleanedStartLine" : 623,
      "cleanedEndLine" : 629
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/farchive.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 851,
      "startLine" : 1229,
      "endLine" : 1236,
      "cleanedStartLine" : 649,
      "cleanedEndLine" : 655
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 580,
      "endLine" : 586,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 440
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_effect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 696,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 539,
      "startLine" : 789,
      "endLine" : 797,
      "cleanedStartLine" : 476,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_effect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 696,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 539,
      "startLine" : 842,
      "endLine" : 849,
      "cleanedStartLine" : 511,
      "cleanedEndLine" : 517
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 133,
      "endLine" : 140,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 258,
      "endLine" : 264,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 555,
      "cleanedEndLine" : 561
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 918,
      "endLine" : 924,
      "cleanedStartLine" : 599,
      "cleanedEndLine" : 605
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 574,
      "endLine" : 581,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 396,
      "endLine" : 402,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 498,
      "endLine" : 504,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 671,
      "endLine" : 677,
      "cleanedStartLine" : 511,
      "cleanedEndLine" : 517
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2223,
      "endLine" : 2231,
      "cleanedStartLine" : 1658,
      "cleanedEndLine" : 1664
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2469,
      "endLine" : 2477,
      "cleanedStartLine" : 1833,
      "cleanedEndLine" : 1839
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 2845,
      "endLine" : 2851,
      "cleanedStartLine" : 1259,
      "cleanedEndLine" : 1265
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 2871,
      "endLine" : 2877,
      "cleanedStartLine" : 1277,
      "cleanedEndLine" : 1283
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 392,
      "endLine" : 400,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1509,
      "endLine" : 1517,
      "cleanedStartLine" : 827,
      "cleanedEndLine" : 833
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1712,
      "endLine" : 1719,
      "cleanedStartLine" : 913,
      "cleanedEndLine" : 919
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1843,
      "endLine" : 1850,
      "cleanedStartLine" : 976,
      "cleanedEndLine" : 982
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 2845,
      "endLine" : 2851,
      "cleanedStartLine" : 1259,
      "cleanedEndLine" : 1265
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 2858,
      "endLine" : 2864,
      "cleanedStartLine" : 1268,
      "cleanedEndLine" : 1274
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 764,
      "endLine" : 771,
      "cleanedStartLine" : 394,
      "cleanedEndLine" : 400
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 785,
      "endLine" : 792,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 420
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 880,
      "endLine" : 886,
      "cleanedStartLine" : 563,
      "cleanedEndLine" : 569
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 910,
      "endLine" : 916,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 597
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/bitmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 353,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/bitmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 353,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 153,
      "endLine" : 161,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3360,
      "endLine" : 3366,
      "cleanedStartLine" : 2283,
      "cleanedEndLine" : 2289
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3686,
      "endLine" : 3692,
      "cleanedStartLine" : 2519,
      "cleanedEndLine" : 2525
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/bitmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 353,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/bitmap.cpp",
        "extension" : "cpp",
        "linesOfCode" : 353,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 326,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1486,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 820
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 971,
      "endLine" : 979,
      "cleanedStartLine" : 427,
      "cleanedEndLine" : 433
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 998,
      "endLine" : 1006,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 124,
      "endLine" : 136,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 181,
      "endLine" : 193,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/st_start.cpp",
        "extension" : "cpp",
        "linesOfCode" : 172,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 57,
      "endLine" : 63,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/st_start.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1009,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 122,
      "endLine" : 128,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 994,
      "endLine" : 1004,
      "cleanedStartLine" : 407,
      "cleanedEndLine" : 413
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1117,
      "endLine" : 1126,
      "cleanedStartLine" : 467,
      "cleanedEndLine" : 473
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.h",
        "extension" : "h",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 211,
      "startLine" : 238,
      "endLine" : 247,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/files.h",
        "extension" : "h",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 211,
      "startLine" : 302,
      "endLine" : 311,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.h",
        "extension" : "h",
        "linesOfCode" : 153,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.h",
        "extension" : "h",
        "linesOfCode" : 153,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 211,
      "endLine" : 217,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 736,
      "endLine" : 749,
      "cleanedStartLine" : 433,
      "cleanedEndLine" : 439
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 828,
      "endLine" : 844,
      "cleanedStartLine" : 489,
      "cleanedEndLine" : 495
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericholy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 396,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 400,
      "endLine" : 409,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_korax.cpp",
        "extension" : "cpp",
        "linesOfCode" : 324,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 226,
      "startLine" : 363,
      "endLine" : 373,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readamf.c",
        "extension" : "c",
        "linesOfCode" : 440,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 354,
      "startLine" : 239,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 136,
      "endLine" : 144,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_alloc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 158,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 93,
      "endLine" : 101,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_alloc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 158,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 163,
      "endLine" : 171,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 557,
      "endLine" : 566,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 590,
      "endLine" : 599,
      "cleanedStartLine" : 324,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 334,
      "endLine" : 340,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 357,
      "endLine" : 363,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 423,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1001,
      "endLine" : 1009,
      "cleanedStartLine" : 612,
      "cleanedEndLine" : 618
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.html",
        "extension" : "html",
        "linesOfCode" : 750,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 695,
      "startLine" : 406,
      "endLine" : 412,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.html",
        "extension" : "html",
        "linesOfCode" : 750,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 695,
      "startLine" : 634,
      "endLine" : 640,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2715,
      "endLine" : 2723,
      "cleanedStartLine" : 1856,
      "cleanedEndLine" : 1862
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2743,
      "endLine" : 2751,
      "cleanedStartLine" : 1880,
      "cleanedEndLine" : 1886
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 423,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1051,
      "endLine" : 1059,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 648
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2244,
      "endLine" : 2252,
      "cleanedStartLine" : 1674,
      "cleanedEndLine" : 1680
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2448,
      "endLine" : 2456,
      "cleanedStartLine" : 1817,
      "cleanedEndLine" : 1823
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 423,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1106,
      "endLine" : 1114,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 684
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 108,
      "endLine" : 119,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 864,
      "endLine" : 875,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 380,
      "endLine" : 386,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 236
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 526,
      "endLine" : 532,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 369
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 546,
      "endLine" : 554,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 578,
      "endLine" : 586,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 320
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 1190,
      "endLine" : 1201,
      "cleanedStartLine" : 504,
      "cleanedEndLine" : 510
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 1220,
      "endLine" : 1231,
      "cleanedStartLine" : 520,
      "cleanedEndLine" : 526
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 957,
      "endLine" : 963,
      "cleanedStartLine" : 795,
      "cleanedEndLine" : 801
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 975,
      "endLine" : 981,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 817
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 618,
      "endLine" : 626,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 289
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 1596,
      "endLine" : 1604,
      "cleanedStartLine" : 808,
      "cleanedEndLine" : 814
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 641,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 72,
      "endLine" : 83,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 641,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 202,
      "endLine" : 213,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 400,
      "endLine" : 413,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1144,
      "endLine" : 1151,
      "cleanedStartLine" : 684,
      "cleanedEndLine" : 690
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1208,
      "endLine" : 1215,
      "cleanedStartLine" : 729,
      "cleanedEndLine" : 735
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 216,
      "endLine" : 229,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 113,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1020,
      "endLine" : 1026,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 805
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/cmdlib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 720,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 564,
      "endLine" : 571,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_dehacked.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2564,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1741,
      "startLine" : 475,
      "endLine" : 482,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_ddfmt.c",
        "extension" : "c",
        "linesOfCode" : 137,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 48,
      "endLine" : 56,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa_fltrnds.h",
        "extension" : "h",
        "linesOfCode" : 18,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 2,
      "endLine" : 10,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 813,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 57,
      "endLine" : 64,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 312,
      "endLine" : 319,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 434,
      "endLine" : 441,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 1174,
      "endLine" : 1185,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterquietus.cpp",
        "extension" : "cpp",
        "linesOfCode" : 83,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericflame.cpp",
        "extension" : "cpp",
        "linesOfCode" : 114,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/eaxedit.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1201,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 871,
      "startLine" : 1097,
      "endLine" : 1103,
      "cleanedStartLine" : 671,
      "cleanedEndLine" : 677
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 2431,
      "endLine" : 2437,
      "cleanedStartLine" : 1201,
      "cleanedEndLine" : 1207
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 357,
      "endLine" : 371,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 456,
      "endLine" : 470,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 384,
      "endLine" : 391,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 827,
      "endLine" : 834,
      "cleanedStartLine" : 415,
      "cleanedEndLine" : 421
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdsample.c",
        "extension" : "c",
        "linesOfCode" : 277,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 204,
      "endLine" : 211,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdsample.c",
        "extension" : "c",
        "linesOfCode" : 277,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 270,
      "endLine" : 276,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 384,
      "endLine" : 391,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 908,
      "endLine" : 915,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1048,
      "endLine" : 1054,
      "cleanedStartLine" : 826,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1458,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 799
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1995,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1120
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.cpp",
        "extension" : "cpp",
        "linesOfCode" : 867,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 575,
      "endLine" : 581,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 357
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.cpp",
        "extension" : "cpp",
        "linesOfCode" : 867,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 617,
      "endLine" : 623,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 397
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 744,
      "endLine" : 755,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterquietus.cpp",
        "extension" : "cpp",
        "linesOfCode" : 83,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 250,
      "endLine" : 256,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 333,
      "endLine" : 339,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 238,
      "endLine" : 248,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_decals.cpp",
        "extension" : "cpp",
        "linesOfCode" : 680,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 434,
      "startLine" : 315,
      "endLine" : 325,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 744,
      "endLine" : 755,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericflame.cpp",
        "extension" : "cpp",
        "linesOfCode" : 114,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 1680,
      "endLine" : 1692,
      "cleanedStartLine" : 732,
      "cleanedEndLine" : 738
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 1703,
      "endLine" : 1715,
      "cleanedStartLine" : 744,
      "cleanedEndLine" : 750
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1978,
      "endLine" : 1984,
      "cleanedStartLine" : 1347,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2413,
      "endLine" : 2419,
      "cleanedStartLine" : 1638,
      "cleanedEndLine" : 1644
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 327,
      "endLine" : 338,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 447,
      "endLine" : 457,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 579,
      "endLine" : 586,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 659,
      "endLine" : 666,
      "cleanedStartLine" : 426,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 367,
      "endLine" : 374,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 661,
      "endLine" : 667,
      "cleanedStartLine" : 451,
      "cleanedEndLine" : 457
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/M3u_Playlist.cpp",
        "extension" : "cpp",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 78,
      "endLine" : 87,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/M3u_Playlist.cpp",
        "extension" : "cpp",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 221,
      "endLine" : 230,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/g_ddfmt.c",
        "extension" : "c",
        "linesOfCode" : 137,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 48,
      "endLine" : 56,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 347,
      "endLine" : 354,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 598,
      "endLine" : 605,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 414
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterquietus.cpp",
        "extension" : "cpp",
        "linesOfCode" : 83,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopQ.c",
        "extension" : "c",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopxL.c",
        "extension" : "c",
        "linesOfCode" : 58,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 61,
      "endLine" : 73,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 213,
      "endLine" : 219,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 269,
      "endLine" : 275,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 688,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1001,
      "endLine" : 1009,
      "cleanedStartLine" : 612,
      "cleanedEndLine" : 618
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 57,
      "endLine" : 64,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readamf.c",
        "extension" : "c",
        "linesOfCode" : 440,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 354,
      "startLine" : 239,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 139,
      "endLine" : 147,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_doors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 601,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 141,
      "endLine" : 152,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_doors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 601,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 406,
      "startLine" : 187,
      "endLine" : 198,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3038,
      "endLine" : 3045,
      "cleanedStartLine" : 1447,
      "cleanedEndLine" : 1453
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9_wipe.cpp",
        "extension" : "cpp",
        "linesOfCode" : 395,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 277,
      "startLine" : 498,
      "endLine" : 505,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 352,
      "endLine" : 360,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_doomweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 499,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 427,
      "endLine" : 437,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_doomweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 499,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 475,
      "endLine" : 485,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1779,
      "endLine" : 1785,
      "cleanedStartLine" : 1349,
      "cleanedEndLine" : 1355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1914,
      "endLine" : 1920,
      "cleanedStartLine" : 1446,
      "cleanedEndLine" : 1452
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 688,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1051,
      "endLine" : 1059,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 648
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 272,
      "endLine" : 279,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 659,
      "endLine" : 666,
      "cleanedStartLine" : 426,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_plane.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1322,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 667,
      "endLine" : 673,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_plane.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1322,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 693,
      "endLine" : 699,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 207,
      "endLine" : 220,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 688,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1106,
      "endLine" : 1114,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 684
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 744,
      "endLine" : 755,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 144,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 311,
      "endLine" : 318,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 213,
      "endLine" : 219,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 295,
      "endLine" : 301,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 371
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 982,
      "endLine" : 988,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 529
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1090,
      "endLine" : 1096,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1493,
      "endLine" : 1499,
      "cleanedStartLine" : 828,
      "cleanedEndLine" : 834
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 693,
      "endLine" : 699,
      "cleanedStartLine" : 324,
      "cleanedEndLine" : 330
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_glnodes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1179,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 711,
      "endLine" : 717,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 341
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_plats.cpp",
        "extension" : "cpp",
        "linesOfCode" : 335,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 251,
      "startLine" : 131,
      "endLine" : 140,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_plats.cpp",
        "extension" : "cpp",
        "linesOfCode" : 335,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 251,
      "startLine" : 162,
      "endLine" : 171,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmerge.c",
        "extension" : "c",
        "linesOfCode" : 247,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmerge.c",
        "extension" : "c",
        "linesOfCode" : 247,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 297,
      "endLine" : 304,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_trace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 569,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 367,
      "startLine" : 534,
      "endLine" : 543,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 277
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_trace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 569,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 367,
      "startLine" : 551,
      "endLine" : 560,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 287
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 3566,
      "endLine" : 3573,
      "cleanedStartLine" : 1744,
      "cleanedEndLine" : 1750
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 3692,
      "endLine" : 3699,
      "cleanedStartLine" : 1807,
      "cleanedEndLine" : 1813
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1384,
      "endLine" : 1392,
      "cleanedStartLine" : 1171,
      "cleanedEndLine" : 1177
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1477,
      "endLine" : 1485,
      "cleanedStartLine" : 1252,
      "cleanedEndLine" : 1258
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericflame.cpp",
        "extension" : "cpp",
        "linesOfCode" : 114,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 72,
      "endLine" : 82,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 144,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 2290,
      "endLine" : 2296,
      "cleanedStartLine" : 1506,
      "cleanedEndLine" : 1512
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 2303,
      "endLine" : 2309,
      "cleanedStartLine" : 1518,
      "cleanedEndLine" : 1524
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_flechette.cpp",
        "extension" : "cpp",
        "linesOfCode" : 309,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 55,
      "endLine" : 63,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_flechette.cpp",
        "extension" : "cpp",
        "linesOfCode" : 309,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 439,
      "endLine" : 449,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 600,
      "endLine" : 610,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 296
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 964,
      "endLine" : 970,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 213,
      "endLine" : 219,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 1174,
      "endLine" : 1185,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 144,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 551,
      "endLine" : 557,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1734,
      "endLine" : 1743,
      "cleanedStartLine" : 735,
      "cleanedEndLine" : 741
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1862,
      "endLine" : 1871,
      "cleanedStartLine" : 796,
      "cleanedEndLine" : 802
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 847,
      "endLine" : 853,
      "cleanedStartLine" : 640,
      "cleanedEndLine" : 646
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 4461,
      "endLine" : 4467,
      "cleanedStartLine" : 2973,
      "cleanedEndLine" : 2979
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 4667,
      "endLine" : 4673,
      "cleanedStartLine" : 3107,
      "cleanedEndLine" : 3113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 808,
      "endLine" : 814,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 610
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 822,
      "endLine" : 828,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 579,
      "endLine" : 586,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 598,
      "endLine" : 605,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 414
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 872,
      "endLine" : 878,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 564,
      "endLine" : 570,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/trees.c",
        "extension" : "c",
        "linesOfCode" : 760,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 735,
      "endLine" : 741,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/trees.c",
        "extension" : "c",
        "linesOfCode" : 760,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 592,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 894,
      "endLine" : 900,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1090,
      "endLine" : 1096,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 623
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1219,
      "endLine" : 1225,
      "cleanedStartLine" : 686,
      "cleanedEndLine" : 692
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1182,
      "endLine" : 1190,
      "cleanedStartLine" : 600,
      "cleanedEndLine" : 606
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1202,
      "endLine" : 1210,
      "cleanedStartLine" : 614,
      "cleanedEndLine" : 620
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 410,
      "endLine" : 423,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa_fltrnds.h",
        "extension" : "h",
        "linesOfCode" : 18,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 2,
      "endLine" : 10,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 336,
      "endLine" : 346,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 370,
      "endLine" : 380,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 421,
      "endLine" : 430,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 497,
      "endLine" : 506,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 386,
      "endLine" : 392,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 336,
      "endLine" : 346,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1384,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 914,
      "startLine" : 404,
      "endLine" : 414,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 799,
      "endLine" : 808,
      "cleanedStartLine" : 509,
      "cleanedEndLine" : 515
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1136,
      "endLine" : 1145,
      "cleanedStartLine" : 762,
      "cleanedEndLine" : 768
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1070,
      "endLine" : 1076,
      "cleanedStartLine" : 899,
      "cleanedEndLine" : 905
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1209,
      "endLine" : 1215,
      "cleanedStartLine" : 1016,
      "cleanedEndLine" : 1022
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2927,
      "endLine" : 2937,
      "cleanedStartLine" : 2002,
      "cleanedEndLine" : 2008
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3399,
      "endLine" : 3409,
      "cleanedStartLine" : 2301,
      "cleanedEndLine" : 2307
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 191,
      "endLine" : 199,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 149,
      "endLine" : 157,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 347,
      "endLine" : 355,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 693,
      "endLine" : 701,
      "cleanedStartLine" : 532,
      "cleanedEndLine" : 538
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 795,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 929,
      "endLine" : 935,
      "cleanedStartLine" : 716,
      "cleanedEndLine" : 722
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 498
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 4088,
      "endLine" : 4096,
      "cleanedStartLine" : 1990,
      "cleanedEndLine" : 1995
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 4114,
      "endLine" : 4122,
      "cleanedStartLine" : 2000,
      "cleanedEndLine" : 2005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 713,
      "endLine" : 718,
      "cleanedStartLine" : 499,
      "cleanedEndLine" : 504
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 277,
      "endLine" : 282,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1101,
      "endLine" : 1106,
      "cleanedStartLine" : 565,
      "cleanedEndLine" : 570
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1555,
      "endLine" : 1560,
      "cleanedStartLine" : 833,
      "cleanedEndLine" : 838
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 224,
      "endLine" : 230,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 577,
      "endLine" : 583,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 5706,
      "endLine" : 5711,
      "cleanedStartLine" : 3748,
      "cleanedEndLine" : 3753
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itunload.c",
        "extension" : "c",
        "linesOfCode" : 40,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 61,
      "endLine" : 66,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 661,
      "endLine" : 670,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 398
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 884,
      "endLine" : 893,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/farchive.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 851,
      "startLine" : 1216,
      "endLine" : 1221,
      "cleanedStartLine" : 639,
      "cleanedEndLine" : 644
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/farchive.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 851,
      "startLine" : 1256,
      "endLine" : 1261,
      "cleanedStartLine" : 666,
      "cleanedEndLine" : 671
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/cmake_modules/CreateLaunchers.cmake",
        "extension" : "cmake",
        "linesOfCode" : 304,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 6,
      "endLine" : 11,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/cmake_modules/CreateLaunchers.cmake",
        "extension" : "cmake",
        "linesOfCode" : 304,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 328,
      "endLine" : 339,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 111,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_possessed.cpp",
        "extension" : "cpp",
        "linesOfCode" : 81,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_spidermaster.cpp",
        "extension" : "cpp",
        "linesOfCode" : 19,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 20,
      "endLine" : 27,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 255,
      "endLine" : 262,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 424,
      "endLine" : 431,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 537,
      "endLine" : 543,
      "cleanedStartLine" : 330,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 649,
      "endLine" : 654,
      "cleanedStartLine" : 584,
      "cleanedEndLine" : 589
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 735,
      "endLine" : 740,
      "cleanedStartLine" : 662,
      "cleanedEndLine" : 667
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 182,
      "endLine" : 191,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_3dfloors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 688,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 364,
      "endLine" : 374,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_3dfloors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 688,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 394,
      "endLine" : 404,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/sdlvideo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 634,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 452,
      "endLine" : 462,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_ddraw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1109,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 1068,
      "endLine" : 1079,
      "cleanedStartLine" : 561,
      "cleanedEndLine" : 566
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 750,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 552,
      "endLine" : 559,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 750,
      "endLine" : 757,
      "cleanedStartLine" : 449,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 750,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 868,
      "endLine" : 874,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 448
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 517,
      "cleanedEndLine" : 522
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 492,
      "endLine" : 498,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 254,
      "endLine" : 262,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 153
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 776,
      "endLine" : 781,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 651
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 822,
      "endLine" : 827,
      "cleanedStartLine" : 684,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2451,
      "endLine" : 2457,
      "cleanedStartLine" : 1633,
      "cleanedEndLine" : 1638
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2689,
      "endLine" : 2695,
      "cleanedStartLine" : 1814,
      "cleanedEndLine" : 1819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 376,
      "endLine" : 382,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 400,
      "endLine" : 406,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 776,
      "endLine" : 781,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 651
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 800,
      "endLine" : 805,
      "cleanedStartLine" : 666,
      "cleanedEndLine" : 671
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pcxtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 413,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 219,
      "endLine" : 230,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 111,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1044,
      "endLine" : 1050,
      "cleanedStartLine" : 559,
      "cleanedEndLine" : 564
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 4856,
      "endLine" : 4862,
      "cleanedStartLine" : 2377,
      "cleanedEndLine" : 2382
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 4871,
      "endLine" : 4877,
      "cleanedStartLine" : 2386,
      "cleanedEndLine" : 2391
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 303,
      "endLine" : 311,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 487,
      "endLine" : 495,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/misc.c",
        "extension" : "c",
        "linesOfCode" : 806,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 544,
      "startLine" : 305,
      "endLine" : 310,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/misc.c",
        "extension" : "c",
        "linesOfCode" : 806,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 544,
      "startLine" : 353,
      "endLine" : 358,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/search_path.hpp",
        "extension" : "hpp",
        "linesOfCode" : 88,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/search_path.hpp",
        "extension" : "hpp",
        "linesOfCode" : 88,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 85,
      "endLine" : 91,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nsf_Emu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 440,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 544,
      "endLine" : 550,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Emu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 358,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 255,
      "startLine" : 434,
      "endLine" : 439,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1540,
      "endLine" : 1548,
      "cleanedStartLine" : 776,
      "cleanedEndLine" : 781
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1566,
      "endLine" : 1574,
      "cleanedStartLine" : 791,
      "cleanedEndLine" : 796
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3721,
      "endLine" : 3728,
      "cleanedStartLine" : 2511,
      "cleanedEndLine" : 2516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3737,
      "endLine" : 3744,
      "cleanedStartLine" : 2523,
      "cleanedEndLine" : 2528
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 334,
      "endLine" : 339,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 390,
      "endLine" : 395,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 145,
      "endLine" : 159,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 127,
      "endLine" : 135,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 202,
      "endLine" : 207,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 407,
      "endLine" : 412,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopdd.c",
        "extension" : "c",
        "linesOfCode" : 142,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 772,
      "endLine" : 777,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 426
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 812,
      "endLine" : 817,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 448
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 461,
      "endLine" : 467,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1686,
      "endLine" : 1691,
      "cleanedStartLine" : 925,
      "cleanedEndLine" : 930
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1970,
      "endLine" : 1975,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2345,
      "endLine" : 2351,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2451,
      "endLine" : 2457,
      "cleanedStartLine" : 1633,
      "cleanedEndLine" : 1638
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 364,
      "endLine" : 371,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 633,
      "endLine" : 638,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 390,
      "endLine" : 396,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1686,
      "endLine" : 1691,
      "cleanedStartLine" : 925,
      "cleanedEndLine" : 930
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2039,
      "endLine" : 2044,
      "cleanedStartLine" : 1147,
      "cleanedEndLine" : 1152
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 868,
      "endLine" : 874,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 448
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 677,
      "endLine" : 683,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_pfx.cpp",
        "extension" : "cpp",
        "linesOfCode" : 604,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 188,
      "endLine" : 195,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_pfx.cpp",
        "extension" : "cpp",
        "linesOfCode" : 604,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 238,
      "endLine" : 245,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1686,
      "endLine" : 1691,
      "cleanedStartLine" : 925,
      "cleanedEndLine" : 930
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2105,
      "endLine" : 2110,
      "cleanedStartLine" : 1192,
      "cleanedEndLine" : 1197
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_effect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 696,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 539,
      "startLine" : 441,
      "endLine" : 446,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_effect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 696,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 539,
      "startLine" : 460,
      "endLine" : 465,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/initializers/bind_stderr.hpp",
        "extension" : "hpp",
        "linesOfCode" : 23,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 37,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/windows/initializers/bind_stdout.hpp",
        "extension" : "hpp",
        "linesOfCode" : 23,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 37,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 356,
      "endLine" : 362,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 661,
      "endLine" : 670,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 398
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 784,
      "endLine" : 793,
      "cleanedStartLine" : 472,
      "cleanedEndLine" : 477
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 974,
      "endLine" : 984,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1044,
      "endLine" : 1054,
      "cleanedStartLine" : 413,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtoIQ.c",
        "extension" : "c",
        "linesOfCode" : 30,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtoIx.c",
        "extension" : "c",
        "linesOfCode" : 31,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 799,
      "endLine" : 807,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 317
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 641,
      "endLine" : 649,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1198,
      "endLine" : 1205,
      "cleanedStartLine" : 696,
      "cleanedEndLine" : 701
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 491,
      "endLine" : 498,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 246,
      "endLine" : 253,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 335,
      "endLine" : 342,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1002,
      "endLine" : 1010,
      "cleanedStartLine" : 523,
      "cleanedEndLine" : 528
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1550,
      "endLine" : 1558,
      "cleanedStartLine" : 904,
      "cleanedEndLine" : 909
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 974,
      "endLine" : 984,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1020,
      "endLine" : 1030,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_udmf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1275,
      "startLine" : 523,
      "endLine" : 529,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_usdf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 377,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 254,
      "startLine" : 195,
      "endLine" : 201,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/s_advsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1648,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1093,
      "startLine" : 1573,
      "endLine" : 1583,
      "cleanedStartLine" : 768,
      "cleanedEndLine" : 773
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/templates.h",
        "extension" : "h",
        "linesOfCode" : 89,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 130,
      "endLine" : 140,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 804,
      "endLine" : 810,
      "cleanedStartLine" : 530,
      "cleanedEndLine" : 535
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 4296,
      "endLine" : 4301,
      "cleanedStartLine" : 2865,
      "cleanedEndLine" : 2870
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 4812,
      "endLine" : 4817,
      "cleanedStartLine" : 3204,
      "cleanedEndLine" : 3209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 3830,
      "endLine" : 3840,
      "cleanedStartLine" : 1876,
      "cleanedEndLine" : 1881
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_properties.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1819,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1110,
      "startLine" : 189,
      "endLine" : 199,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 212,
      "endLine" : 218,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 212,
      "endLine" : 218,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 974,
      "endLine" : 984,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 997,
      "endLine" : 1007,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtopQ.c",
        "extension" : "c",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 74,
      "endLine" : 80,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3564,
      "endLine" : 3569,
      "cleanedStartLine" : 1821,
      "cleanedEndLine" : 1826
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.h",
        "extension" : "h",
        "linesOfCode" : 153,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 140,
      "startLine" : 190,
      "endLine" : 195,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 769,
      "endLine" : 775,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 508
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2378,
      "endLine" : 2383,
      "cleanedStartLine" : 1573,
      "cleanedEndLine" : 1578
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2641,
      "endLine" : 2646,
      "cleanedStartLine" : 1772,
      "cleanedEndLine" : 1777
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 212,
      "endLine" : 218,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 339,
      "endLine" : 345,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 348,
      "endLine" : 353,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 354,
      "endLine" : 359,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/s_advsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1648,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1093,
      "startLine" : 792,
      "endLine" : 799,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/s_advsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1648,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1093,
      "startLine" : 823,
      "endLine" : 830,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 568,
      "endLine" : 575,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 339,
      "endLine" : 345,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 908,
      "endLine" : 914,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 475
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2057,
      "endLine" : 2063,
      "cleanedStartLine" : 1161,
      "cleanedEndLine" : 1166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1001,
      "endLine" : 1007,
      "cleanedStartLine" : 612,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1155,
      "endLine" : 1161,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 713
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 339,
      "endLine" : 345,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1686,
      "endLine" : 1691,
      "cleanedStartLine" : 925,
      "cleanedEndLine" : 930
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1912,
      "endLine" : 1917,
      "cleanedStartLine" : 1061,
      "cleanedEndLine" : 1066
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 784,
      "endLine" : 789,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 651
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 803,
      "endLine" : 808,
      "cleanedStartLine" : 665,
      "cleanedEndLine" : 670
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/SkylineBinPack.cpp",
        "extension" : "cpp",
        "linesOfCode" : 321,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 271,
      "endLine" : 284,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/SkylineBinPack.cpp",
        "extension" : "cpp",
        "linesOfCode" : 321,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 342,
      "endLine" : 355,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sfmt/SFMT.cpp",
        "extension" : "cpp",
        "linesOfCode" : 372,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 254,
      "startLine" : 163,
      "endLine" : 169,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sfmt/SFMT.cpp",
        "extension" : "cpp",
        "linesOfCode" : 372,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 254,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 784,
      "endLine" : 789,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 651
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 797,
      "endLine" : 802,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 664
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/colormaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 436,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 149,
      "endLine" : 154,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_translate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 809,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 423,
      "endLine" : 428,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_teleport.cpp",
        "extension" : "cpp",
        "linesOfCode" : 548,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 657,
      "endLine" : 666,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_teleport.cpp",
        "extension" : "cpp",
        "linesOfCode" : 548,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 712,
      "endLine" : 721,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 784,
      "endLine" : 789,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 651
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 791,
      "endLine" : 796,
      "cleanedStartLine" : 653,
      "cleanedEndLine" : 658
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 631,
      "endLine" : 638,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 750,
      "endLine" : 757,
      "cleanedStartLine" : 449,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1912,
      "endLine" : 1920,
      "cleanedStartLine" : 882,
      "cleanedEndLine" : 887
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3019,
      "endLine" : 3027,
      "cleanedStartLine" : 1432,
      "cleanedEndLine" : 1437
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1540,
      "endLine" : 1548,
      "cleanedStartLine" : 776,
      "cleanedEndLine" : 781
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1590,
      "endLine" : 1598,
      "cleanedStartLine" : 806,
      "cleanedEndLine" : 811
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1540,
      "endLine" : 1548,
      "cleanedStartLine" : 776,
      "cleanedEndLine" : 781
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1616,
      "endLine" : 1624,
      "cleanedStartLine" : 821,
      "cleanedEndLine" : 826
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 2547,
      "endLine" : 2554,
      "cleanedStartLine" : 1161,
      "cleanedEndLine" : 1166
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 2585,
      "endLine" : 2592,
      "cleanedStartLine" : 1180,
      "cleanedEndLine" : 1185
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 604,
      "endLine" : 609,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 748,
      "endLine" : 754,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/posix/wait_for_exit.hpp",
        "extension" : "hpp",
        "linesOfCode" : 37,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib/boost/process/posix/wait_for_exit.hpp",
        "extension" : "hpp",
        "linesOfCode" : 37,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterhammer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 97,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 349,
      "endLine" : 354,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 290,
      "endLine" : 295,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 471,
      "endLine" : 479,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/tgatexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 443,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 311,
      "startLine" : 617,
      "endLine" : 625,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 307
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 135,
      "endLine" : 144,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_magecone.cpp",
        "extension" : "cpp",
        "linesOfCode" : 132,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1012,
      "endLine" : 1020,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 423
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1033,
      "endLine" : 1041,
      "cleanedStartLine" : 432,
      "cleanedEndLine" : 437
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 840,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 254,
      "endLine" : 259,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gb_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 840,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 311,
      "endLine" : 316,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 750,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1157,
      "endLine" : 1167,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 3498,
      "endLine" : 3508,
      "cleanedStartLine" : 1416,
      "cleanedEndLine" : 1421
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 660,
      "endLine" : 666,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 212,
      "endLine" : 218,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 400,
      "endLine" : 406,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 750,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 908,
      "endLine" : 914,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 475
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2123,
      "endLine" : 2129,
      "cleanedStartLine" : 1206,
      "cleanedEndLine" : 1211
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_dispatch.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 798,
      "startLine" : 384,
      "endLine" : 389,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 997,
      "endLine" : 1007,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1044,
      "endLine" : 1054,
      "cleanedStartLine" : 413,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 581
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1570,
      "endLine" : 1577,
      "cleanedStartLine" : 845,
      "cleanedEndLine" : 850
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5426,
      "endLine" : 5431,
      "cleanedStartLine" : 2666,
      "cleanedEndLine" : 2671
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5472,
      "endLine" : 5477,
      "cleanedStartLine" : 2687,
      "cleanedEndLine" : 2692
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1994,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/fmopl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1073,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 801,
      "startLine" : 1238,
      "endLine" : 1246,
      "cleanedStartLine" : 524,
      "cleanedEndLine" : 529
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/fmopl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1073,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 801,
      "startLine" : 1290,
      "endLine" : 1298,
      "cleanedStartLine" : 554,
      "cleanedEndLine" : 559
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 997,
      "endLine" : 1007,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1020,
      "endLine" : 1030,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5426,
      "endLine" : 5431,
      "cleanedStartLine" : 2666,
      "cleanedEndLine" : 2671
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5446,
      "endLine" : 5451,
      "cleanedStartLine" : 2675,
      "cleanedEndLine" : 2680
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1001,
      "endLine" : 1007,
      "cleanedStartLine" : 612,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1295,
      "endLine" : 1301,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 806
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1284,
      "endLine" : 1292,
      "cleanedStartLine" : 623,
      "cleanedEndLine" : 628
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1310,
      "endLine" : 1318,
      "cleanedStartLine" : 638,
      "cleanedEndLine" : 643
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.h",
        "extension" : "h",
        "linesOfCode" : 690,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 620,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.h",
        "extension" : "h",
        "linesOfCode" : 690,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 620,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 695,
      "endLine" : 701,
      "cleanedStartLine" : 449,
      "cleanedEndLine" : 454
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 212,
      "endLine" : 218,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 488,
      "endLine" : 497,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 496,
      "endLine" : 505,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 278
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1051,
      "endLine" : 1057,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 647
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1295,
      "endLine" : 1301,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 806
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 212,
      "endLine" : 218,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1321,
      "endLine" : 1326,
      "cleanedStartLine" : 893,
      "cleanedEndLine" : 898
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1416,
      "endLine" : 1421,
      "cleanedStartLine" : 970,
      "cleanedEndLine" : 975
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3737,
      "endLine" : 3744,
      "cleanedStartLine" : 2523,
      "cleanedEndLine" : 2528
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3760,
      "endLine" : 3767,
      "cleanedStartLine" : 2542,
      "cleanedEndLine" : 2547
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 146,
      "endLine" : 155,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1765,
      "endLine" : 1779,
      "cleanedStartLine" : 752,
      "cleanedEndLine" : 757
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1909,
      "endLine" : 1923,
      "cleanedStartLine" : 820,
      "cleanedEndLine" : 825
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1930,
      "endLine" : 1935,
      "cleanedStartLine" : 895,
      "cleanedEndLine" : 900
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3032,
      "endLine" : 3037,
      "cleanedStartLine" : 1441,
      "cleanedEndLine" : 1446
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 566,
      "endLine" : 575,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 866,
      "endLine" : 875,
      "cleanedStartLine" : 444,
      "cleanedEndLine" : 449
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1001,
      "endLine" : 1007,
      "cleanedStartLine" : 612,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1216,
      "endLine" : 1222,
      "cleanedStartLine" : 747,
      "cleanedEndLine" : 752
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3737,
      "endLine" : 3744,
      "cleanedStartLine" : 2523,
      "cleanedEndLine" : 2528
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3799,
      "endLine" : 3806,
      "cleanedStartLine" : 2573,
      "cleanedEndLine" : 2578
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/colormaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 436,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 158,
      "endLine" : 164,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_translate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 809,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 545,
      "startLine" : 432,
      "endLine" : 438,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_weapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1217,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 700,
      "startLine" : 1129,
      "endLine" : 1138,
      "cleanedStartLine" : 416,
      "cleanedEndLine" : 421
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_weapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1217,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 700,
      "startLine" : 1184,
      "endLine" : 1193,
      "cleanedStartLine" : 441,
      "cleanedEndLine" : 446
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3737,
      "endLine" : 3744,
      "cleanedStartLine" : 2523,
      "cleanedEndLine" : 2528
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3783,
      "endLine" : 3790,
      "cleanedStartLine" : 2561,
      "cleanedEndLine" : 2566
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 182,
      "endLine" : 191,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 566,
      "endLine" : 575,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 647,
      "endLine" : 654,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 147,
      "endLine" : 154,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2387,
      "endLine" : 2393,
      "cleanedStartLine" : 1581,
      "cleanedEndLine" : 1586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2920,
      "endLine" : 2926,
      "cleanedStartLine" : 1985,
      "cleanedEndLine" : 1990
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/ViZDoomController.h",
        "extension" : "h",
        "linesOfCode" : 264,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/vizdoom_defines.h",
        "extension" : "h",
        "linesOfCode" : 122,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 339,
      "endLine" : 345,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 339,
      "endLine" : 345,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 504,
      "endLine" : 513,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 981,
      "endLine" : 990,
      "cleanedStartLine" : 601,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 112,
      "endLine" : 120,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 2093,
      "endLine" : 2099,
      "cleanedStartLine" : 1322,
      "cleanedEndLine" : 1327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 2204,
      "endLine" : 2210,
      "cleanedStartLine" : 1423,
      "cleanedEndLine" : 1428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sfmt/SFMT-sse2.h",
        "extension" : "h",
        "linesOfCode" : 77,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sfmt/SFMT-sse2.h",
        "extension" : "h",
        "linesOfCode" : 77,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 82,
      "endLine" : 88,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 768,
      "endLine" : 773,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 797,
      "endLine" : 802,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 464
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 842,
      "endLine" : 851,
      "cleanedStartLine" : 428,
      "cleanedEndLine" : 433
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1019,
      "endLine" : 1028,
      "cleanedStartLine" : 525,
      "cleanedEndLine" : 530
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 768,
      "endLine" : 773,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 828,
      "endLine" : 833,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 721,
      "endLine" : 726,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 475
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 830,
      "endLine" : 835,
      "cleanedStartLine" : 551,
      "cleanedEndLine" : 556
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/misc.asm",
        "extension" : "asm",
        "linesOfCode" : 178,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 3,
      "endLine" : 8,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 571,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 340,
      "endLine" : 346,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 571,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 509,
      "endLine" : 515,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 190,
      "endLine" : 202,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmerge.c",
        "extension" : "c",
        "linesOfCode" : 247,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 249,
      "endLine" : 255,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmerge.c",
        "extension" : "c",
        "linesOfCode" : 247,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 384,
      "endLine" : 390,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2123,
      "endLine" : 2129,
      "cleanedStartLine" : 1206,
      "cleanedEndLine" : 1211
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 1789,
      "endLine" : 1799,
      "cleanedStartLine" : 845,
      "cleanedEndLine" : 850
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 1884,
      "endLine" : 1895,
      "cleanedStartLine" : 893,
      "cleanedEndLine" : 898
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_maputl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1100,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 751,
      "startLine" : 1208,
      "endLine" : 1215,
      "cleanedStartLine" : 542,
      "cleanedEndLine" : 547
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sight.cpp",
        "extension" : "cpp",
        "linesOfCode" : 497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmarker.c",
        "extension" : "c",
        "linesOfCode" : 818,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 679,
      "endLine" : 693,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmarker.c",
        "extension" : "c",
        "linesOfCode" : 818,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 785,
      "endLine" : 799,
      "cleanedStartLine" : 456,
      "cleanedEndLine" : 461
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1051,
      "endLine" : 1057,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 647
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1216,
      "endLine" : 1222,
      "cleanedStartLine" : 747,
      "cleanedEndLine" : 752
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 327,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 327,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 137,
      "endLine" : 147,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1051,
      "endLine" : 1057,
      "cleanedStartLine" : 642,
      "cleanedEndLine" : 647
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1155,
      "endLine" : 1161,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 713
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1106,
      "endLine" : 1112,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 683
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1295,
      "endLine" : 1301,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 806
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 641,
      "endLine" : 649,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 716,
      "endLine" : 724,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1253,
      "endLine" : 1258,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 664
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1277,
      "endLine" : 1282,
      "cleanedStartLine" : 674,
      "cleanedEndLine" : 679
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2239,
      "endLine" : 2245,
      "cleanedStartLine" : 1460,
      "cleanedEndLine" : 1465
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2451,
      "endLine" : 2457,
      "cleanedStartLine" : 1633,
      "cleanedEndLine" : 1638
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib/ViZDoomController.h",
        "extension" : "h",
        "linesOfCode" : 264,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/vizdoom_defines.h",
        "extension" : "h",
        "linesOfCode" : 122,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_dijoy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 973,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 648,
      "startLine" : 1279,
      "endLine" : 1290,
      "cleanedStartLine" : 569,
      "cleanedEndLine" : 574
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 1012,
      "endLine" : 1020,
      "cleanedStartLine" : 431,
      "cleanedEndLine" : 436
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5386,
      "endLine" : 5391,
      "cleanedStartLine" : 2648,
      "cleanedEndLine" : 2653
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5446,
      "endLine" : 5451,
      "cleanedStartLine" : 2675,
      "cleanedEndLine" : 2680
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5386,
      "endLine" : 5391,
      "cleanedStartLine" : 2648,
      "cleanedEndLine" : 2653
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5472,
      "endLine" : 5477,
      "cleanedStartLine" : 2687,
      "cleanedEndLine" : 2692
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1144,
      "endLine" : 1150,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 595
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1600,
      "endLine" : 1606,
      "cleanedStartLine" : 863,
      "cleanedEndLine" : 868
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 980,
      "endLine" : 985,
      "cleanedStartLine" : 817,
      "cleanedEndLine" : 822
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 986,
      "endLine" : 991,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1253,
      "endLine" : 1258,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 664
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1329,
      "endLine" : 1334,
      "cleanedStartLine" : 702,
      "cleanedEndLine" : 707
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdcolor.c",
        "extension" : "c",
        "linesOfCode" : 241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 142,
      "endLine" : 147,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdcolor.c",
        "extension" : "c",
        "linesOfCode" : 241,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 268,
      "endLine" : 273,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/eaxedit.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1201,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 871,
      "startLine" : 593,
      "endLine" : 600,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/eaxedit.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1201,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 871,
      "startLine" : 626,
      "endLine" : 634,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_ddraw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1109,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 938,
      "endLine" : 947,
      "cleanedStartLine" : 489,
      "cleanedEndLine" : 494
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_ddraw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1109,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 711,
      "startLine" : 990,
      "endLine" : 999,
      "cleanedStartLine" : 518,
      "cleanedEndLine" : 523
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5386,
      "endLine" : 5391,
      "cleanedStartLine" : 2648,
      "cleanedEndLine" : 2653
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5426,
      "endLine" : 5431,
      "cleanedStartLine" : 2666,
      "cleanedEndLine" : 2671
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5386,
      "endLine" : 5391,
      "cleanedStartLine" : 2648,
      "cleanedEndLine" : 2653
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5406,
      "endLine" : 5411,
      "cleanedStartLine" : 2657,
      "cleanedEndLine" : 2662
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 201,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 997,
      "endLine" : 1003,
      "cleanedStartLine" : 719,
      "cleanedEndLine" : 724
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 804,
      "endLine" : 810,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 581
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 962,
      "endLine" : 967,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 563
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1134,
      "endLine" : 1139,
      "cleanedStartLine" : 676,
      "cleanedEndLine" : 681
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 831,
      "endLine" : 841,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 341
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2536,
      "endLine" : 2546,
      "cleanedStartLine" : 994,
      "cleanedEndLine" : 999
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 208,
      "endLine" : 217,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_magecone.cpp",
        "extension" : "cpp",
        "linesOfCode" : 132,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtorQ.c",
        "extension" : "c",
        "linesOfCode" : 76,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtordd.c",
        "extension" : "c",
        "linesOfCode" : 157,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 115,
      "endLine" : 120,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 949,
      "endLine" : 955,
      "cleanedStartLine" : 498,
      "cleanedEndLine" : 503
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 677,
      "endLine" : 683,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 891,
      "endLine" : 896,
      "cleanedStartLine" : 573,
      "cleanedEndLine" : 578
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 929,
      "endLine" : 934,
      "cleanedStartLine" : 609,
      "cleanedEndLine" : 614
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFindMt.c",
        "extension" : "c",
        "linesOfCode" : 627,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 448,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzFindMt.c",
        "extension" : "c",
        "linesOfCode" : 627,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 448,
      "startLine" : 419,
      "endLine" : 425,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 181,
      "endLine" : 187,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 583,
      "endLine" : 592,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 981,
      "endLine" : 990,
      "cleanedStartLine" : 601,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_maputl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1100,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 751,
      "startLine" : 1072,
      "endLine" : 1077,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 475
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_maputl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1100,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 751,
      "startLine" : 1137,
      "endLine" : 1142,
      "cleanedStartLine" : 509,
      "cleanedEndLine" : 514
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/parser.cc",
        "extension" : "cc",
        "linesOfCode" : 1236,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 768,
      "startLine" : 444,
      "endLine" : 449,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/parser.cc",
        "extension" : "cc",
        "linesOfCode" : 1236,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 768,
      "startLine" : 450,
      "endLine" : 455,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 874,
      "endLine" : 883,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 450
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/zstring.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1012,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 593,
      "startLine" : 898,
      "endLine" : 907,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/canvastexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 104,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 76,
      "endLine" : 87,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 111,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 422,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1216,
      "endLine" : 1222,
      "cleanedStartLine" : 747,
      "cleanedEndLine" : 752
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3783,
      "endLine" : 3790,
      "cleanedStartLine" : 2561,
      "cleanedEndLine" : 2566
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3799,
      "endLine" : 3806,
      "cleanedStartLine" : 2573,
      "cleanedEndLine" : 2578
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/misc.asm",
        "extension" : "asm",
        "linesOfCode" : 178,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 736,
      "endLine" : 743,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 920,
      "endLine" : 927,
      "cleanedStartLine" : 469,
      "cleanedEndLine" : 474
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.cpp",
        "extension" : "cpp",
        "linesOfCode" : 867,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 137,
      "endLine" : 144,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/nukedopl3.cpp",
        "extension" : "cpp",
        "linesOfCode" : 867,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 152,
      "endLine" : 159,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 196,
      "endLine" : 205,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/resample.cpp",
        "extension" : "cpp",
        "linesOfCode" : 483,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 338,
      "startLine" : 466,
      "endLine" : 475,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 384,
      "endLine" : 390,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2057,
      "endLine" : 2063,
      "cleanedStartLine" : 1161,
      "cleanedEndLine" : 1166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmainct.c",
        "extension" : "c",
        "linesOfCode" : 239,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 199,
      "startLine" : 204,
      "endLine" : 209,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmainct.c",
        "extension" : "c",
        "linesOfCode" : 239,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 199,
      "startLine" : 244,
      "endLine" : 249,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 480,
      "endLine" : 486,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 482,
      "endLine" : 488,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 1176,
      "endLine" : 1185,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_magecone.cpp",
        "extension" : "cpp",
        "linesOfCode" : 132,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 298,
      "endLine" : 305,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 288,
      "endLine" : 294,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 614,
      "endLine" : 621,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man_scanner.re",
        "extension" : "re",
        "linesOfCode" : 355,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 291,
      "startLine" : 325,
      "endLine" : 332,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 241
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sc_man_scanner.re",
        "extension" : "re",
        "linesOfCode" : 355,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 291,
      "startLine" : 339,
      "endLine" : 346,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 422,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1295,
      "endLine" : 1301,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 806
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 831,
      "endLine" : 841,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 341
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 3498,
      "endLine" : 3508,
      "cleanedStartLine" : 1416,
      "cleanedEndLine" : 1421
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 255,
      "endLine" : 262,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 480,
      "endLine" : 487,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_joy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 186,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 261,
      "endLine" : 268,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_joy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 186,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 280,
      "endLine" : 287,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 456,
      "endLine" : 467,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 493,
      "endLine" : 504,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 1684,
      "endLine" : 1695,
      "cleanedStartLine" : 993,
      "cleanedEndLine" : 998
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/oalsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1659,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1201,
      "startLine" : 1710,
      "endLine" : 1719,
      "cleanedStartLine" : 1007,
      "cleanedEndLine" : 1012
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 860,
      "endLine" : 867,
      "cleanedStartLine" : 386,
      "cleanedEndLine" : 391
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 871,
      "endLine" : 879,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 400
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 563,
      "endLine" : 571,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 368
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 1098,
      "endLine" : 1104,
      "cleanedStartLine" : 680,
      "cleanedEndLine" : 685
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 732,
      "endLine" : 737,
      "cleanedStartLine" : 535,
      "cleanedEndLine" : 540
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 748,
      "endLine" : 753,
      "cleanedStartLine" : 549,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_pfx.cpp",
        "extension" : "cpp",
        "linesOfCode" : 604,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 437,
      "endLine" : 446,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_pfx.cpp",
        "extension" : "cpp",
        "linesOfCode" : 604,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 527,
      "endLine" : 536,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 791,
      "endLine" : 796,
      "cleanedStartLine" : 653,
      "cleanedEndLine" : 658
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 797,
      "endLine" : 802,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 664
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 64,
      "endLine" : 71,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 568,
      "endLine" : 575,
      "cleanedStartLine" : 324,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_dragon.cpp",
        "extension" : "cpp",
        "linesOfCode" : 219,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_korax.cpp",
        "extension" : "cpp",
        "linesOfCode" : 324,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 226,
      "startLine" : 363,
      "endLine" : 371,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 263,
      "endLine" : 268,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 615,
      "endLine" : 620,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2536,
      "endLine" : 2546,
      "cleanedStartLine" : 994,
      "cleanedEndLine" : 999
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 3498,
      "endLine" : 3508,
      "cleanedStartLine" : 1416,
      "cleanedEndLine" : 1421
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_pfx.cpp",
        "extension" : "cpp",
        "linesOfCode" : 604,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 272,
      "endLine" : 281,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_pfx.cpp",
        "extension" : "cpp",
        "linesOfCode" : 604,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 404,
      "startLine" : 393,
      "endLine" : 402,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1107,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 950,
      "endLine" : 958,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_system.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1107,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 1017,
      "endLine" : 1025,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dsectoreffect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 299,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 302,
      "endLine" : 311,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dsectoreffect.cpp",
        "extension" : "cpp",
        "linesOfCode" : 299,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 192,
      "startLine" : 350,
      "endLine" : 359,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 899,
      "endLine" : 905,
      "cleanedStartLine" : 463,
      "cleanedEndLine" : 468
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 940,
      "endLine" : 946,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 496
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 115,
      "endLine" : 120,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 133,
      "endLine" : 138,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 584,
      "endLine" : 589,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 397,
      "endLine" : 402,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dobjtype.cpp",
        "extension" : "cpp",
        "linesOfCode" : 469,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 239,
      "endLine" : 249,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/dobjtype.cpp",
        "extension" : "cpp",
        "linesOfCode" : 469,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 375,
      "endLine" : 385,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 273,
      "endLine" : 281,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 374,
      "endLine" : 381,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 929,
      "endLine" : 936,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_slopes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 454,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 251,
      "endLine" : 261,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_slopes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 454,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 544,
      "endLine" : 553,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3361,
      "endLine" : 3366,
      "cleanedStartLine" : 2284,
      "cleanedEndLine" : 2289
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3418,
      "endLine" : 3423,
      "cleanedStartLine" : 2317,
      "cleanedEndLine" : 2322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_dijoy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 973,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 648,
      "startLine" : 512,
      "endLine" : 517,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 284
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_dijoy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 973,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 648,
      "startLine" : 529,
      "endLine" : 534,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 480,
      "endLine" : 487,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 839,
      "endLine" : 846,
      "cleanedStartLine" : 508,
      "cleanedEndLine" : 513
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1994,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 808,
      "endLine" : 815,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 508,
      "endLine" : 517,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 606,
      "endLine" : 615,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 320
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 224,
      "endLine" : 230,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 174,
      "endLine" : 180,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 144,
      "endLine" : 149,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 295,
      "endLine" : 300,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/decallib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1216,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 826,
      "startLine" : 649,
      "endLine" : 656,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/decallib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1216,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 826,
      "startLine" : 791,
      "endLine" : 798,
      "cleanedStartLine" : 472,
      "cleanedEndLine" : 477
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_maputl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1100,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 751,
      "startLine" : 1245,
      "endLine" : 1250,
      "cleanedStartLine" : 568,
      "cleanedEndLine" : 573
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sight.cpp",
        "extension" : "cpp",
        "linesOfCode" : 497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 487,
      "endLine" : 492,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 889,
      "endLine" : 896,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3721,
      "endLine" : 3728,
      "cleanedStartLine" : 2511,
      "cleanedEndLine" : 2516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3760,
      "endLine" : 3767,
      "cleanedStartLine" : 2542,
      "cleanedEndLine" : 2547
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3721,
      "endLine" : 3728,
      "cleanedStartLine" : 2511,
      "cleanedEndLine" : 2516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3799,
      "endLine" : 3806,
      "cleanedStartLine" : 2573,
      "cleanedEndLine" : 2578
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 750,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_ceiling.cpp",
        "extension" : "cpp",
        "linesOfCode" : 403,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 436,
      "endLine" : 442,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_ceiling.cpp",
        "extension" : "cpp",
        "linesOfCode" : 403,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 455,
      "endLine" : 461,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 848,
      "endLine" : 855,
      "cleanedStartLine" : 429,
      "cleanedEndLine" : 434
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 791,
      "endLine" : 796,
      "cleanedStartLine" : 653,
      "cleanedEndLine" : 658
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 803,
      "endLine" : 808,
      "cleanedStartLine" : 665,
      "cleanedEndLine" : 670
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3721,
      "endLine" : 3728,
      "cleanedStartLine" : 2511,
      "cleanedEndLine" : 2516
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3783,
      "endLine" : 3790,
      "cleanedStartLine" : 2561,
      "cleanedEndLine" : 2566
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2239,
      "endLine" : 2245,
      "cleanedStartLine" : 1460,
      "cleanedEndLine" : 1465
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2345,
      "endLine" : 2351,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1551
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 305,
      "endLine" : 311,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 326,
      "endLine" : 332,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/barray.c",
        "extension" : "c",
        "linesOfCode" : 174,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 155,
      "endLine" : 162,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/barray.c",
        "extension" : "c",
        "linesOfCode" : 174,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1713,
      "endLine" : 1719,
      "cleanedStartLine" : 914,
      "cleanedEndLine" : 919
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1958,
      "endLine" : 1964,
      "cleanedStartLine" : 1048,
      "cleanedEndLine" : 1053
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2239,
      "endLine" : 2245,
      "cleanedStartLine" : 1460,
      "cleanedEndLine" : 1465
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2387,
      "endLine" : 2393,
      "cleanedStartLine" : 1581,
      "cleanedEndLine" : 1586
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.h",
        "extension" : "h",
        "linesOfCode" : 690,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 620,
      "startLine" : 268,
      "endLine" : 273,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.h",
        "extension" : "h",
        "linesOfCode" : 690,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 620,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_font.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1250,
      "startLine" : 468,
      "endLine" : 479,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_font.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1250,
      "startLine" : 1974,
      "endLine" : 1985,
      "cleanedStartLine" : 892,
      "cleanedEndLine" : 897
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 2101,
      "endLine" : 2112,
      "cleanedStartLine" : 1080,
      "cleanedEndLine" : 1085
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_setup.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3222,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2207,
      "startLine" : 2187,
      "endLine" : 2195,
      "cleanedStartLine" : 1132,
      "cleanedEndLine" : 1137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 427,
      "endLine" : 436,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 487,
      "endLine" : 495,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 735,
      "endLine" : 741,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 940,
      "endLine" : 946,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 496
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1713,
      "endLine" : 1719,
      "cleanedStartLine" : 914,
      "cleanedEndLine" : 919
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1919,
      "endLine" : 1925,
      "cleanedStartLine" : 1024,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1106,
      "endLine" : 1112,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 683
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1216,
      "endLine" : 1222,
      "cleanedStartLine" : 747,
      "cleanedEndLine" : 752
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_crash.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2497,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1725,
      "startLine" : 228,
      "endLine" : 233,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/zipdir/zipdir.c",
        "extension" : "c",
        "linesOfCode" : 1224,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 800,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 417,
      "endLine" : 423,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Effects_Buffer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 411,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 325,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 301
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 1104,
      "endLine" : 1113,
      "cleanedStartLine" : 499,
      "cleanedEndLine" : 504
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 1306,
      "endLine" : 1315,
      "cleanedStartLine" : 611,
      "cleanedEndLine" : 616
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 480,
      "endLine" : 487,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 937,
      "endLine" : 944,
      "cleanedStartLine" : 573,
      "cleanedEndLine" : 578
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 743,
      "endLine" : 748,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 615
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 764,
      "endLine" : 769,
      "cleanedStartLine" : 631,
      "cleanedEndLine" : 636
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 744,
      "endLine" : 750,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 341,
      "endLine" : 348,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 259,
      "endLine" : 266,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_input.mm",
        "extension" : "mm",
        "linesOfCode" : 555,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 990,
      "endLine" : 995,
      "cleanedStartLine" : 827,
      "cleanedEndLine" : 832
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 735,
      "endLine" : 741,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 859,
      "endLine" : 865,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1106,
      "endLine" : 1112,
      "cleanedStartLine" : 678,
      "cleanedEndLine" : 683
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1155,
      "endLine" : 1161,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 713
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_video.mm",
        "extension" : "mm",
        "linesOfCode" : 901,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 1128,
      "endLine" : 1138,
      "cleanedStartLine" : 559,
      "cleanedEndLine" : 564
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/hardware.cpp",
        "extension" : "cpp",
        "linesOfCode" : 249,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 273,
      "endLine" : 283,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 399,
      "endLine" : 406,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 597,
      "endLine" : 604,
      "cleanedStartLine" : 519,
      "cleanedEndLine" : 524
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1144,
      "endLine" : 1150,
      "cleanedStartLine" : 590,
      "cleanedEndLine" : 595
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1773,
      "endLine" : 1779,
      "cleanedStartLine" : 963,
      "cleanedEndLine" : 968
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 766,
      "endLine" : 773,
      "cleanedStartLine" : 373,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 725,
      "endLine" : 732,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dtoa.c",
        "extension" : "c",
        "linesOfCode" : 602,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 421,
      "startLine" : 621,
      "endLine" : 629,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/gdtoa.c",
        "extension" : "c",
        "linesOfCode" : 587,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 464,
      "startLine" : 619,
      "endLine" : 627,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 361
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 303,
      "endLine" : 311,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeweapons.cpp",
        "extension" : "cpp",
        "linesOfCode" : 706,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 474,
      "startLine" : 427,
      "endLine" : 436,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 962,
      "endLine" : 967,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 563
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1196,
      "endLine" : 1201,
      "cleanedStartLine" : 719,
      "cleanedEndLine" : 724
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmerge.c",
        "extension" : "c",
        "linesOfCode" : 247,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdmerge.c",
        "extension" : "c",
        "linesOfCode" : 247,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 217,
      "startLine" : 343,
      "endLine" : 348,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 949,
      "endLine" : 955,
      "cleanedStartLine" : 498,
      "cleanedEndLine" : 503
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 517,
      "cleanedEndLine" : 522
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 414,
      "endLine" : 419,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 420,
      "endLine" : 425,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_mouse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 793,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 487,
      "startLine" : 525,
      "endLine" : 532,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_rawps2.cpp",
        "extension" : "cpp",
        "linesOfCode" : 871,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 555,
      "startLine" : 893,
      "endLine" : 900,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3316,
      "endLine" : 3325,
      "cleanedStartLine" : 2254,
      "cleanedEndLine" : 2259
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 3332,
      "endLine" : 3341,
      "cleanedStartLine" : 2262,
      "cleanedEndLine" : 2267
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 967,
      "endLine" : 972,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 981,
      "endLine" : 986,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 439
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 777,
      "endLine" : 783,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 818,
      "endLine" : 824,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 413
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/joystickmenu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 308,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 274,
      "endLine" : 281,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/joystickmenu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 308,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 341,
      "endLine" : 349,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1043,
      "endLine" : 1051,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 594
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/menudef.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1162,
      "endLine" : 1170,
      "cleanedStartLine" : 652,
      "cleanedEndLine" : 657
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 777,
      "endLine" : 783,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 899,
      "endLine" : 905,
      "cleanedStartLine" : 463,
      "cleanedEndLine" : 468
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 412,
      "endLine" : 420,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 192
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 677,
      "endLine" : 685,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 683,
      "endLine" : 690,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 862,
      "endLine" : 869,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 393
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 831,
      "endLine" : 841,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 341
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1181,
      "endLine" : 1191,
      "cleanedStartLine" : 465,
      "cleanedEndLine" : 470
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1485,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 349,
      "endLine" : 354,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 346,
      "endLine" : 351,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 352,
      "endLine" : 358,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2123,
      "endLine" : 2129,
      "cleanedStartLine" : 1206,
      "cleanedEndLine" : 1211
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 735,
      "endLine" : 741,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 777,
      "endLine" : 783,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericflame.cpp",
        "extension" : "cpp",
        "linesOfCode" : 114,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_magecone.cpp",
        "extension" : "cpp",
        "linesOfCode" : 132,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/compress.c",
        "extension" : "c",
        "linesOfCode" : 439,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 369,
      "startLine" : 481,
      "endLine" : 486,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/decompress.c",
        "extension" : "c",
        "linesOfCode" : 495,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 443,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1686,
      "endLine" : 1691,
      "cleanedStartLine" : 925,
      "cleanedEndLine" : 930
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1738,
      "endLine" : 1743,
      "cleanedStartLine" : 958,
      "cleanedEndLine" : 963
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1649,
      "endLine" : 1655,
      "cleanedStartLine" : 722,
      "cleanedEndLine" : 727
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 1682,
      "endLine" : 1688,
      "cleanedStartLine" : 740,
      "cleanedEndLine" : 745
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/a_fastprojectile.cpp",
        "extension" : "cpp",
        "linesOfCode" : 151,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 141,
      "endLine" : 153,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 3731,
      "endLine" : 3743,
      "cleanedStartLine" : 1754,
      "cleanedEndLine" : 1759
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/optionmenu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 433,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 256,
      "startLine" : 275,
      "endLine" : 288,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/menu/optionmenu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 433,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 256,
      "startLine" : 302,
      "endLine" : 315,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3386,
      "endLine" : 3391,
      "cleanedStartLine" : 1683,
      "cleanedEndLine" : 1688
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3394,
      "endLine" : 3399,
      "cleanedStartLine" : 1691,
      "cleanedEndLine" : 1696
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3386,
      "endLine" : 3391,
      "cleanedStartLine" : 1683,
      "cleanedEndLine" : 1688
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3400,
      "endLine" : 3405,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 974,
      "endLine" : 979,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 816
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 980,
      "endLine" : 985,
      "cleanedStartLine" : 817,
      "cleanedEndLine" : 822
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 759,
      "endLine" : 770,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 676,
      "endLine" : 687,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1590,
      "endLine" : 1598,
      "cleanedStartLine" : 806,
      "cleanedEndLine" : 811
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1616,
      "endLine" : 1624,
      "cleanedStartLine" : 821,
      "cleanedEndLine" : 826
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5369,
      "endLine" : 5374,
      "cleanedStartLine" : 2640,
      "cleanedEndLine" : 2645
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5472,
      "endLine" : 5477,
      "cleanedStartLine" : 2687,
      "cleanedEndLine" : 2692
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 748,
      "endLine" : 753,
      "cleanedStartLine" : 549,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 775,
      "endLine" : 780,
      "cleanedStartLine" : 575,
      "cleanedEndLine" : 580
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 818,
      "endLine" : 824,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 413
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 940,
      "endLine" : 946,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 496
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5369,
      "endLine" : 5374,
      "cleanedStartLine" : 2640,
      "cleanedEndLine" : 2645
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5446,
      "endLine" : 5451,
      "cleanedStartLine" : 2675,
      "cleanedEndLine" : 2680
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 838,
      "endLine" : 844,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 878,
      "endLine" : 884,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5369,
      "endLine" : 5374,
      "cleanedStartLine" : 2640,
      "cleanedEndLine" : 2645
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5426,
      "endLine" : 5431,
      "cleanedStartLine" : 2666,
      "cleanedEndLine" : 2671
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 818,
      "endLine" : 824,
      "cleanedStartLine" : 408,
      "cleanedEndLine" : 413
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 859,
      "endLine" : 865,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5369,
      "endLine" : 5374,
      "cleanedStartLine" : 2640,
      "cleanedEndLine" : 2645
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5406,
      "endLine" : 5411,
      "cleanedStartLine" : 2657,
      "cleanedEndLine" : 2662
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 847,
      "startLine" : 983,
      "endLine" : 992,
      "cleanedStartLine" : 557,
      "cleanedEndLine" : 562
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 847,
      "startLine" : 1010,
      "endLine" : 1019,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 579
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5369,
      "endLine" : 5374,
      "cleanedStartLine" : 2640,
      "cleanedEndLine" : 2645
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5386,
      "endLine" : 5391,
      "cleanedStartLine" : 2648,
      "cleanedEndLine" : 2653
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 974,
      "endLine" : 979,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 816
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 986,
      "endLine" : 991,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resamp3.inc",
        "extension" : "inc",
        "linesOfCode" : 331,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 304,
      "endLine" : 309,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/m_misc.cpp",
        "extension" : "cpp",
        "linesOfCode" : 603,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 387,
      "startLine" : 156,
      "endLine" : 163,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 168,
      "endLine" : 175,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4260,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2814,
      "startLine" : 835,
      "endLine" : 842,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 365
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/sdl/sdlvideo.cpp",
        "extension" : "cpp",
        "linesOfCode" : 634,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 308,
      "endLine" : 315,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/win32video.cpp",
        "extension" : "cpp",
        "linesOfCode" : 597,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 370,
      "startLine" : 707,
      "endLine" : 714,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 318
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 838,
      "endLine" : 844,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 864,
      "endLine" : 870,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 366
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 63,
      "endLine" : 68,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 133,
      "endLine" : 138,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1020,
      "endLine" : 1030,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1044,
      "endLine" : 1054,
      "cleanedStartLine" : 413,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1738,
      "endLine" : 1743,
      "cleanedStartLine" : 958,
      "cleanedEndLine" : 963
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1912,
      "endLine" : 1917,
      "cleanedStartLine" : 1061,
      "cleanedEndLine" : 1066
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 795,
      "endLine" : 803,
      "cleanedStartLine" : 437,
      "cleanedEndLine" : 442
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 837,
      "endLine" : 845,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 465
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 566,
      "endLine" : 575,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1062,
      "endLine" : 1067,
      "cleanedStartLine" : 889,
      "cleanedEndLine" : 894
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1074,
      "endLine" : 1079,
      "cleanedStartLine" : 901,
      "cleanedEndLine" : 906
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2851,
      "endLine" : 2858,
      "cleanedStartLine" : 1129,
      "cleanedEndLine" : 1134
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2932,
      "endLine" : 2939,
      "cleanedStartLine" : 1169,
      "cleanedEndLine" : 1174
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 616,
      "endLine" : 622,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 814,
      "endLine" : 820,
      "cleanedStartLine" : 355,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2689,
      "endLine" : 2695,
      "cleanedStartLine" : 1814,
      "cleanedEndLine" : 1819
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2920,
      "endLine" : 2926,
      "cleanedStartLine" : 1985,
      "cleanedEndLine" : 1990
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 273,
      "endLine" : 281,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 416,
      "endLine" : 423,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_mouse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 793,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 487,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/i_mouse.cpp",
        "extension" : "cpp",
        "linesOfCode" : 793,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 487,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1939,
      "endLine" : 1944,
      "cleanedStartLine" : 903,
      "cleanedEndLine" : 908
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3041,
      "endLine" : 3046,
      "cleanedStartLine" : 1449,
      "cleanedEndLine" : 1454
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 480,
      "endLine" : 487,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 631,
      "endLine" : 638,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 471,
      "endLine" : 478,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/i_net.cpp",
        "extension" : "cpp",
        "linesOfCode" : 827,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 545,
      "endLine" : 555,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 246
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/i_net.cpp",
        "extension" : "cpp",
        "linesOfCode" : 827,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 578,
      "endLine" : 587,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1230,
      "endLine" : 1237,
      "cleanedStartLine" : 719,
      "cleanedEndLine" : 724
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 499,
      "endLine" : 506,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 480,
      "endLine" : 487,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 552,
      "endLine" : 559,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1555,
      "endLine" : 1560,
      "cleanedStartLine" : 833,
      "cleanedEndLine" : 838
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1726,
      "endLine" : 1731,
      "cleanedStartLine" : 932,
      "cleanedEndLine" : 937
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 968,
      "endLine" : 973,
      "cleanedStartLine" : 805,
      "cleanedEndLine" : 810
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 974,
      "endLine" : 979,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 816
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 211,
      "endLine" : 217,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_spec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1733,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1148,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_udmf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1275,
      "startLine" : 1050,
      "endLine" : 1062,
      "cleanedStartLine" : 660,
      "cleanedEndLine" : 665
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_udmf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1275,
      "startLine" : 1563,
      "endLine" : 1572,
      "cleanedStartLine" : 1013,
      "cleanedEndLine" : 1018
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 133,
      "endLine" : 139,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 288,
      "endLine" : 294,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 968,
      "endLine" : 973,
      "cleanedStartLine" : 805,
      "cleanedEndLine" : 810
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 986,
      "endLine" : 991,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 115,
      "endLine" : 120,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_dehacked.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2564,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1741,
      "startLine" : 875,
      "endLine" : 883,
      "cleanedStartLine" : 515,
      "cleanedEndLine" : 520
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/d_dehacked.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2564,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1741,
      "startLine" : 1615,
      "endLine" : 1623,
      "cleanedStartLine" : 873,
      "cleanedEndLine" : 878
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 968,
      "endLine" : 973,
      "cleanedStartLine" : 805,
      "cleanedEndLine" : 810
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 980,
      "endLine" : 985,
      "cleanedStartLine" : 817,
      "cleanedEndLine" : 822
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 657,
      "endLine" : 668,
      "cleanedStartLine" : 386,
      "cleanedEndLine" : 391
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 683,
      "endLine" : 694,
      "cleanedStartLine" : 401,
      "cleanedEndLine" : 406
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 58,
      "endLine" : 66,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/jpegtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 342,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lights.cpp",
        "extension" : "cpp",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lights.cpp",
        "extension" : "cpp",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 299,
      "endLine" : 311,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 507,
      "endLine" : 518,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1738,
      "endLine" : 1743,
      "cleanedStartLine" : 958,
      "cleanedEndLine" : 963
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1970,
      "endLine" : 1975,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdcoefct.c",
        "extension" : "c",
        "linesOfCode" : 258,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 204,
      "startLine" : 186,
      "endLine" : 200,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdcoefct.c",
        "extension" : "c",
        "linesOfCode" : 258,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 204,
      "startLine" : 269,
      "endLine" : 287,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 604,
      "endLine" : 609,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 613,
      "endLine" : 618,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 395
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1181,
      "endLine" : 1191,
      "cleanedStartLine" : 465,
      "cleanedEndLine" : 470
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2536,
      "endLine" : 2546,
      "cleanedStartLine" : 994,
      "cleanedEndLine" : 999
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericmace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 47,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterhammer.cpp",
        "extension" : "cpp",
        "linesOfCode" : 97,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 604,
      "endLine" : 609,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 622,
      "endLine" : 627,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 403
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 563,
      "endLine" : 570,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_expression.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1950,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1301,
      "startLine" : 782,
      "endLine" : 790,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1738,
      "endLine" : 1743,
      "cleanedStartLine" : 958,
      "cleanedEndLine" : 963
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2039,
      "endLine" : 2044,
      "cleanedStartLine" : 1147,
      "cleanedEndLine" : 1152
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 831,
      "endLine" : 841,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 341
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1157,
      "endLine" : 1167,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1485,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1469,
      "endLine" : 1474,
      "cleanedStartLine" : 919,
      "cleanedEndLine" : 924
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1482,
      "endLine" : 1487,
      "cleanedStartLine" : 929,
      "cleanedEndLine" : 934
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1485,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1738,
      "endLine" : 1743,
      "cleanedStartLine" : 958,
      "cleanedEndLine" : 963
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2105,
      "endLine" : 2110,
      "cleanedStartLine" : 1192,
      "cleanedEndLine" : 1197
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 133,
      "endLine" : 138,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 536,
      "endLine" : 541,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 899,
      "endLine" : 904,
      "cleanedStartLine" : 581,
      "cleanedEndLine" : 586
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_rebels.cpp",
        "extension" : "cpp",
        "linesOfCode" : 79,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 51,
      "endLine" : 62,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_strife/a_strifeitems.cpp",
        "extension" : "cpp",
        "linesOfCode" : 267,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 49,
      "endLine" : 60,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1106,
      "endLine" : 1111,
      "cleanedStartLine" : 878,
      "cleanedEndLine" : 883
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 1141,
      "endLine" : 1146,
      "cleanedStartLine" : 910,
      "cleanedEndLine" : 915
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 691,
      "endLine" : 699,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 774,
      "endLine" : 782,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 339
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 582,
      "endLine" : 589,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 862,
      "endLine" : 869,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 393
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/imgztexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 64,
      "endLine" : 70,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2239,
      "endLine" : 2245,
      "cleanedStartLine" : 1460,
      "cleanedEndLine" : 1465
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2689,
      "endLine" : 2695,
      "cleanedStartLine" : 1814,
      "cleanedEndLine" : 1819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_interpolate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 529,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 344,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_interpolate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 529,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 344,
      "startLine" : 146,
      "endLine" : 151,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 2965,
      "endLine" : 2973,
      "cleanedStartLine" : 1323,
      "cleanedEndLine" : 1328
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 2996,
      "endLine" : 3004,
      "cleanedStartLine" : 1335,
      "cleanedEndLine" : 1340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1010,
      "endLine" : 1017,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 567
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 487,
      "endLine" : 494,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 260
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 583,
      "endLine" : 592,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 884,
      "endLine" : 893,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/code.cc",
        "extension" : "cc",
        "linesOfCode" : 1538,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 876,
      "startLine" : 900,
      "endLine" : 910,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 425
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/code.cc",
        "extension" : "cc",
        "linesOfCode" : 1538,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 876,
      "startLine" : 1018,
      "endLine" : 1027,
      "cleanedStartLine" : 487,
      "cleanedEndLine" : 492
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jpegint.h",
        "extension" : "h",
        "linesOfCode" : 167,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jpegint.h",
        "extension" : "h",
        "linesOfCode" : 167,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 437,
      "endLine" : 444,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/am_map.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2206,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1568,
      "startLine" : 478,
      "endLine" : 485,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 302
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/gi.cpp",
        "extension" : "cpp",
        "linesOfCode" : 308,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 204,
      "endLine" : 211,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 759,
      "endLine" : 770,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 594,
      "endLine" : 605,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1068,
      "endLine" : 1073,
      "cleanedStartLine" : 895,
      "cleanedEndLine" : 900
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1074,
      "endLine" : 1079,
      "cleanedStartLine" : 901,
      "cleanedEndLine" : 906
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 498
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 583,
      "endLine" : 592,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 348
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 784,
      "endLine" : 793,
      "cleanedStartLine" : 472,
      "cleanedEndLine" : 477
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 859,
      "endLine" : 865,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 899,
      "endLine" : 905,
      "cleanedStartLine" : 463,
      "cleanedEndLine" : 468
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 416,
      "endLine" : 422,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1155,
      "endLine" : 1161,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 713
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 942,
      "endLine" : 947,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 981,
      "endLine" : 986,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 439
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inffast.c",
        "extension" : "c",
        "linesOfCode" : 261,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.h",
        "extension" : "h",
        "linesOfCode" : 73,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 93,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericmace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 47,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericstaff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 141,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/read669.c",
        "extension" : "c",
        "linesOfCode" : 336,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 273,
      "startLine" : 239,
      "endLine" : 249,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmtm.c",
        "extension" : "c",
        "linesOfCode" : 298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 248,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 613,
      "endLine" : 618,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 395
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 622,
      "endLine" : 627,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 403
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 471,
      "endLine" : 476,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 477,
      "endLine" : 483,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1046,
      "endLine" : 1054,
      "cleanedStartLine" : 561,
      "cleanedEndLine" : 566
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1292,
      "endLine" : 1300,
      "cleanedStartLine" : 704,
      "cleanedEndLine" : 709
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 942,
      "endLine" : 947,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 967,
      "endLine" : 972,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 943,
      "endLine" : 953,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 3247,
      "endLine" : 3257,
      "cleanedStartLine" : 1323,
      "cleanedEndLine" : 1328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtod.c",
        "extension" : "c",
        "linesOfCode" : 959,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 644,
      "startLine" : 651,
      "endLine" : 656,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 398
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 761,
      "endLine" : 766,
      "cleanedStartLine" : 528,
      "cleanedEndLine" : 533
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 616,
      "endLine" : 622,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/ddstexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 649,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 402,
      "startLine" : 709,
      "endLine" : 715,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1787,
      "endLine" : 1798,
      "cleanedStartLine" : 760,
      "cleanedEndLine" : 765
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 1944,
      "endLine" : 1958,
      "cleanedStartLine" : 834,
      "cleanedEndLine" : 839
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 351,
      "endLine" : 358,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 1097,
      "endLine" : 1104,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 651
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 866,
      "endLine" : 875,
      "cleanedStartLine" : 444,
      "cleanedEndLine" : 449
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 700,
      "endLine" : 708,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 716,
      "endLine" : 724,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 322
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/instrum.cpp",
        "extension" : "cpp",
        "linesOfCode" : 552,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 662,
      "endLine" : 670,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/timidity/timidity.cpp",
        "extension" : "cpp",
        "linesOfCode" : 632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 391,
      "startLine" : 505,
      "endLine" : 513,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1247,
      "endLine" : 1255,
      "cleanedStartLine" : 757,
      "cleanedEndLine" : 762
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/dosbox/opl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1097,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 888,
      "startLine" : 1342,
      "endLine" : 1348,
      "cleanedStartLine" : 828,
      "cleanedEndLine" : 833
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 357,
      "endLine" : 368,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_bsp.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1034,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 725,
      "startLine" : 493,
      "endLine" : 504,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 301,
      "endLine" : 306,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/bzlib.c",
        "extension" : "c",
        "linesOfCode" : 1183,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1021,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_smf_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 598,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 382,
      "startLine" : 676,
      "endLine" : 687,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 302
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_xmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 473,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 298,
      "startLine" : 594,
      "endLine" : 605,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 124,
      "endLine" : 134,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/pngtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 540,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 362,
      "startLine" : 174,
      "endLine" : 184,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1457,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 798
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 384,
      "endLine" : 390,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 400,
      "endLine" : 406,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 1940,
      "endLine" : 1945,
      "cleanedStartLine" : 1279,
      "cleanedEndLine" : 1284
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 3517,
      "endLine" : 3522,
      "cleanedStartLine" : 2397,
      "cleanedEndLine" : 2402
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1948,
      "endLine" : 1953,
      "cleanedStartLine" : 911,
      "cleanedEndLine" : 916
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3050,
      "endLine" : 3055,
      "cleanedStartLine" : 1457,
      "cleanedEndLine" : 1462
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 648,
      "endLine" : 655,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 688,
      "endLine" : 696,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2239,
      "endLine" : 2245,
      "cleanedStartLine" : 1460,
      "cleanedEndLine" : 1465
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2920,
      "endLine" : 2926,
      "cleanedStartLine" : 1985,
      "cleanedEndLine" : 1990
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1157,
      "endLine" : 1167,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1181,
      "endLine" : 1191,
      "cleanedStartLine" : 465,
      "cleanedEndLine" : 470
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/texture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 493,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 368,
      "endLine" : 376,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/texture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 493,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 392,
      "endLine" : 400,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1994,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1337,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1180,
      "startLine" : 224,
      "endLine" : 230,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 154,
      "endLine" : 159,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 174,
      "endLine" : 180,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 445,
      "endLine" : 451,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 452,
      "endLine" : 457,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_enemy.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2397,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1520,
      "startLine" : 489,
      "endLine" : 500,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 1845,
      "endLine" : 1856,
      "cleanedStartLine" : 877,
      "cleanedEndLine" : 882
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 195,
      "endLine" : 201,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1457,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 798
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_input.mm",
        "extension" : "mm",
        "linesOfCode" : 555,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 284,
      "endLine" : 289,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 986,
      "endLine" : 991,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_input.mm",
        "extension" : "mm",
        "linesOfCode" : 555,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 284,
      "endLine" : 289,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 974,
      "endLine" : 979,
      "cleanedStartLine" : 811,
      "cleanedEndLine" : 816
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_input.mm",
        "extension" : "mm",
        "linesOfCode" : 555,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 284,
      "endLine" : 289,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 980,
      "endLine" : 985,
      "cleanedStartLine" : 817,
      "cleanedEndLine" : 822
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 628,
      "endLine" : 634,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 430
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/strtodg.c",
        "extension" : "c",
        "linesOfCode" : 969,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 767,
      "startLine" : 650,
      "endLine" : 656,
      "cleanedStartLine" : 444,
      "cleanedEndLine" : 449
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_input.mm",
        "extension" : "mm",
        "linesOfCode" : 555,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 380,
      "startLine" : 284,
      "endLine" : 289,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 968,
      "endLine" : 973,
      "cleanedStartLine" : 805,
      "cleanedEndLine" : 810
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 543,
      "endLine" : 550,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1844,
      "endLine" : 1850,
      "cleanedStartLine" : 977,
      "cleanedEndLine" : 982
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1958,
      "endLine" : 1964,
      "cleanedStartLine" : 1048,
      "cleanedEndLine" : 1053
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 4886,
      "endLine" : 4892,
      "cleanedStartLine" : 2395,
      "cleanedEndLine" : 2400
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 4901,
      "endLine" : 4907,
      "cleanedStartLine" : 2404,
      "cleanedEndLine" : 2409
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1457,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 798
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1130,
      "endLine" : 1137,
      "cleanedStartLine" : 604,
      "cleanedEndLine" : 609
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1235,
      "endLine" : 1242,
      "cleanedStartLine" : 670,
      "cleanedEndLine" : 675
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1844,
      "endLine" : 1850,
      "cleanedStartLine" : 977,
      "cleanedEndLine" : 982
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1919,
      "endLine" : 1925,
      "cleanedStartLine" : 1024,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdhuff.c",
        "extension" : "c",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 525,
      "endLine" : 537,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/jpeg-6b/jdphuff.c",
        "extension" : "c",
        "linesOfCode" : 388,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 507,
      "endLine" : 518,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 1027,
      "endLine" : 1036,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 541
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_things.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2398,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1640,
      "startLine" : 1328,
      "endLine" : 1337,
      "cleanedStartLine" : 712,
      "cleanedEndLine" : 717
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/example.c",
        "extension" : "c",
        "linesOfCode" : 416,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 349,
      "startLine" : 451,
      "endLine" : 457,
      "cleanedStartLine" : 278,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cmds.cpp",
        "extension" : "cpp",
        "linesOfCode" : 925,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 543,
      "startLine" : 360,
      "endLine" : 371,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_level.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1499,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 959,
      "startLine" : 170,
      "endLine" : 180,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 581
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1742,
      "endLine" : 1749,
      "cleanedStartLine" : 945,
      "cleanedEndLine" : 950
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_gl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 296,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 204,
      "startLine" : 305,
      "endLine" : 315,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/nodebuild_gl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 296,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 204,
      "startLine" : 364,
      "endLine" : 374,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1457,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 798
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 1498,
      "endLine" : 1504,
      "cleanedStartLine" : 1032,
      "cleanedEndLine" : 1037
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/sbarinfo_commands.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3214,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2411,
      "startLine" : 2842,
      "endLine" : 2848,
      "cleanedStartLine" : 1943,
      "cleanedEndLine" : 1948
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 374,
      "endLine" : 381,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1609,
      "endLine" : 1614,
      "cleanedStartLine" : 1371,
      "cleanedEndLine" : 1376
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1632,
      "endLine" : 1637,
      "cleanedStartLine" : 1393,
      "cleanedEndLine" : 1398
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 504,
      "endLine" : 513,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 784,
      "endLine" : 793,
      "cleanedStartLine" : 472,
      "cleanedEndLine" : 477
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3380,
      "endLine" : 3385,
      "cleanedStartLine" : 1677,
      "cleanedEndLine" : 1682
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3386,
      "endLine" : 3391,
      "cleanedStartLine" : 1683,
      "cleanedEndLine" : 1688
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 729,
      "endLine" : 734,
      "cleanedStartLine" : 477,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 838,
      "endLine" : 843,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 563
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 700,
      "endLine" : 708,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_hmi_midiout.cpp",
        "extension" : "cpp",
        "linesOfCode" : 692,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 415,
      "startLine" : 799,
      "endLine" : 807,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2345,
      "endLine" : 2351,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2920,
      "endLine" : 2926,
      "cleanedStartLine" : 1985,
      "cleanedEndLine" : 1990
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1621,
      "endLine" : 1631,
      "cleanedStartLine" : 644,
      "cleanedEndLine" : 649
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1769,
      "endLine" : 1779,
      "cleanedStartLine" : 715,
      "cleanedEndLine" : 720
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3380,
      "endLine" : 3385,
      "cleanedStartLine" : 1677,
      "cleanedEndLine" : 1682
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3400,
      "endLine" : 3405,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3380,
      "endLine" : 3385,
      "cleanedStartLine" : 1677,
      "cleanedEndLine" : 1682
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3394,
      "endLine" : 3399,
      "cleanedStartLine" : 1691,
      "cleanedEndLine" : 1696
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1142,
      "endLine" : 1147,
      "cleanedStartLine" : 960,
      "cleanedEndLine" : 965
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1292,
      "endLine" : 1297,
      "cleanedStartLine" : 1088,
      "cleanedEndLine" : 1093
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 201,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 319,
      "endLine" : 327,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 1957,
      "endLine" : 1962,
      "cleanedStartLine" : 919,
      "cleanedEndLine" : 924
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/fb_d3d9.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2820,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1929,
      "startLine" : 3059,
      "endLine" : 3064,
      "cleanedStartLine" : 1465,
      "cleanedEndLine" : 1470
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 201,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 367,
      "endLine" : 375,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_udmf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1275,
      "startLine" : 86,
      "endLine" : 91,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_udmf.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1275,
      "startLine" : 92,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3760,
      "endLine" : 3767,
      "cleanedStartLine" : 2542,
      "cleanedEndLine" : 2547
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/lemon/lemon.c",
        "extension" : "c",
        "linesOfCode" : 3870,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3238,
      "startLine" : 3799,
      "endLine" : 3806,
      "cleanedStartLine" : 2573,
      "cleanedEndLine" : 2578
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 504,
      "endLine" : 513,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 884,
      "endLine" : 893,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 257,
      "endLine" : 262,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 608,
      "endLine" : 613,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 607,
      "endLine" : 614,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 464
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/fmopl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1073,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 801,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/oplsynth/fmopl.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1073,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 801,
      "startLine" : 377,
      "endLine" : 382,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2127,
      "endLine" : 2137,
      "cleanedStartLine" : 1591,
      "cleanedEndLine" : 1596
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 2310,
      "endLine" : 2320,
      "cleanedStartLine" : 1716,
      "cleanedEndLine" : 1721
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 777,
      "endLine" : 784,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 491
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_zip.h",
        "extension" : "h",
        "linesOfCode" : 61,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/zipdir/zipdir.c",
        "extension" : "c",
        "linesOfCode" : 1224,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 800,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1346,
      "endLine" : 1352,
      "cleanedStartLine" : 757,
      "cleanedEndLine" : 762
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1425,
      "endLine" : 1431,
      "cleanedStartLine" : 816,
      "cleanedEndLine" : 821
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 251,
      "endLine" : 259,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 459,
      "endLine" : 467,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1346,
      "endLine" : 1352,
      "cleanedStartLine" : 757,
      "cleanedEndLine" : 762
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaEnc.c",
        "extension" : "c",
        "linesOfCode" : 1984,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1406,
      "startLine" : 1514,
      "endLine" : 1520,
      "cleanedStartLine" : 882,
      "cleanedEndLine" : 887
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 750,
      "endLine" : 757,
      "cleanedStartLine" : 449,
      "cleanedEndLine" : 454
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 839,
      "endLine" : 846,
      "cleanedStartLine" : 508,
      "cleanedEndLine" : 513
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2387,
      "endLine" : 2393,
      "cleanedStartLine" : 1581,
      "cleanedEndLine" : 1586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2689,
      "endLine" : 2695,
      "cleanedStartLine" : 1814,
      "cleanedEndLine" : 1819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1703,
      "endLine" : 1710,
      "cleanedStartLine" : 907,
      "cleanedEndLine" : 912
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/deflate.c",
        "extension" : "c",
        "linesOfCode" : 1315,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1053,
      "startLine" : 1909,
      "endLine" : 1916,
      "cleanedStartLine" : 1017,
      "cleanedEndLine" : 1022
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/infback.c",
        "extension" : "c",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 419,
      "startLine" : 347,
      "endLine" : 352,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inflate.c",
        "extension" : "c",
        "linesOfCode" : 1149,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 961,
      "startLine" : 885,
      "endLine" : 890,
      "cleanedStartLine" : 504,
      "cleanedEndLine" : 509
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 251,
      "endLine" : 259,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/re.h",
        "extension" : "h",
        "linesOfCode" : 406,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 412,
      "endLine" : 420,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 786,
      "endLine" : 792,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1485,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readptm.c",
        "extension" : "c",
        "linesOfCode" : 387,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 499,
      "endLine" : 506,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 656,
      "endLine" : 663,
      "cleanedStartLine" : 355,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 827,
      "endLine" : 833,
      "cleanedStartLine" : 415,
      "cleanedEndLine" : 420
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2057,
      "endLine" : 2063,
      "cleanedStartLine" : 1161,
      "cleanedEndLine" : 1166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_doom/a_doomweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 499,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 172,
      "endLine" : 182,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 287,
      "endLine" : 297,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1580,
      "endLine" : 1587,
      "cleanedStartLine" : 737,
      "cleanedEndLine" : 742
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1623,
      "endLine" : 1630,
      "cleanedStartLine" : 762,
      "cleanedEndLine" : 767
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_slopes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 454,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_slopes.cpp",
        "extension" : "cpp",
        "linesOfCode" : 454,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 241,
      "endLine" : 248,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Ay_Cpu.h",
        "extension" : "h",
        "linesOfCode" : 65,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.h",
        "extension" : "h",
        "linesOfCode" : 88,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 90,
      "endLine" : 95,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 368,
      "endLine" : 374,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 193
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 400,
      "endLine" : 406,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1181,
      "endLine" : 1191,
      "cleanedStartLine" : 465,
      "cleanedEndLine" : 470
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 3498,
      "endLine" : 3508,
      "cleanedStartLine" : 1416,
      "cleanedEndLine" : 1421
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_dumb.cpp",
        "extension" : "cpp",
        "linesOfCode" : 954,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 598,
      "startLine" : 689,
      "endLine" : 699,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_dumb.cpp",
        "extension" : "cpp",
        "linesOfCode" : 954,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 598,
      "startLine" : 719,
      "endLine" : 729,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 363
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 146,
      "endLine" : 155,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 566,
      "endLine" : 575,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 713,
      "endLine" : 718,
      "cleanedStartLine" : 499,
      "cleanedEndLine" : 504
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 873,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 759,
      "startLine" : 333,
      "endLine" : 338,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_fluidsynth_mididevice.cpp",
        "extension" : "cpp",
        "linesOfCode" : 544,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 173,
      "endLine" : 178,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/music_fluidsynth_mididevice.cpp",
        "extension" : "cpp",
        "linesOfCode" : 544,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 193,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1485,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_fighterquietus.cpp",
        "extension" : "cpp",
        "linesOfCode" : 83,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_magecone.cpp",
        "extension" : "cpp",
        "linesOfCode" : 132,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/barray.c",
        "extension" : "c",
        "linesOfCode" : 174,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/barray.c",
        "extension" : "c",
        "linesOfCode" : 174,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 140,
      "endLine" : 147,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1403,
      "endLine" : 1410,
      "cleanedStartLine" : 823,
      "cleanedEndLine" : 828
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readasy.c",
        "extension" : "c",
        "linesOfCode" : 230,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 478,
      "endLine" : 485,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 683,
      "endLine" : 690,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 305
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readoldpsm.c",
        "extension" : "c",
        "linesOfCode" : 543,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 469,
      "startLine" : 678,
      "endLine" : 685,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_interpolate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 529,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 344,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_interpolate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 529,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 344,
      "startLine" : 146,
      "endLine" : 151,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_interpolate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 529,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 344,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_data/r_interpolate.cpp",
        "extension" : "cpp",
        "linesOfCode" : 529,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 344,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dmisc.c",
        "extension" : "c",
        "linesOfCode" : 171,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/dmisc.c",
        "extension" : "c",
        "linesOfCode" : 171,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 191,
      "endLine" : 196,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zArcIn.c",
        "extension" : "c",
        "linesOfCode" : 1420,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1090,
      "startLine" : 1125,
      "endLine" : 1131,
      "cleanedStartLine" : 717,
      "cleanedEndLine" : 722
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/7zArcIn.c",
        "extension" : "c",
        "linesOfCode" : 1420,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1090,
      "startLine" : 1279,
      "endLine" : 1285,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2336,
      "endLine" : 2341,
      "cleanedStartLine" : 1538,
      "cleanedEndLine" : 1543
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2641,
      "endLine" : 2646,
      "cleanedStartLine" : 1772,
      "cleanedEndLine" : 1777
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/hexnan.c",
        "extension" : "c",
        "linesOfCode" : 121,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/gdtoa/hexnan.c",
        "extension" : "c",
        "linesOfCode" : 121,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 92,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1994,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2021,
      "endLine" : 2027,
      "cleanedStartLine" : 1136,
      "cleanedEndLine" : 1141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 339,
      "endLine" : 345,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 827,
      "endLine" : 833,
      "cleanedStartLine" : 415,
      "cleanedEndLine" : 420
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2123,
      "endLine" : 2129,
      "cleanedStartLine" : 1206,
      "cleanedEndLine" : 1211
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/gus_pat.cpp",
        "extension" : "cpp",
        "linesOfCode" : 826,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 739,
      "startLine" : 434,
      "endLine" : 441,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 318
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1994,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 554,
      "endLine" : 560,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readpsm.c",
        "extension" : "c",
        "linesOfCode" : 935,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 784,
      "startLine" : 351,
      "endLine" : 357,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1988,
      "endLine" : 1994,
      "cleanedStartLine" : 1114,
      "cleanedEndLine" : 1119
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 594,
      "endLine" : 600,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 379
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1457,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 798
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 478,
      "endLine" : 485,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/hudmessages.cpp",
        "extension" : "cpp",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 412,
      "startLine" : 582,
      "endLine" : 589,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 686,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1216,
      "endLine" : 1222,
      "cleanedStartLine" : 747,
      "cleanedEndLine" : 752
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5406,
      "endLine" : 5411,
      "cleanedStartLine" : 2657,
      "cleanedEndLine" : 2662
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5472,
      "endLine" : 5477,
      "cleanedStartLine" : 2687,
      "cleanedEndLine" : 2692
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 797,
      "endLine" : 802,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 664
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 803,
      "endLine" : 808,
      "cleanedStartLine" : 665,
      "cleanedEndLine" : 670
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 219
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/c_cvars.h",
        "extension" : "h",
        "linesOfCode" : 286,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 384,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/posix/cocoa/i_video.mm",
        "extension" : "mm",
        "linesOfCode" : 901,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 1128,
      "endLine" : 1138,
      "cleanedStartLine" : 559,
      "cleanedEndLine" : 564
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/win32/win32video.cpp",
        "extension" : "cpp",
        "linesOfCode" : 597,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 370,
      "startLine" : 124,
      "endLine" : 134,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_heretic/a_hereticweaps.cpp",
        "extension" : "cpp",
        "linesOfCode" : 986,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 667,
      "startLine" : 746,
      "endLine" : 755,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_magecone.cpp",
        "extension" : "cpp",
        "linesOfCode" : 132,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5406,
      "endLine" : 5411,
      "cleanedStartLine" : 2657,
      "cleanedEndLine" : 2662
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5426,
      "endLine" : 5431,
      "cleanedStartLine" : 2666,
      "cleanedEndLine" : 2671
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 900,
      "endLine" : 910,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 464
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1075,
      "endLine" : 1086,
      "cleanedStartLine" : 554,
      "cleanedEndLine" : 559
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1062,
      "endLine" : 1067,
      "cleanedStartLine" : 889,
      "cleanedEndLine" : 894
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/tools/re2c/scanner.cc",
        "extension" : "cc",
        "linesOfCode" : 1263,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1085,
      "startLine" : 1068,
      "endLine" : 1073,
      "cleanedStartLine" : 895,
      "cleanedEndLine" : 900
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 870,
      "endLine" : 878,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 371
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 898,
      "endLine" : 906,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 686,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1155,
      "endLine" : 1161,
      "cleanedStartLine" : 708,
      "cleanedEndLine" : 713
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5406,
      "endLine" : 5411,
      "cleanedStartLine" : 2657,
      "cleanedEndLine" : 2662
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_codeptr.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4467,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3102,
      "startLine" : 5446,
      "endLine" : 5451,
      "cleanedStartLine" : 2675,
      "cleanedEndLine" : 2680
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 2677,
      "endLine" : 2682,
      "cleanedStartLine" : 1264,
      "cleanedEndLine" : 1269
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_mobj.cpp",
        "extension" : "cpp",
        "linesOfCode" : 4933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 3099,
      "startLine" : 4903,
      "endLine" : 4908,
      "cleanedStartLine" : 2332,
      "cleanedEndLine" : 2337
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 120,
      "endLine" : 126,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/flattexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 102,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/warptexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 173,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 111,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 723,
      "endLine" : 728,
      "cleanedStartLine" : 526,
      "cleanedEndLine" : 531
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 732,
      "endLine" : 737,
      "cleanedStartLine" : 535,
      "cleanedEndLine" : 540
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inffast.c",
        "extension" : "c",
        "linesOfCode" : 261,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 219,
      "endLine" : 224,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/zlib/inffast.c",
        "extension" : "c",
        "linesOfCode" : 261,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 248,
      "endLine" : 253,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2345,
      "endLine" : 2351,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1551
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2689,
      "endLine" : 2695,
      "cleanedStartLine" : 1814,
      "cleanedEndLine" : 1819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 723,
      "endLine" : 728,
      "cleanedStartLine" : 526,
      "cleanedEndLine" : 531
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 775,
      "endLine" : 780,
      "cleanedStartLine" : 575,
      "cleanedEndLine" : 580
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/SkylineBinPack.cpp",
        "extension" : "cpp",
        "linesOfCode" : 321,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 307,
      "endLine" : 332,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/SkylineBinPack.cpp",
        "extension" : "cpp",
        "linesOfCode" : 321,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 380,
      "endLine" : 405,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lights.cpp",
        "extension" : "cpp",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lights.cpp",
        "extension" : "cpp",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 696,
      "endLine" : 702,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 723,
      "endLine" : 728,
      "cleanedStartLine" : 526,
      "cleanedEndLine" : 531
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wildmidi/wildmidi_lib.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2558,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 2144,
      "startLine" : 748,
      "endLine" : 753,
      "cleanedStartLine" : 549,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaDec.c",
        "extension" : "c",
        "linesOfCode" : 971,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 653,
      "startLine" : 306,
      "endLine" : 313,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/LzmaDec.c",
        "extension" : "c",
        "linesOfCode" : 971,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 653,
      "startLine" : 341,
      "endLine" : 348,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 495,
      "endLine" : 500,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    }, {
      "file" : {
        "relativePath" : "doom_py/src/lib_java/ViZDoomGameJava.cpp",
        "extension" : "cpp",
        "linesOfCode" : 730,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 576,
      "startLine" : 581,
      "endLine" : 586,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 291
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1401,
      "endLine" : 1407,
      "cleanedStartLine" : 758,
      "cleanedEndLine" : 763
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1451,
      "endLine" : 1457,
      "cleanedStartLine" : 793,
      "cleanedEndLine" : 798
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 392,
      "endLine" : 398,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/bzip2/blocksort.c",
        "extension" : "c",
        "linesOfCode" : 729,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 602,
      "startLine" : 400,
      "endLine" : 406,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2387,
      "endLine" : 2393,
      "cleanedStartLine" : 1581,
      "cleanedEndLine" : 1586
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 2451,
      "endLine" : 2457,
      "cleanedStartLine" : 1633,
      "cleanedEndLine" : 1638
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 847,
      "startLine" : 390,
      "endLine" : 398,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/v_text.cpp",
        "extension" : "cpp",
        "linesOfCode" : 345,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 127,
      "endLine" : 135,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1307,
      "endLine" : 1312,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1105
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1402,
      "endLine" : 1407,
      "cleanedStartLine" : 1184,
      "cleanedEndLine" : 1189
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_wad.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1069,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 682,
      "startLine" : 1466,
      "endLine" : 1471,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 555
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/w_wad.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1069,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 682,
      "startLine" : 1478,
      "endLine" : 1483,
      "cleanedStartLine" : 557,
      "cleanedEndLine" : 562
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readam.c",
        "extension" : "c",
        "linesOfCode" : 642,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 493,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readstm.c",
        "extension" : "c",
        "linesOfCode" : 306,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1380,
      "endLine" : 1386,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 746
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1479,
      "endLine" : 1485,
      "cleanedStartLine" : 814,
      "cleanedEndLine" : 819
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_properties.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1819,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1110,
      "startLine" : 2068,
      "endLine" : 2078,
      "cleanedStartLine" : 770,
      "cleanedEndLine" : 775
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/thingdef/thingdef_properties.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1819,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1110,
      "startLine" : 2123,
      "endLine" : 2133,
      "cleanedStartLine" : 798,
      "cleanedEndLine" : 803
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_sectors.cpp",
        "extension" : "cpp",
        "linesOfCode" : 786,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 515,
      "startLine" : 416,
      "endLine" : 423,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1101,
      "endLine" : 1106,
      "cleanedStartLine" : 565,
      "cleanedEndLine" : 570
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_segs.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2799,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1860,
      "startLine" : 1726,
      "endLine" : 1731,
      "cleanedStartLine" : 932,
      "cleanedEndLine" : 937
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Gbs_Emu.h",
        "extension" : "h",
        "linesOfCode" : 66,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Nsf_Emu.h",
        "extension" : "h",
        "linesOfCode" : 84,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 750,
      "endLine" : 757,
      "cleanedStartLine" : 449,
      "cleanedEndLine" : 454
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 937,
      "endLine" : 944,
      "cleanedStartLine" : 573,
      "cleanedEndLine" : 578
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1566,
      "endLine" : 1574,
      "cleanedStartLine" : 791,
      "cleanedEndLine" : 796
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1590,
      "endLine" : 1598,
      "cleanedStartLine" : 806,
      "cleanedEndLine" : 811
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Sap_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 813,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 722,
      "startLine" : 174,
      "endLine" : 180,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/Delta.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/lzma/C/Delta.c",
        "extension" : "c",
        "linesOfCode" : 56,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/multipatchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 972,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 635,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 864,
      "endLine" : 870,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 366
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_shared/shared_sbar.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1352,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 878,
      "endLine" : 884,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1157,
      "endLine" : 1162,
      "cleanedStartLine" : 972,
      "cleanedEndLine" : 977
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1402,
      "endLine" : 1407,
      "cleanedStartLine" : 1184,
      "cleanedEndLine" : 1189
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/farchive.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 851,
      "startLine" : 1201,
      "endLine" : 1210,
      "cleanedStartLine" : 631,
      "cleanedEndLine" : 636
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/farchive.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1340,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 851,
      "startLine" : 1241,
      "endLine" : 1250,
      "cleanedStartLine" : 658,
      "cleanedEndLine" : 663
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 661,
      "endLine" : 670,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 398
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 981,
      "endLine" : 990,
      "cleanedStartLine" : 601,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 680,
      "endLine" : 686,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/helpers/resampler.c",
        "extension" : "c",
        "linesOfCode" : 1271,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 949,
      "startLine" : 1295,
      "endLine" : 1301,
      "cleanedStartLine" : 801,
      "cleanedEndLine" : 806
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 800,
      "endLine" : 805,
      "cleanedStartLine" : 666,
      "cleanedEndLine" : 671
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 822,
      "endLine" : 827,
      "cleanedStartLine" : 684,
      "cleanedEndLine" : 689
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/a.asm",
        "extension" : "asm",
        "linesOfCode" : 728,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 728,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap3.asm",
        "extension" : "asm",
        "linesOfCode" : 313,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 352,
      "endLine" : 358,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 2057,
      "endLine" : 2063,
      "cleanedStartLine" : 1161,
      "cleanedEndLine" : 1166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Hes_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1047,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 942,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/game-music-emu/gme/Kss_Cpu.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1365,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1198,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1157,
      "endLine" : 1162,
      "cleanedStartLine" : 972,
      "cleanedEndLine" : 977
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap.asm",
        "extension" : "asm",
        "linesOfCode" : 1632,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1632,
      "startLine" : 1307,
      "endLine" : 1312,
      "cleanedStartLine" : 1100,
      "cleanedEndLine" : 1105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/rawpagetexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 151,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readdsmf.c",
        "extension" : "c",
        "linesOfCode" : 284,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 372,
      "endLine" : 379,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 622,
      "endLine" : 629,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 496,
      "endLine" : 502,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itread.c",
        "extension" : "c",
        "linesOfCode" : 1027,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 1230,
      "endLine" : 1237,
      "cleanedStartLine" : 719,
      "cleanedEndLine" : 724
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/reads3m.c",
        "extension" : "c",
        "linesOfCode" : 520,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 426,
      "startLine" : 656,
      "endLine" : 663,
      "cleanedStartLine" : 355,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericmace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 47,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 36,
      "endLine" : 43,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/g_hexen/a_clericmace.cpp",
        "extension" : "cpp",
        "linesOfCode" : 47,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 516,
      "endLine" : 521,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3394,
      "endLine" : 3399,
      "cleanedStartLine" : 1691,
      "cleanedEndLine" : 1696
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 3400,
      "endLine" : 3405,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/itrender.c",
        "extension" : "c",
        "linesOfCode" : 4855,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 3911,
      "startLine" : 522,
      "endLine" : 527,
      "cleanedStartLine" : 359,
      "cleanedEndLine" : 364
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_draw.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1913,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1427,
      "startLine" : 1882,
      "endLine" : 1890,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1052
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_plane.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1322,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 938,
      "startLine" : 1796,
      "endLine" : 1804,
      "cleanedStartLine" : 909,
      "cleanedEndLine" : 914
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 2861,
      "endLine" : 2869,
      "cleanedStartLine" : 1282,
      "cleanedEndLine" : 1287
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/sound/fmodsound.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2298,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1437,
      "startLine" : 2888,
      "endLine" : 2896,
      "cleanedStartLine" : 1292,
      "cleanedEndLine" : 1297
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 1157,
      "endLine" : 1167,
      "cleanedStartLine" : 457,
      "cleanedEndLine" : 462
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/fragglescript/t_func.cpp",
        "extension" : "cpp",
        "linesOfCode" : 3055,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 2003,
      "startLine" : 2536,
      "endLine" : 2546,
      "cleanedStartLine" : 994,
      "cleanedEndLine" : 999
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 345,
      "endLine" : 350,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 301
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/asm_ia32/tmap2.asm",
        "extension" : "asm",
        "linesOfCode" : 551,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 551,
      "startLine" : 509,
      "endLine" : 514,
      "cleanedStartLine" : 440,
      "cleanedEndLine" : 445
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 1940,
      "endLine" : 1947,
      "cleanedStartLine" : 844,
      "cleanedEndLine" : 849
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lnspec.cpp",
        "extension" : "cpp",
        "linesOfCode" : 2869,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1830,
      "startLine" : 1959,
      "endLine" : 1966,
      "cleanedStartLine" : 855,
      "cleanedEndLine" : 860
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/buildtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 235,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 132,
      "endLine" : 143,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/textures/patchtexture.cpp",
        "extension" : "cpp",
        "linesOfCode" : 252,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 218,
      "endLine" : 229,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readmod.c",
        "extension" : "c",
        "linesOfCode" : 418,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 328,
      "startLine" : 534,
      "endLine" : 540,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/dumb/src/it/readxm.c",
        "extension" : "c",
        "linesOfCode" : 1066,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 844,
      "startLine" : 1044,
      "endLine" : 1050,
      "cleanedStartLine" : 559,
      "cleanedEndLine" : 564
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lights.cpp",
        "extension" : "cpp",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/p_lights.cpp",
        "extension" : "cpp",
        "linesOfCode" : 492,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 308,
      "startLine" : 696,
      "endLine" : 702,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1566,
      "endLine" : 1574,
      "cleanedStartLine" : 791,
      "cleanedEndLine" : 796
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/wi_stuff.cpp",
        "extension" : "cpp",
        "linesOfCode" : 1636,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1146,
      "startLine" : 1616,
      "endLine" : 1624,
      "cleanedStartLine" : 821,
      "cleanedEndLine" : 826
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 712,
      "endLine" : 718,
      "cleanedStartLine" : 463,
      "cleanedEndLine" : 468
    }, {
      "file" : {
        "relativePath" : "doom_py/src/vizdoom/src/r_drawt.cpp",
        "extension" : "cpp",
        "linesOfCode" : 933,
        "components" : [ "primary::doom_py" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 755,
      "startLine" : 821,
      "endLine" : 827,
      "cleanedStartLine" : 544,
      "cleanedEndLine" : 549
    } ]
  } ],
  "overallDuplication" : null
}