static PARSE(mapBuf){
        if (mapBuf.length < 4) {
            return null;
        }
        const flagData = ThreeIRobotixMapParser.PARSE_FLAGS(mapBuf);
        const uniqueMapIdBytes = mapBuf.subarray(4,8);
        const uniqueMapId = uniqueMapIdBytes.readUInt32LE();

        if (flagData[TYPE_FLAGS.MAP_IMAGE] !== true || flagData[TYPE_FLAGS.ROBOT_STATUS] !== true) {
            return null;
        }

        let blocks;

        if (uniqueMapId > 0) {
            blocks = ThreeIRobotixMapParser.BUILD_BLOCK_INDEX(mapBuf, uniqueMapIdBytes, flagData);
        } else {
            blocks = ThreeIRobotixMapParser.BUILD_FALLBACK_INDEX(mapBuf, flagData);
        }

        const processedBlocks = ThreeIRobotixMapParser.PROCESS_BLOCKS(blocks, uniqueMapId === 0);


        return ThreeIRobotixMapParser.POST_PROCESS_BLOCKS(processedBlocks, uniqueMapId);
    }
@param {Buffer} mapBuf Should contain map data
@returns {null|import("../../entities/map/ValetudoMap")}