{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:12:28",
  "duplicates" : [ {
    "blockSize" : 160,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 56,
      "endLine" : 215,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 65,
      "endLine" : 224,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/ffi.rs",
        "extension" : "rs",
        "linesOfCode" : 336,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 277,
      "endLine" : 305,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 16,
      "endLine" : 44,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 33,
      "endLine" : 60,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 205,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 33,
      "endLine" : 60,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/ffi.rs",
        "extension" : "rs",
        "linesOfCode" : 336,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 314,
      "endLine" : 334,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 53,
      "endLine" : 73,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 667,
      "endLine" : 683,
      "cleanedStartLine" : 504,
      "cleanedEndLine" : 520
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 748,
      "endLine" : 764,
      "cleanedStartLine" : 568,
      "cleanedEndLine" : 584
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/view.rs",
        "extension" : "rs",
        "linesOfCode" : 566,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 506,
      "startLine" : 189,
      "endLine" : 205,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/window.rs",
        "extension" : "rs",
        "linesOfCode" : 535,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 425,
      "startLine" : 421,
      "endLine" : 437,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1539,
      "endLine" : 1552,
      "cleanedStartLine" : 1176,
      "cleanedEndLine" : 1189
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1574,
      "endLine" : 1587,
      "cleanedStartLine" : 1205,
      "cleanedEndLine" : 1218
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 304,
      "endLine" : 319,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 285
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 325,
      "endLine" : 341,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 300
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/dnd.rs",
        "extension" : "rs",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 123,
      "endLine" : 135,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/dnd.rs",
        "extension" : "rs",
        "linesOfCode" : 193,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 144,
      "endLine" : 156,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/pointer/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 69,
      "endLine" : 81,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/pointer/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 125,
      "endLine" : 137,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window_delegate.rs",
        "extension" : "rs",
        "linesOfCode" : 450,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 358,
      "endLine" : 372,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window_delegate.rs",
        "extension" : "rs",
        "linesOfCode" : 450,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 393,
      "endLine" : 407,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/util/randr.rs",
        "extension" : "rs",
        "linesOfCode" : 190,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 164,
      "endLine" : 176,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/util/randr.rs",
        "extension" : "rs",
        "linesOfCode" : 190,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 201,
      "endLine" : 213,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 912,
      "endLine" : 925,
      "cleanedStartLine" : 691,
      "cleanedEndLine" : 701
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 199,
      "endLine" : 212,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 695,
      "endLine" : 707,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 540
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 766,
      "endLine" : 777,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 595
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 941,
      "endLine" : 950,
      "cleanedStartLine" : 709,
      "cleanedEndLine" : 718
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 229,
      "endLine" : 238,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 85,
      "endLine" : 100,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 205,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 64,
      "endLine" : 79,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/window.rs",
        "extension" : "rs",
        "linesOfCode" : 552,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 444,
      "endLine" : 454,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 350
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/window.rs",
        "extension" : "rs",
        "linesOfCode" : 552,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 462,
      "endLine" : 472,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 366
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 253,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 215,
      "endLine" : 227,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/util/randr.rs",
        "extension" : "rs",
        "linesOfCode" : 190,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 201,
      "endLine" : 211,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 253,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 215,
      "endLine" : 227,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/util/randr.rs",
        "extension" : "rs",
        "linesOfCode" : 190,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 164,
      "endLine" : 174,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 138,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 91,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 205,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 477,
      "endLine" : 486,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 507,
      "endLine" : 516,
      "cleanedStartLine" : 401,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/keyboard/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 123,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 69,
      "endLine" : 79,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/keyboard/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 123,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1072,
      "endLine" : 1083,
      "cleanedStartLine" : 809,
      "cleanedEndLine" : 817
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1094,
      "endLine" : 1105,
      "cleanedStartLine" : 825,
      "cleanedEndLine" : 833
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/event_processor.rs",
        "extension" : "rs",
        "linesOfCode" : 1012,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 880,
      "startLine" : 734,
      "endLine" : 742,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 511
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/event_processor.rs",
        "extension" : "rs",
        "linesOfCode" : 1012,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 880,
      "startLine" : 854,
      "endLine" : 862,
      "cleanedStartLine" : 585,
      "cleanedEndLine" : 593
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 138,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 91,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 86,
      "endLine" : 100,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 148,
      "endLine" : 156,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1237,
      "endLine" : 1247,
      "cleanedStartLine" : 937,
      "cleanedEndLine" : 944
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1279,
      "endLine" : 1289,
      "cleanedStartLine" : 969,
      "cleanedEndLine" : 976
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/keyboard/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 123,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 81,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/keyboard/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 123,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 32,
      "endLine" : 42,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/event.rs",
        "extension" : "rs",
        "linesOfCode" : 243,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 15,
      "endLine" : 25,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1120,
      "endLine" : 1128,
      "cleanedStartLine" : 845,
      "cleanedEndLine" : 852
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1152,
      "endLine" : 1160,
      "cleanedStartLine" : 871,
      "cleanedEndLine" : 878
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/ime/callbacks.rs",
        "extension" : "rs",
        "linesOfCode" : 139,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/ime/callbacks.rs",
        "extension" : "rs",
        "linesOfCode" : 139,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 78,
      "endLine" : 86,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 96,
      "endLine" : 104,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 358,
      "endLine" : 367,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 408,
      "endLine" : 417,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1195,
      "endLine" : 1205,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 912
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1279,
      "endLine" : 1289,
      "cleanedStartLine" : 969,
      "cleanedEndLine" : 976
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1195,
      "endLine" : 1205,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 912
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1237,
      "endLine" : 1247,
      "cleanedStartLine" : 937,
      "cleanedEndLine" : 944
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1216,
      "endLine" : 1226,
      "cleanedStartLine" : 921,
      "cleanedEndLine" : 928
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1258,
      "endLine" : 1268,
      "cleanedStartLine" : 953,
      "cleanedEndLine" : 960
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 57,
      "endLine" : 65,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1176,
      "endLine" : 1184,
      "cleanedStartLine" : 890,
      "cleanedEndLine" : 896
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1303,
      "endLine" : 1311,
      "cleanedStartLine" : 987,
      "cleanedEndLine" : 993
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 146,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 1000,
      "endLine" : 1008,
      "cleanedStartLine" : 690,
      "cleanedEndLine" : 696
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1153,
      "endLine" : 1160,
      "cleanedStartLine" : 872,
      "cleanedEndLine" : 878
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1537,
      "endLine" : 1544,
      "cleanedStartLine" : 1175,
      "cleanedEndLine" : 1181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 733,
      "endLine" : 740,
      "cleanedStartLine" : 578,
      "cleanedEndLine" : 584
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 852,
      "endLine" : 859,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1281,
      "endLine" : 1289,
      "cleanedStartLine" : 970,
      "cleanedEndLine" : 976
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1325,
      "endLine" : 1333,
      "cleanedStartLine" : 1004,
      "cleanedEndLine" : 1010
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 125,
      "endLine" : 131,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 139,
      "endLine" : 145,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 250,
      "endLine" : 256,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/unix.rs",
        "extension" : "rs",
        "linesOfCode" : 380,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 319,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 520,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 436,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 857,
      "endLine" : 863,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 876,
      "endLine" : 882,
      "cleanedStartLine" : 609,
      "cleanedEndLine" : 615
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 857,
      "endLine" : 863,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 598
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 866,
      "endLine" : 872,
      "cleanedStartLine" : 600,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 70,
      "endLine" : 76,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 88,
      "endLine" : 94,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 823,
      "endLine" : 829,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 630
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1960,
      "endLine" : 1966,
      "cleanedStartLine" : 1483,
      "cleanedEndLine" : 1489
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/keyboard/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 123,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 57,
      "endLine" : 63,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/keyboard/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 123,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 866,
      "endLine" : 872,
      "cleanedStartLine" : 600,
      "cleanedEndLine" : 606
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window.rs",
        "extension" : "rs",
        "linesOfCode" : 973,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 824,
      "startLine" : 876,
      "endLine" : 882,
      "cleanedStartLine" : 609,
      "cleanedEndLine" : 615
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 250,
      "endLine" : 256,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 687,
      "endLine" : 693,
      "cleanedStartLine" : 543,
      "cleanedEndLine" : 549
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 732,
      "endLine" : 738,
      "cleanedStartLine" : 577,
      "cleanedEndLine" : 583
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 569,
      "cleanedEndLine" : 575
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 842,
      "endLine" : 849,
      "cleanedStartLine" : 654,
      "cleanedEndLine" : 660
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 297,
      "endLine" : 303,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1121,
      "endLine" : 1128,
      "cleanedStartLine" : 846,
      "cleanedEndLine" : 852
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1537,
      "endLine" : 1544,
      "cleanedStartLine" : 1175,
      "cleanedEndLine" : 1181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/unix.rs",
        "extension" : "rs",
        "linesOfCode" : 380,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 319,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 34,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 427
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 205,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 64,
      "endLine" : 74,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 230,
      "endLine" : 239,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 242,
      "endLine" : 251,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1130,
      "endLine" : 1136,
      "cleanedStartLine" : 854,
      "cleanedEndLine" : 860
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1162,
      "endLine" : 1168,
      "cleanedStartLine" : 880,
      "cleanedEndLine" : 886
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/window/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 509,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/window/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 509,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 398,
      "endLine" : 404,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 260
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 205,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 22,
      "endLine" : 29,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 427
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 85,
      "endLine" : 95,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 749,
      "endLine" : 755,
      "cleanedStartLine" : 565,
      "cleanedEndLine" : 571
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1921,
      "endLine" : 1927,
      "cleanedStartLine" : 1456,
      "cleanedEndLine" : 1462
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/window.rs",
        "extension" : "rs",
        "linesOfCode" : 552,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 301,
      "endLine" : 308,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/window.rs",
        "extension" : "rs",
        "linesOfCode" : 552,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 318,
      "endLine" : 325,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1239,
      "endLine" : 1247,
      "cleanedStartLine" : 938,
      "cleanedEndLine" : 944
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1325,
      "endLine" : 1333,
      "cleanedStartLine" : 1004,
      "cleanedEndLine" : 1010
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 616,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 505,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 520,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 436,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/window.rs",
        "extension" : "rs",
        "linesOfCode" : 552,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/window.rs",
        "extension" : "rs",
        "linesOfCode" : 552,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1260,
      "endLine" : 1268,
      "cleanedStartLine" : 954,
      "cleanedEndLine" : 960
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1303,
      "endLine" : 1311,
      "cleanedStartLine" : 987,
      "cleanedEndLine" : 993
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 177,
      "endLine" : 184,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 146,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 616,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 505,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 34,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 34,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 520,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 436,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 209,
      "endLine" : 215,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1218,
      "endLine" : 1226,
      "cleanedStartLine" : 922,
      "cleanedEndLine" : 928
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1303,
      "endLine" : 1311,
      "cleanedStartLine" : 987,
      "cleanedEndLine" : 993
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/ffi.rs",
        "extension" : "rs",
        "linesOfCode" : 336,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 348,
      "endLine" : 354,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1176,
      "endLine" : 1184,
      "cleanedStartLine" : 890,
      "cleanedEndLine" : 896
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1218,
      "endLine" : 1226,
      "cleanedStartLine" : 922,
      "cleanedEndLine" : 928
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/unix.rs",
        "extension" : "rs",
        "linesOfCode" : 380,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 319,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 616,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 505,
      "startLine" : 1,
      "endLine" : 7,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1176,
      "endLine" : 1184,
      "cleanedStartLine" : 890,
      "cleanedEndLine" : 896
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1260,
      "endLine" : 1268,
      "cleanedStartLine" : 954,
      "cleanedEndLine" : 960
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1197,
      "endLine" : 1205,
      "cleanedStartLine" : 906,
      "cleanedEndLine" : 912
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1325,
      "endLine" : 1333,
      "cleanedStartLine" : 1004,
      "cleanedEndLine" : 1010
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/event.rs",
        "extension" : "rs",
        "linesOfCode" : 721,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 433,
      "endLine" : 438,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "src/event.rs",
        "extension" : "rs",
        "linesOfCode" : 721,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 523,
      "endLine" : 528,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 688,
      "endLine" : 693,
      "cleanedStartLine" : 544,
      "cleanedEndLine" : 549
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 852,
      "endLine" : 857,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 668
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 639,
      "endLine" : 644,
      "cleanedStartLine" : 483,
      "cleanedEndLine" : 488
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 735,
      "endLine" : 740,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 563
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 253,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 89,
      "endLine" : 98,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 120,
      "endLine" : 129,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/pointer/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 52,
      "endLine" : 57,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/pointer/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 95,
      "endLine" : 100,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 139,
      "endLine" : 144,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 336,
      "endLine" : 342,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 364,
      "endLine" : 370,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/touch/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 105,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 92,
      "endLine" : 97,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/output.rs",
        "extension" : "rs",
        "linesOfCode" : 189,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 111,
      "endLine" : 120,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 276,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 225,
      "startLine" : 120,
      "endLine" : 129,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 25,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 5,
      "endLine" : 12,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 26,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 5,
      "endLine" : 12,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/view.rs",
        "extension" : "rs",
        "linesOfCode" : 941,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 830,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/window_delegate.rs",
        "extension" : "rs",
        "linesOfCode" : 450,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 202,
      "endLine" : 207,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 157
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas/pointer_handler.rs",
        "extension" : "rs",
        "linesOfCode" : 82,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 898,
      "endLine" : 905,
      "cleanedStartLine" : 683,
      "cleanedEndLine" : 688
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 5,
      "endLine" : 10,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 616,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 505,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 823,
      "endLine" : 828,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 629
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1932,
      "endLine" : 1937,
      "cleanedStartLine" : 1466,
      "cleanedEndLine" : 1471
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/unix.rs",
        "extension" : "rs",
        "linesOfCode" : 380,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 319,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 284,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 243,
      "endLine" : 253,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 120,
      "endLine" : 130,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/event_processor.rs",
        "extension" : "rs",
        "linesOfCode" : 1012,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 880,
      "startLine" : 590,
      "endLine" : 595,
      "cleanedStartLine" : 385,
      "cleanedEndLine" : 390
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/ffi.rs",
        "extension" : "rs",
        "linesOfCode" : 336,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 282,
      "startLine" : 339,
      "endLine" : 346,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/pointer/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/seat/pointer/handlers.rs",
        "extension" : "rs",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 105,
      "endLine" : 110,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 649,
      "endLine" : 654,
      "cleanedStartLine" : 492,
      "cleanedEndLine" : 497
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/app_state.rs",
        "extension" : "rs",
        "linesOfCode" : 914,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 781,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 544
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 18,
      "endLine" : 23,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/output.rs",
        "extension" : "rs",
        "linesOfCode" : 189,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 207,
      "endLine" : 214,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 253,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 45,
      "endLine" : 52,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1932,
      "endLine" : 1937,
      "cleanedStartLine" : 1466,
      "cleanedEndLine" : 1471
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1960,
      "endLine" : 1965,
      "cleanedStartLine" : 1483,
      "cleanedEndLine" : 1488
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/event_processor.rs",
        "extension" : "rs",
        "linesOfCode" : 1012,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 880,
      "startLine" : 590,
      "endLine" : 595,
      "cleanedStartLine" : 385,
      "cleanedEndLine" : 390
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/event_loop/window_target.rs",
        "extension" : "rs",
        "linesOfCode" : 220,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 207,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 219,
      "endLine" : 224,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 139,
      "endLine" : 144,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/event.rs",
        "extension" : "rs",
        "linesOfCode" : 721,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 403,
      "endLine" : 408,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "src/event.rs",
        "extension" : "rs",
        "linesOfCode" : 721,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 497,
      "endLine" : 502,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 592,
      "endLine" : 601,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 427
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/ios/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 138,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 104,
      "startLine" : 91,
      "endLine" : 100,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 5,
      "endLine" : 10,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 520,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 436,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 108,
      "endLine" : 113,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/observer.rs",
        "extension" : "rs",
        "linesOfCode" : 206,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 228,
      "endLine" : 233,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 616,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 505,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/output.rs",
        "extension" : "rs",
        "linesOfCode" : 189,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 111,
      "endLine" : 120,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/monitor.rs",
        "extension" : "rs",
        "linesOfCode" : 253,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 89,
      "endLine" : 98,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 5,
      "endLine" : 10,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 152,
      "endLine" : 157,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/android/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 528,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 430,
      "startLine" : 163,
      "endLine" : 168,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 18,
      "endLine" : 23,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 228,
      "endLine" : 233,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/icon.rs",
        "extension" : "rs",
        "linesOfCode" : 140,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/icon.rs",
        "extension" : "rs",
        "linesOfCode" : 140,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 760,
      "endLine" : 766,
      "cleanedStartLine" : 575,
      "cleanedEndLine" : 580
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1934,
      "endLine" : 1941,
      "cleanedStartLine" : 1468,
      "cleanedEndLine" : 1473
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/ime/context.rs",
        "extension" : "rs",
        "linesOfCode" : 122,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/ime/context.rs",
        "extension" : "rs",
        "linesOfCode" : 122,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 92,
      "endLine" : 97,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 5,
      "endLine" : 10,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "src/platform/unix.rs",
        "extension" : "rs",
        "linesOfCode" : 380,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 319,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 36,
      "endLine" : 41,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 219,
      "endLine" : 224,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/event.rs",
        "extension" : "rs",
        "linesOfCode" : 227,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 228,
      "endLine" : 233,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 34,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform/desktop.rs",
        "extension" : "rs",
        "linesOfCode" : 37,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 5,
      "endLine" : 10,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/wayland/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 34,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/icon.rs",
        "extension" : "rs",
        "linesOfCode" : 140,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/icon.rs",
        "extension" : "rs",
        "linesOfCode" : 140,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 520,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 436,
      "startLine" : 2,
      "endLine" : 7,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/mod.rs",
        "extension" : "rs",
        "linesOfCode" : 38,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/event.rs",
        "extension" : "rs",
        "linesOfCode" : 721,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 421,
      "endLine" : 426,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "src/event.rs",
        "extension" : "rs",
        "linesOfCode" : 721,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 679,
      "startLine" : 511,
      "endLine" : 516,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 307
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/ios/view.rs",
        "extension" : "rs",
        "linesOfCode" : 566,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 506,
      "startLine" : 598,
      "endLine" : 604,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/macos/app_delegate.rs",
        "extension" : "rs",
        "linesOfCode" : 133,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 27,
      "endLine" : 32,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 242,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 2,
      "endLine" : 8,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/web_sys/canvas.rs",
        "extension" : "rs",
        "linesOfCode" : 351,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 4,
      "endLine" : 10,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/util/wm.rs",
        "extension" : "rs",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/util/wm.rs",
        "extension" : "rs",
        "linesOfCode" : 74,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/icon.rs",
        "extension" : "rs",
        "linesOfCode" : 140,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/icon.rs",
        "extension" : "rs",
        "linesOfCode" : 140,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1155,
      "endLine" : 1160,
      "cleanedStartLine" : 873,
      "cleanedEndLine" : 878
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1574,
      "endLine" : 1579,
      "cleanedStartLine" : 1205,
      "cleanedEndLine" : 1210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1123,
      "endLine" : 1128,
      "cleanedStartLine" : 847,
      "cleanedEndLine" : 852
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/windows/event_loop.rs",
        "extension" : "rs",
        "linesOfCode" : 1852,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1611,
      "startLine" : 1574,
      "endLine" : 1579,
      "cleanedStartLine" : 1205,
      "cleanedEndLine" : 1210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/ime/context.rs",
        "extension" : "rs",
        "linesOfCode" : 122,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/ime/context.rs",
        "extension" : "rs",
        "linesOfCode" : 122,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 100,
      "endLine" : 105,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 18,
      "endLine" : 23,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/web/stdweb/event.rs",
        "extension" : "rs",
        "linesOfCode" : 218,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 219,
      "endLine" : 224,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/event_processor.rs",
        "extension" : "rs",
        "linesOfCode" : 1012,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 880,
      "startLine" : 750,
      "endLine" : 755,
      "cleanedStartLine" : 515,
      "cleanedEndLine" : 520
    }, {
      "file" : {
        "relativePath" : "src/platform_impl/linux/x11/event_processor.rs",
        "extension" : "rs",
        "linesOfCode" : 1012,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 880,
      "startLine" : 1039,
      "endLine" : 1044,
      "cleanedStartLine" : 725,
      "cleanedEndLine" : 730
    } ]
  } ],
  "overallDuplication" : null
}