{
    "developer": "TTQG Đặng Phan Quốc - 0913.422.525",
    "tournament_code": 10002,
    "tournament": {
        "id": "2",
        "user_id": "1",
        "name": "GIẢI CỜ TƯỚNG HUYỆN THĂNG BÌNH MỞ RỘNG NĂM 2026",
        "event_datetime": "7h30 Ngày 25\/10\/2026",
        "location": "CLB Cờ tướng KỲ ĐẠO QUÁN",
        "organizer_info": "",
        "extra_info": "Thời gian suy nghĩ, Giải thưởng, Ghi chú điều lệ.....",
        "total_rounds": "9",
        "current_round": "9",
        "pts_win": "1.0",
        "pts_draw": "0.5",
        "pts_loss": "0.0",
        "avoid_same_club": "1",
        "team_top_n": "2",
        "team_tie_order": "full_team,total_pts,total_rank,total_bh_c1,best_individual_rank",
        "created_at": "2026-10-19 19:04:32",
        "tie_order": "de,bh_c1,wins,black"
    },
    "standings": [
        {
            "info": {
                "id": "36",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Trần Thanh Nam",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 14,
            "pts": 6.5,
            "wins": 6,
            "wins_black": 1,
            "draws": 1,
            "losses": 2,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                41,
                42,
                37,
                40,
                29,
                28,
                23,
                25,
                35
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 5.5,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 5.5,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 6.5,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 41,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "41": 0.5,
                "42": 1,
                "37": 1,
                "40": 1,
                "29": 1,
                "28": 1,
                "23": 0,
                "25": 1,
                "35": 0
            },
            "round_pts": {
                "1": 0.5,
                "2": 1,
                "3": 1,
                "4": 1,
                "5": 1,
                "6": 1,
                "7": 0,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "4": true,
                "6": true,
                "7": true,
                "8": true,
                "9": true
            },
            "upfloat_hist": [],
            "history": [
                {
                    "round": 1,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "11",
                    "color": "ĐEN",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 43.5,
            "bh_c1": 40.5,
            "sb": 31,
            "ps": 36.5,
            "de_score": 1,
            "de_games": 1,
            "rank": 1
        },
        {
            "info": {
                "id": "29",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Tống Thanh Thư",
                "birth_year": "1990",
                "club": "Kỳ Đạo Quán",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 7,
            "pts": 6.5,
            "wins": 6,
            "wins_black": 1,
            "draws": 1,
            "losses": 2,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ"
            ],
            "opponents": [
                24,
                26,
                32,
                28,
                36,
                23,
                35,
                37,
                38
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 2,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0.5
                },
                {
                    "round": 4,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 5.5,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 5.5,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 24,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "24": 1,
                "26": 1,
                "32": 0.5,
                "28": 1,
                "36": 0,
                "23": 1,
                "35": 1,
                "37": 0,
                "38": 1
            },
            "round_pts": {
                "1": 1,
                "2": 1,
                "3": 0.5,
                "4": 1,
                "5": 0,
                "6": 1,
                "7": 1,
                "8": 0,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "7": true,
                "8": true,
                "9": true
            },
            "upfloat_hist": [],
            "history": [
                {
                    "round": 1,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 1
                },
                {
                    "round": 2,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 4,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 43.5,
            "bh_c1": 40.5,
            "sb": 29.75,
            "ps": 34.5,
            "de_score": 0,
            "de_games": 1,
            "rank": 2
        },
        {
            "info": {
                "id": "35",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Lê Huy Tư",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 13,
            "pts": 6,
            "wins": 6,
            "wins_black": 1,
            "draws": 0,
            "losses": 3,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ"
            ],
            "opponents": [
                40,
                30,
                24,
                23,
                38,
                25,
                29,
                28,
                36
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 2,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 4,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 4,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 5,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 40,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "40": 0,
                "30": 1,
                "24": 1,
                "23": 0,
                "38": 1,
                "25": 1,
                "29": 0,
                "28": 1,
                "36": 1
            },
            "round_pts": {
                "1": 0,
                "2": 1,
                "3": 1,
                "4": 0,
                "5": 1,
                "6": 1,
                "7": 0,
                "8": 1,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "3": true
            },
            "upfloat_hist": {
                "6": true,
                "7": true,
                "8": true,
                "9": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 2,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 43.5,
            "bh_c1": 40.5,
            "sb": 28.5,
            "ps": 27,
            "de_score": 0,
            "de_games": 0,
            "rank": 3
        },
        {
            "info": {
                "id": "28",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Lại Anh Dũng",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 6,
            "pts": 5.5,
            "wins": 5,
            "wins_black": 0,
            "draws": 1,
            "losses": 3,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ"
            ],
            "opponents": [
                23,
                39,
                25,
                29,
                27,
                36,
                32,
                35,
                37
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 23,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "23": 0.5,
                "39": 1,
                "25": 1,
                "29": 0,
                "27": 1,
                "36": 0,
                "32": 1,
                "35": 0,
                "37": 1
            },
            "round_pts": {
                "1": 0.5,
                "2": 1,
                "3": 1,
                "4": 0,
                "5": 1,
                "6": 0,
                "7": 1,
                "8": 0,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "8": true
            },
            "upfloat_hist": {
                "3": true,
                "6": true,
                "7": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 47.5,
            "bh_c1": 44,
            "sb": 26,
            "ps": 28.5,
            "de_score": 2,
            "de_games": 2,
            "rank": 4
        },
        {
            "info": {
                "id": "25",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Đặng Mạnh Hùng",
                "birth_year": "1990",
                "club": "Kỳ Đạo Quán",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 3,
            "pts": 5.5,
            "wins": 5,
            "wins_black": 0,
            "draws": 1,
            "losses": 3,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ"
            ],
            "opponents": [
                30,
                40,
                28,
                32,
                23,
                35,
                37,
                36,
                26
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 2,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0.5
                },
                {
                    "round": 6,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 30,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "30": 1,
                "40": 1,
                "28": 0,
                "32": 1,
                "23": 0.5,
                "35": 0,
                "37": 1,
                "36": 0,
                "26": 1
            },
            "round_pts": {
                "1": 1,
                "2": 1,
                "3": 0,
                "4": 1,
                "5": 0.5,
                "6": 0,
                "7": 1,
                "8": 0,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "3": true,
                "6": true,
                "9": true
            },
            "upfloat_hist": {
                "4": true,
                "8": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 2,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 6,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 44,
            "bh_c1": 40.5,
            "sb": 23.5,
            "ps": 29.5,
            "de_score": 1,
            "de_games": 2,
            "rank": 5
        },
        {
            "info": {
                "id": "32",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Trương Ngọc Nhân",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 10,
            "pts": 5.5,
            "wins": 5,
            "wins_black": 1,
            "draws": 1,
            "losses": 3,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                27,
                38,
                29,
                25,
                37,
                42,
                28,
                23,
                31
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 2,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0.5
                },
                {
                    "round": 4,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 5.5,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 27,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "27": 1,
                "38": 1,
                "29": 0.5,
                "25": 0,
                "37": 1,
                "42": 1,
                "28": 0,
                "23": 1,
                "31": 0
            },
            "round_pts": {
                "1": 1,
                "2": 1,
                "3": 0.5,
                "4": 0,
                "5": 1,
                "6": 1,
                "7": 0,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "4": true,
                "6": true,
                "7": true,
                "9": true
            },
            "upfloat_hist": [],
            "history": [
                {
                    "round": 1,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "0 - 1",
                    "pts_gained": 1
                },
                {
                    "round": 2,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 4,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 44.5,
            "bh_c1": 40.5,
            "sb": 25.25,
            "ps": 31.5,
            "de_score": 0,
            "de_games": 2,
            "rank": 6
        },
        {
            "info": {
                "id": "23",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Nguyễn Thúc Nhựt",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 1,
            "pts": 5,
            "wins": 3,
            "wins_black": 1,
            "draws": 4,
            "losses": 2,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen"
            ],
            "opponents": [
                28,
                34,
                26,
                35,
                25,
                29,
                36,
                32,
                33
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0.5
                },
                {
                    "round": 3,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0.5
                },
                {
                    "round": 6,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0.5
                }
            ],
            "opp_results": [
                {
                    "opp": 28,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 0.5,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "28": 0.5,
                "34": 0.5,
                "26": 1,
                "35": 1,
                "25": 0.5,
                "29": 0,
                "36": 1,
                "32": 0,
                "33": 0.5
            },
            "round_pts": {
                "1": 0.5,
                "2": 0.5,
                "3": 1,
                "4": 1,
                "5": 0.5,
                "6": 0,
                "7": 1,
                "8": 0,
                "9": 0.5
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "9": true
            },
            "upfloat_hist": {
                "7": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "1",
                    "color": "TRẮNG",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 3,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 6,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "11",
                    "color": "TRẮNG",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                }
            ],
            "had_bye": false,
            "bh": 46.5,
            "bh_c1": 43,
            "sb": 25.25,
            "ps": 27.5,
            "de_score": 0,
            "de_games": 0,
            "rank": 7
        },
        {
            "info": {
                "id": "31",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Trần Xuân An",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 9,
            "pts": 5,
            "wins": 4,
            "wins_black": 0,
            "draws": 2,
            "losses": 3,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ"
            ],
            "opponents": [
                26,
                24,
                42,
                33,
                34,
                30,
                40,
                27,
                32
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 2,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 3,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0.5
                },
                {
                    "round": 6,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 4,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 4,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 26,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "26": 0,
                "24": 0.5,
                "42": 0,
                "33": 1,
                "34": 0.5,
                "30": 1,
                "40": 1,
                "27": 0,
                "32": 1
            },
            "round_pts": {
                "1": 0,
                "2": 0.5,
                "3": 0,
                "4": 1,
                "5": 0.5,
                "6": 1,
                "7": 1,
                "8": 0,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "8": true
            },
            "upfloat_hist": {
                "9": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 2,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 3,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 6,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 35.5,
            "bh_c1": 32.5,
            "sb": 20,
            "ps": 20.5,
            "de_score": 0,
            "de_games": 0,
            "rank": 8
        },
        {
            "info": {
                "id": "37",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Đặng Túy",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 15,
            "pts": 4.5,
            "wins": 4,
            "wins_black": 0,
            "draws": 1,
            "losses": 4,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                42,
                41,
                36,
                34,
                32,
                27,
                25,
                29,
                28
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 42,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "42": 0.5,
                "41": 1,
                "36": 0,
                "34": 1,
                "32": 0,
                "27": 1,
                "25": 0,
                "29": 1,
                "28": 0
            },
            "round_pts": {
                "1": 0.5,
                "2": 1,
                "3": 0,
                "4": 1,
                "5": 0,
                "6": 1,
                "7": 0,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": [],
            "upfloat_hist": {
                "8": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 45,
            "bh_c1": 42,
            "sb": 20,
            "ps": 24.5,
            "de_score": 1,
            "de_games": 1,
            "rank": 9
        },
        {
            "info": {
                "id": "27",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Đặng Phúc Khang",
                "birth_year": "1990",
                "club": "Kỳ Đạo Quán",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 5,
            "pts": 4.5,
            "wins": 4,
            "wins_black": 1,
            "draws": 1,
            "losses": 4,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                32,
                33,
                34,
                42,
                28,
                37,
                38,
                31,
                30
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 2,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 3,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0.5
                },
                {
                    "round": 4,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 4.5,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 32,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "32": 0,
                "33": 1,
                "34": 0.5,
                "42": 1,
                "28": 0,
                "37": 0,
                "38": 1,
                "31": 1,
                "30": 0
            },
            "round_pts": {
                "1": 0,
                "2": 1,
                "3": 0.5,
                "4": 1,
                "5": 0,
                "6": 0,
                "7": 1,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "9": true
            },
            "upfloat_hist": {
                "7": true,
                "8": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 0
                },
                {
                    "round": 2,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 1
                },
                {
                    "round": 3,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 4,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 40,
            "bh_c1": 36.5,
            "sb": 18.5,
            "ps": 22.5,
            "de_score": 0,
            "de_games": 1,
            "rank": 10
        },
        {
            "info": {
                "id": "38",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Nguyễn Anh Hào",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 16,
            "pts": 4,
            "wins": 4,
            "wins_black": 0,
            "draws": 0,
            "losses": 5,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                33,
                32,
                40,
                41,
                35,
                34,
                27,
                42,
                29
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 2,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 5,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 4,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 33,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "33": 1,
                "32": 0,
                "40": 0,
                "41": 1,
                "35": 0,
                "34": 1,
                "27": 0,
                "42": 1,
                "29": 0
            },
            "round_pts": {
                "1": 1,
                "2": 0,
                "3": 0,
                "4": 1,
                "5": 0,
                "6": 1,
                "7": 0,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "7": true
            },
            "upfloat_hist": {
                "4": true,
                "8": true,
                "9": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "2",
                    "color": "TRẮNG",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 2,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 5,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 40.5,
            "bh_c1": 37.5,
            "sb": 14.5,
            "ps": 21,
            "de_score": 1,
            "de_games": 1,
            "rank": 11
        },
        {
            "info": {
                "id": "30",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Lê Công Tú",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 8,
            "pts": 4,
            "wins": 3,
            "wins_black": 0,
            "draws": 2,
            "losses": 4,
            "red_count": 5,
            "black_count": 4,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đỏ"
            ],
            "opponents": [
                25,
                35,
                33,
                39,
                24,
                31,
                42,
                34,
                27
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 2,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 4,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0.5
                },
                {
                    "round": 5,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 25,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "25": 0,
                "35": 0,
                "33": 0.5,
                "39": 0.5,
                "24": 1,
                "31": 0,
                "42": 0,
                "34": 1,
                "27": 1
            },
            "round_pts": {
                "1": 0,
                "2": 0,
                "3": 0.5,
                "4": 0.5,
                "5": 1,
                "6": 0,
                "7": 0,
                "8": 1,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": [],
            "upfloat_hist": {
                "7": true,
                "8": true,
                "9": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 2,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 4,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 5,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 39,
            "bh_c1": 36,
            "sb": 15,
            "ps": 14.5,
            "de_score": 1,
            "de_games": 1,
            "rank": 12
        },
        {
            "info": {
                "id": "34",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Nguyễn Văn Hiếu",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 12,
            "pts": 4,
            "wins": 2,
            "wins_black": 0,
            "draws": 4,
            "losses": 3,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ"
            ],
            "opponents": [
                39,
                23,
                27,
                37,
                31,
                38,
                41,
                30,
                24
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0.5
                },
                {
                    "round": 3,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0.5
                },
                {
                    "round": 4,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0.5
                },
                {
                    "round": 6,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 39,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "39": 0.5,
                "23": 0.5,
                "27": 0.5,
                "37": 0,
                "31": 0.5,
                "38": 0,
                "41": 1,
                "30": 0,
                "24": 1
            },
            "round_pts": {
                "1": 0.5,
                "2": 0.5,
                "3": 0.5,
                "4": 0,
                "5": 0.5,
                "6": 0,
                "7": 1,
                "8": 0,
                "9": 1
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "8": true
            },
            "upfloat_hist": [],
            "history": [
                {
                    "round": 1,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 3,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 4,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 6,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 36.5,
            "bh_c1": 33.5,
            "sb": 15,
            "ps": 18.5,
            "de_score": 0,
            "de_games": 2,
            "rank": 13
        },
        {
            "info": {
                "id": "26",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Ca Thanh Bình",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "1",
                "rating": "1500",
                "status": "active"
            },
            "seed": 4,
            "pts": 3.5,
            "wins": 3,
            "wins_black": 0,
            "draws": 1,
            "losses": 5,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                31,
                29,
                23,
                24,
                41,
                40,
                39,
                33,
                25
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 2,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0.5
                },
                {
                    "round": 5,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 31,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 29,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "31": 1,
                "29": 0,
                "23": 0,
                "24": 0.5,
                "41": 1,
                "40": 0,
                "39": 0,
                "33": 1,
                "25": 0
            },
            "round_pts": {
                "1": 1,
                "2": 0,
                "3": 0,
                "4": 0.5,
                "5": 1,
                "6": 0,
                "7": 0,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "4": true,
                "6": true,
                "7": true
            },
            "upfloat_hist": {
                "8": true,
                "9": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 2,
                    "table": "1",
                    "color": "ĐEN",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 5,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 38.5,
            "bh_c1": 35.5,
            "sb": 13,
            "ps": 19,
            "de_score": 1,
            "de_games": 1,
            "rank": 14
        },
        {
            "info": {
                "id": "42",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Nguyễn Tấn Lịch",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "withdrawn"
            },
            "seed": 20,
            "pts": 3.5,
            "wins": 3,
            "wins_black": 0,
            "draws": 1,
            "losses": 4,
            "red_count": 4,
            "black_count": 4,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                37,
                36,
                31,
                27,
                40,
                32,
                30,
                38
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 32,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 2.5,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 3.5,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 37,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 32,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "37": 0.5,
                "36": 0,
                "31": 1,
                "27": 0,
                "40": 1,
                "32": 0,
                "30": 1,
                "38": 0
            },
            "round_pts": {
                "1": 0.5,
                "2": 0,
                "3": 1,
                "4": 0,
                "5": 1,
                "6": 0,
                "7": 1,
                "8": 0,
                "9": 0
            },
            "played_rounds": 8,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "7": true,
                "8": true
            },
            "upfloat_hist": {
                "5": true,
                "6": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "5",
                    "color": "TRẮNG",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 32,
                    "opp_name": "Trương Ngọc Nhân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "6",
                    "color": "ĐEN",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 37.5,
            "bh_c1": 34,
            "sb": 14.75,
            "ps": 19.5,
            "de_score": 0,
            "de_games": 0,
            "rank": 15
        },
        {
            "info": {
                "id": "33",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Nguyễn Văn Thành",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 11,
            "pts": 3.5,
            "wins": 2,
            "wins_black": 0,
            "draws": 3,
            "losses": 4,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ"
            ],
            "opponents": [
                38,
                27,
                30,
                31,
                39,
                41,
                24,
                26,
                23
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 2,
                    "opp_id": 27,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 4,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 6,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0.5
                },
                {
                    "round": 7,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 23,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0.5
                }
            ],
            "opp_results": [
                {
                    "opp": 38,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 27,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 23,
                    "factor": 0.5,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "38": 0,
                "27": 0,
                "30": 0.5,
                "31": 0,
                "39": 1,
                "41": 0.5,
                "24": 1,
                "26": 0,
                "23": 0.5
            },
            "round_pts": {
                "1": 0,
                "2": 0,
                "3": 0.5,
                "4": 0,
                "5": 1,
                "6": 0.5,
                "7": 1,
                "8": 0,
                "9": 0.5
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "8": true
            },
            "upfloat_hist": {
                "5": true,
                "9": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "2",
                    "color": "ĐEN",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 2,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 27,
                    "opp_name": "Đặng Phúc Khang",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "0 - 1",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 4,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 6,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 7,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 23,
                    "opp_name": "Nguyễn Thúc Nhựt",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                }
            ],
            "had_bye": false,
            "bh": 35.5,
            "bh_c1": 32.5,
            "sb": 12.5,
            "ps": 14,
            "de_score": 0,
            "de_games": 1,
            "rank": 16
        },
        {
            "info": {
                "id": "24",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Bùi Tân Tân",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 2,
            "pts": 3,
            "wins": 2,
            "wins_black": 0,
            "draws": 2,
            "losses": 5,
            "red_count": 4,
            "black_count": 5,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen"
            ],
            "opponents": [
                29,
                31,
                35,
                26,
                30,
                39,
                33,
                41,
                34
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 29,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0
                },
                {
                    "round": 2,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 3,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0.5
                },
                {
                    "round": 5,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 9,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 29,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 35,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "29": 0,
                "31": 0.5,
                "35": 0,
                "26": 0.5,
                "30": 0,
                "39": 1,
                "33": 0,
                "41": 1,
                "34": 0
            },
            "round_pts": {
                "1": 0,
                "2": 0.5,
                "3": 0,
                "4": 0.5,
                "5": 0,
                "6": 1,
                "7": 0,
                "8": 1,
                "9": 0
            },
            "played_rounds": 9,
            "unplayed_rounds": 0,
            "downfloat_hist": [],
            "upfloat_hist": {
                "3": true,
                "4": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 29,
                    "opp_name": "Tống Thanh Thư",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "0 - 1",
                    "pts_gained": 0
                },
                {
                    "round": 2,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 3,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 5,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "9",
                    "color": "ĐEN",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "10",
                    "color": "TRẮNG",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 9,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 39,
            "bh_c1": 36,
            "sb": 10.75,
            "ps": 13,
            "de_score": 2,
            "de_games": 2,
            "rank": 17
        },
        {
            "info": {
                "id": "41",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Dương Phước Bình",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "active"
            },
            "seed": 19,
            "pts": 3,
            "wins": 2,
            "wins_black": 0,
            "draws": 2,
            "losses": 5,
            "red_count": 3,
            "black_count": 5,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen"
            ],
            "opponents": [
                36,
                37,
                39,
                38,
                26,
                33,
                34,
                24
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 37,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 1.5,
                    "factor": 0.5
                },
                {
                    "round": 7,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 9,
                    "opp_id": 0,
                    "is_virtual": true,
                    "pts_before": 2,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 36,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 37,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 34,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "36": 0.5,
                "37": 0,
                "39": 1,
                "38": 0,
                "26": 0,
                "33": 0.5,
                "34": 0,
                "24": 0
            },
            "round_pts": {
                "1": 0.5,
                "2": 0,
                "3": 1,
                "4": 0,
                "5": 0,
                "6": 0.5,
                "7": 0,
                "8": 0,
                "9": 1
            },
            "played_rounds": 8,
            "unplayed_rounds": 1,
            "downfloat_hist": {
                "4": true,
                "9": true
            },
            "upfloat_hist": [],
            "history": [
                {
                    "round": 1,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 37,
                    "opp_name": "Đặng Túy",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 7,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 9,
                    "table": "9",
                    "color": "BYE",
                    "opp_id": 0,
                    "opp_name": "Miễn đấu (Đối thủ ảo)",
                    "opp_club": "",
                    "result_label": "BYE",
                    "pts_gained": 1
                }
            ],
            "had_bye": true,
            "bh": 35.5,
            "bh_c1": 32.5,
            "sb": 11.5,
            "ps": 14.5,
            "de_score": 1,
            "de_games": 2,
            "rank": 18
        },
        {
            "info": {
                "id": "39",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Lê Trung Kiên",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "withdrawn"
            },
            "seed": 17,
            "pts": 3,
            "wins": 2,
            "wins_black": 0,
            "draws": 2,
            "losses": 4,
            "red_count": 4,
            "black_count": 4,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen",
                "Đỏ",
                "Đỏ"
            ],
            "opponents": [
                34,
                28,
                41,
                30,
                33,
                24,
                26,
                40
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 34,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 0.5
                },
                {
                    "round": 2,
                    "opp_id": 28,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 41,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0
                },
                {
                    "round": 4,
                    "opp_id": 30,
                    "is_virtual": false,
                    "pts_before": 0.5,
                    "factor": 0.5
                },
                {
                    "round": 5,
                    "opp_id": 33,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 24,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 7,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 8,
                    "opp_id": 40,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                }
            ],
            "opp_results": [
                {
                    "opp": 34,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 28,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 41,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 30,
                    "factor": 0.5,
                    "is_forfeit": false
                },
                {
                    "opp": 33,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 24,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 40,
                    "factor": 1,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "34": 0.5,
                "28": 0,
                "41": 0,
                "30": 0.5,
                "33": 0,
                "24": 0,
                "26": 1,
                "40": 1
            },
            "round_pts": {
                "1": 0.5,
                "2": 0,
                "3": 0,
                "4": 0.5,
                "5": 0,
                "6": 0,
                "7": 1,
                "8": 1,
                "9": 0
            },
            "played_rounds": 8,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "5": true
            },
            "upfloat_hist": {
                "7": true,
                "8": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 34,
                    "opp_name": "Nguyễn Văn Hiếu",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 2,
                    "table": "4",
                    "color": "ĐEN",
                    "opp_id": 28,
                    "opp_name": "Lại Anh Dũng",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "8",
                    "color": "ĐEN",
                    "opp_id": 41,
                    "opp_name": "Dương Phước Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 4,
                    "table": "9",
                    "color": "TRẮNG",
                    "opp_id": 30,
                    "opp_name": "Lê Công Tú",
                    "opp_club": "",
                    "result_label": "½ - ½",
                    "pts_gained": 0.5
                },
                {
                    "round": 5,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 33,
                    "opp_name": "Nguyễn Văn Thành",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "10",
                    "color": "ĐEN",
                    "opp_id": 24,
                    "opp_name": "Bùi Tân Tân",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 7,
                    "table": "8",
                    "color": "TRẮNG",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 8,
                    "table": "7",
                    "color": "TRẮNG",
                    "opp_id": 40,
                    "opp_name": "Nguyễn Thành Đức",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                }
            ],
            "had_bye": false,
            "bh": 30,
            "bh_c1": 27,
            "sb": 11,
            "ps": 12.5,
            "de_score": 1,
            "de_games": 3,
            "rank": 19
        },
        {
            "info": {
                "id": "40",
                "tournament_id": "2",
                "seed_no": "0",
                "name": "Nguyễn Thành Đức",
                "birth_year": "1990",
                "club": "",
                "rank_tier": "Đồng hạng",
                "base_group": "0",
                "rating": "1500",
                "status": "withdrawn"
            },
            "seed": 18,
            "pts": 3,
            "wins": 3,
            "wins_black": 0,
            "draws": 0,
            "losses": 5,
            "red_count": 4,
            "black_count": 4,
            "color_hist": [
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đỏ",
                "Đen",
                "Đỏ",
                "Đen",
                "Đen"
            ],
            "opponents": [
                35,
                25,
                38,
                36,
                42,
                26,
                31,
                39
            ],
            "match_records": [
                {
                    "round": 1,
                    "opp_id": 35,
                    "is_virtual": false,
                    "pts_before": 0,
                    "factor": 1
                },
                {
                    "round": 2,
                    "opp_id": 25,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 0
                },
                {
                    "round": 3,
                    "opp_id": 38,
                    "is_virtual": false,
                    "pts_before": 1,
                    "factor": 1
                },
                {
                    "round": 4,
                    "opp_id": 36,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 5,
                    "opp_id": 42,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 0
                },
                {
                    "round": 6,
                    "opp_id": 26,
                    "is_virtual": false,
                    "pts_before": 2,
                    "factor": 1
                },
                {
                    "round": 7,
                    "opp_id": 31,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0
                },
                {
                    "round": 8,
                    "opp_id": 39,
                    "is_virtual": false,
                    "pts_before": 3,
                    "factor": 0
                }
            ],
            "opp_results": [
                {
                    "opp": 35,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 25,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 38,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 36,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 42,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 26,
                    "factor": 1,
                    "is_forfeit": false
                },
                {
                    "opp": 31,
                    "factor": 0,
                    "is_forfeit": false
                },
                {
                    "opp": 39,
                    "factor": 0,
                    "is_forfeit": false
                }
            ],
            "head_to_head": {
                "35": 1,
                "25": 0,
                "38": 1,
                "36": 0,
                "42": 0,
                "26": 1,
                "31": 0,
                "39": 0
            },
            "round_pts": {
                "1": 1,
                "2": 0,
                "3": 1,
                "4": 0,
                "5": 0,
                "6": 1,
                "7": 0,
                "8": 0,
                "9": 0
            },
            "played_rounds": 8,
            "unplayed_rounds": 0,
            "downfloat_hist": {
                "5": true,
                "8": true
            },
            "upfloat_hist": {
                "4": true,
                "6": true
            },
            "history": [
                {
                    "round": 1,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 35,
                    "opp_name": "Lê Huy Tư",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 2,
                    "table": "3",
                    "color": "ĐEN",
                    "opp_id": 25,
                    "opp_name": "Đặng Mạnh Hùng",
                    "opp_club": "Kỳ Đạo Quán",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 3,
                    "table": "4",
                    "color": "TRẮNG",
                    "opp_id": 38,
                    "opp_name": "Nguyễn Anh Hào",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 4,
                    "table": "3",
                    "color": "TRẮNG",
                    "opp_id": 36,
                    "opp_name": "Trần Thanh Nam",
                    "opp_club": "",
                    "result_label": "0 - 1",
                    "pts_gained": 0
                },
                {
                    "round": 5,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 42,
                    "opp_name": "Nguyễn Tấn Lịch",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 6,
                    "table": "6",
                    "color": "TRẮNG",
                    "opp_id": 26,
                    "opp_name": "Ca Thanh Bình",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 1
                },
                {
                    "round": 7,
                    "table": "5",
                    "color": "ĐEN",
                    "opp_id": 31,
                    "opp_name": "Trần Xuân An",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                },
                {
                    "round": 8,
                    "table": "7",
                    "color": "ĐEN",
                    "opp_id": 39,
                    "opp_name": "Lê Trung Kiên",
                    "opp_club": "",
                    "result_label": "1 - 0",
                    "pts_gained": 0
                }
            ],
            "had_bye": false,
            "bh": 38,
            "bh_c1": 34.5,
            "sb": 13.5,
            "ps": 20,
            "de_score": 0,
            "de_games": 1,
            "rank": 20
        }
    ],
    "pairings": [
        {
            "id": "344",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "1",
            "red_id": "35",
            "black_id": "36",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Huy Tư",
            "red_club": "",
            "black_name": "Trần Thanh Nam",
            "black_club": ""
        },
        {
            "id": "345",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "2",
            "red_id": "29",
            "black_id": "38",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Tống Thanh Thư",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Nguyễn Anh Hào",
            "black_club": ""
        },
        {
            "id": "346",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "3",
            "red_id": "31",
            "black_id": "32",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Xuân An",
            "red_club": "",
            "black_name": "Trương Ngọc Nhân",
            "black_club": ""
        },
        {
            "id": "347",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "4",
            "red_id": "28",
            "black_id": "37",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lại Anh Dũng",
            "red_club": "",
            "black_name": "Đặng Túy",
            "black_club": ""
        },
        {
            "id": "348",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "5",
            "red_id": "25",
            "black_id": "26",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Mạnh Hùng",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Ca Thanh Bình",
            "black_club": ""
        },
        {
            "id": "349",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "6",
            "red_id": "33",
            "black_id": "23",
            "result": "0.5-0.5",
            "handicap_note": "",
            "red_name": "Nguyễn Văn Thành",
            "red_club": "",
            "black_name": "Nguyễn Thúc Nhựt",
            "black_club": ""
        },
        {
            "id": "350",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "7",
            "red_id": "30",
            "black_id": "27",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Công Tú",
            "red_club": "",
            "black_name": "Đặng Phúc Khang",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "351",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "8",
            "red_id": "34",
            "black_id": "24",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Văn Hiếu",
            "red_club": "",
            "black_name": "Bùi Tân Tân",
            "black_club": ""
        },
        {
            "id": "352",
            "tournament_id": "2",
            "round_num": "9",
            "table_num": "9",
            "red_id": "41",
            "black_id": "0",
            "result": "BYE",
            "handicap_note": "",
            "red_name": "Dương Phước Bình",
            "red_club": "",
            "black_name": null,
            "black_club": null
        },
        {
            "id": "184",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "1",
            "red_id": "36",
            "black_id": "25",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Thanh Nam",
            "red_club": "",
            "black_name": "Đặng Mạnh Hùng",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "185",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "2",
            "red_id": "37",
            "black_id": "29",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Túy",
            "red_club": "",
            "black_name": "Tống Thanh Thư",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "186",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "3",
            "red_id": "35",
            "black_id": "28",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Huy Tư",
            "red_club": "",
            "black_name": "Lại Anh Dũng",
            "black_club": ""
        },
        {
            "id": "187",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "4",
            "red_id": "32",
            "black_id": "23",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trương Ngọc Nhân",
            "red_club": "",
            "black_name": "Nguyễn Thúc Nhựt",
            "black_club": ""
        },
        {
            "id": "188",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "5",
            "red_id": "27",
            "black_id": "31",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Phúc Khang",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Trần Xuân An",
            "black_club": ""
        },
        {
            "id": "189",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "6",
            "red_id": "38",
            "black_id": "42",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Anh Hào",
            "red_club": "",
            "black_name": "Nguyễn Tấn Lịch",
            "black_club": ""
        },
        {
            "id": "190",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "7",
            "red_id": "39",
            "black_id": "40",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Trung Kiên",
            "red_club": "",
            "black_name": "Nguyễn Thành Đức",
            "black_club": ""
        },
        {
            "id": "191",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "8",
            "red_id": "30",
            "black_id": "34",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Công Tú",
            "red_club": "",
            "black_name": "Nguyễn Văn Hiếu",
            "black_club": ""
        },
        {
            "id": "192",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "9",
            "red_id": "26",
            "black_id": "33",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Ca Thanh Bình",
            "red_club": "",
            "black_name": "Nguyễn Văn Thành",
            "black_club": ""
        },
        {
            "id": "193",
            "tournament_id": "2",
            "round_num": "8",
            "table_num": "10",
            "red_id": "24",
            "black_id": "41",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Bùi Tân Tân",
            "red_club": "",
            "black_name": "Dương Phước Bình",
            "black_club": ""
        },
        {
            "id": "175",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "2",
            "red_id": "29",
            "black_id": "35",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Tống Thanh Thư",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Lê Huy Tư",
            "black_club": ""
        },
        {
            "id": "176",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "3",
            "red_id": "28",
            "black_id": "32",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lại Anh Dũng",
            "red_club": "",
            "black_name": "Trương Ngọc Nhân",
            "black_club": ""
        },
        {
            "id": "177",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "4",
            "red_id": "25",
            "black_id": "37",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Mạnh Hùng",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Đặng Túy",
            "black_club": ""
        },
        {
            "id": "178",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "5",
            "red_id": "31",
            "black_id": "40",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Xuân An",
            "red_club": "",
            "black_name": "Nguyễn Thành Đức",
            "black_club": ""
        },
        {
            "id": "179",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "6",
            "red_id": "27",
            "black_id": "38",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Phúc Khang",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Nguyễn Anh Hào",
            "black_club": ""
        },
        {
            "id": "180",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "7",
            "red_id": "42",
            "black_id": "30",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Tấn Lịch",
            "red_club": "",
            "black_name": "Lê Công Tú",
            "black_club": ""
        },
        {
            "id": "181",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "8",
            "red_id": "39",
            "black_id": "26",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Trung Kiên",
            "red_club": "",
            "black_name": "Ca Thanh Bình",
            "black_club": ""
        },
        {
            "id": "182",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "9",
            "red_id": "33",
            "black_id": "24",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Văn Thành",
            "red_club": "",
            "black_name": "Bùi Tân Tân",
            "black_club": ""
        },
        {
            "id": "183",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "10",
            "red_id": "34",
            "black_id": "41",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Văn Hiếu",
            "red_club": "",
            "black_name": "Dương Phước Bình",
            "black_club": ""
        },
        {
            "id": "225",
            "tournament_id": "2",
            "round_num": "7",
            "table_num": "11",
            "red_id": "23",
            "black_id": "36",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Thúc Nhựt",
            "red_club": "",
            "black_name": "Trần Thanh Nam",
            "black_club": ""
        },
        {
            "id": "164",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "1",
            "red_id": "36",
            "black_id": "28",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Thanh Nam",
            "red_club": "",
            "black_name": "Lại Anh Dũng",
            "black_club": ""
        },
        {
            "id": "165",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "2",
            "red_id": "29",
            "black_id": "23",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Tống Thanh Thư",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Nguyễn Thúc Nhựt",
            "black_club": ""
        },
        {
            "id": "166",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "3",
            "red_id": "35",
            "black_id": "25",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Huy Tư",
            "red_club": "",
            "black_name": "Đặng Mạnh Hùng",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "167",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "4",
            "red_id": "32",
            "black_id": "42",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trương Ngọc Nhân",
            "red_club": "",
            "black_name": "Nguyễn Tấn Lịch",
            "black_club": ""
        },
        {
            "id": "168",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "5",
            "red_id": "37",
            "black_id": "27",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Túy",
            "red_club": "",
            "black_name": "Đặng Phúc Khang",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "169",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "6",
            "red_id": "40",
            "black_id": "26",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Thành Đức",
            "red_club": "",
            "black_name": "Ca Thanh Bình",
            "black_club": ""
        },
        {
            "id": "170",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "7",
            "red_id": "38",
            "black_id": "34",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Anh Hào",
            "red_club": "",
            "black_name": "Nguyễn Văn Hiếu",
            "black_club": ""
        },
        {
            "id": "171",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "8",
            "red_id": "31",
            "black_id": "30",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Xuân An",
            "red_club": "",
            "black_name": "Lê Công Tú",
            "black_club": ""
        },
        {
            "id": "172",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "9",
            "red_id": "41",
            "black_id": "33",
            "result": "0.5-0.5",
            "handicap_note": "",
            "red_name": "Dương Phước Bình",
            "red_club": "",
            "black_name": "Nguyễn Văn Thành",
            "black_club": ""
        },
        {
            "id": "173",
            "tournament_id": "2",
            "round_num": "6",
            "table_num": "10",
            "red_id": "24",
            "black_id": "39",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Bùi Tân Tân",
            "red_club": "",
            "black_name": "Lê Trung Kiên",
            "black_club": ""
        },
        {
            "id": "154",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "1",
            "red_id": "36",
            "black_id": "29",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Thanh Nam",
            "red_club": "",
            "black_name": "Tống Thanh Thư",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "155",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "2",
            "red_id": "23",
            "black_id": "25",
            "result": "0.5-0.5",
            "handicap_note": "",
            "red_name": "Nguyễn Thúc Nhựt",
            "red_club": "",
            "black_name": "Đặng Mạnh Hùng",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "156",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "3",
            "red_id": "32",
            "black_id": "37",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trương Ngọc Nhân",
            "red_club": "",
            "black_name": "Đặng Túy",
            "black_club": ""
        },
        {
            "id": "157",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "4",
            "red_id": "28",
            "black_id": "27",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lại Anh Dũng",
            "red_club": "",
            "black_name": "Đặng Phúc Khang",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "158",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "5",
            "red_id": "42",
            "black_id": "40",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Tấn Lịch",
            "red_club": "",
            "black_name": "Nguyễn Thành Đức",
            "black_club": ""
        },
        {
            "id": "159",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "6",
            "red_id": "35",
            "black_id": "38",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Huy Tư",
            "red_club": "",
            "black_name": "Nguyễn Anh Hào",
            "black_club": ""
        },
        {
            "id": "160",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "7",
            "red_id": "26",
            "black_id": "41",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Ca Thanh Bình",
            "red_club": "",
            "black_name": "Dương Phước Bình",
            "black_club": ""
        },
        {
            "id": "161",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "8",
            "red_id": "34",
            "black_id": "31",
            "result": "0.5-0.5",
            "handicap_note": "",
            "red_name": "Nguyễn Văn Hiếu",
            "red_club": "",
            "black_name": "Trần Xuân An",
            "black_club": ""
        },
        {
            "id": "162",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "9",
            "red_id": "30",
            "black_id": "24",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Lê Công Tú",
            "red_club": "",
            "black_name": "Bùi Tân Tân",
            "black_club": ""
        },
        {
            "id": "163",
            "tournament_id": "2",
            "round_num": "5",
            "table_num": "10",
            "red_id": "33",
            "black_id": "39",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Văn Thành",
            "red_club": "",
            "black_name": "Lê Trung Kiên",
            "black_club": ""
        },
        {
            "id": "144",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "1",
            "red_id": "25",
            "black_id": "32",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Mạnh Hùng",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Trương Ngọc Nhân",
            "black_club": ""
        },
        {
            "id": "145",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "2",
            "red_id": "29",
            "black_id": "28",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Tống Thanh Thư",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Lại Anh Dũng",
            "black_club": ""
        },
        {
            "id": "146",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "3",
            "red_id": "40",
            "black_id": "36",
            "result": "0-1",
            "handicap_note": "",
            "red_name": "Nguyễn Thành Đức",
            "red_club": "",
            "black_name": "Trần Thanh Nam",
            "black_club": ""
        },
        {
            "id": "147",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "4",
            "red_id": "23",
            "black_id": "35",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Thúc Nhựt",
            "red_club": "",
            "black_name": "Lê Huy Tư",
            "black_club": ""
        },
        {
            "id": "148",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "5",
            "red_id": "37",
            "black_id": "34",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Túy",
            "red_club": "",
            "black_name": "Nguyễn Văn Hiếu",
            "black_club": ""
        },
        {
            "id": "149",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "6",
            "red_id": "27",
            "black_id": "42",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Đặng Phúc Khang",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Nguyễn Tấn Lịch",
            "black_club": ""
        },
        {
            "id": "150",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "7",
            "red_id": "38",
            "black_id": "41",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Nguyễn Anh Hào",
            "red_club": "",
            "black_name": "Dương Phước Bình",
            "black_club": ""
        },
        {
            "id": "151",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "8",
            "red_id": "24",
            "black_id": "26",
            "result": "0.5-0.5",
            "handicap_note": "",
            "red_name": "Bùi Tân Tân",
            "red_club": "",
            "black_name": "Ca Thanh Bình",
            "black_club": ""
        },
        {
            "id": "152",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "9",
            "red_id": "39",
            "black_id": "30",
            "result": "0.5-0.5",
            "handicap_note": "",
            "red_name": "Lê Trung Kiên",
            "red_club": "",
            "black_name": "Lê Công Tú",
            "black_club": ""
        },
        {
            "id": "153",
            "tournament_id": "2",
            "round_num": "4",
            "table_num": "10",
            "red_id": "31",
            "black_id": "33",
            "result": "1-0",
            "handicap_note": "",
            "red_name": "Trần Xuân An",
            "red_club": "",
            "black_name": "Nguyễn Văn Thành",
            "black_club": ""
        },
        {
            "id": "134",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "1",
            "red_id": "32",
            "black_id": "29",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Trương Ngọc Nhân",
            "red_club": "",
            "black_name": "Tống Thanh Thư",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "135",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "2",
            "red_id": "28",
            "black_id": "25",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Lại Anh Dũng",
            "red_club": "",
            "black_name": "Đặng Mạnh Hùng",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "136",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "3",
            "red_id": "36",
            "black_id": "37",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Trần Thanh Nam",
            "red_club": "",
            "black_name": "Đặng Túy",
            "black_club": ""
        },
        {
            "id": "137",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "4",
            "red_id": "40",
            "black_id": "38",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Thành Đức",
            "red_club": "",
            "black_name": "Nguyễn Anh Hào",
            "black_club": ""
        },
        {
            "id": "138",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "5",
            "red_id": "26",
            "black_id": "23",
            "result": "0-1",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Ca Thanh Bình",
            "red_club": "",
            "black_name": "Nguyễn Thúc Nhựt",
            "black_club": ""
        },
        {
            "id": "139",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "6",
            "red_id": "27",
            "black_id": "34",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Đặng Phúc Khang",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Nguyễn Văn Hiếu",
            "black_club": ""
        },
        {
            "id": "140",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "7",
            "red_id": "35",
            "black_id": "24",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Lê Huy Tư",
            "red_club": "",
            "black_name": "Bùi Tân Tân",
            "black_club": ""
        },
        {
            "id": "141",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "8",
            "red_id": "41",
            "black_id": "39",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Dương Phước Bình",
            "red_club": "",
            "black_name": "Lê Trung Kiên",
            "black_club": ""
        },
        {
            "id": "142",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "9",
            "red_id": "42",
            "black_id": "31",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Tấn Lịch",
            "red_club": "",
            "black_name": "Trần Xuân An",
            "black_club": ""
        },
        {
            "id": "143",
            "tournament_id": "2",
            "round_num": "3",
            "table_num": "10",
            "red_id": "30",
            "black_id": "33",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Lê Công Tú",
            "red_club": "",
            "black_name": "Nguyễn Văn Thành",
            "black_club": ""
        },
        {
            "id": "124",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "1",
            "red_id": "29",
            "black_id": "26",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Tống Thanh Thư",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Ca Thanh Bình",
            "black_club": ""
        },
        {
            "id": "125",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "2",
            "red_id": "32",
            "black_id": "38",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Trương Ngọc Nhân",
            "red_club": "",
            "black_name": "Nguyễn Anh Hào",
            "black_club": ""
        },
        {
            "id": "126",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "3",
            "red_id": "25",
            "black_id": "40",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Đặng Mạnh Hùng",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Nguyễn Thành Đức",
            "black_club": ""
        },
        {
            "id": "127",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "4",
            "red_id": "28",
            "black_id": "39",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Lại Anh Dũng",
            "red_club": "",
            "black_name": "Lê Trung Kiên",
            "black_club": ""
        },
        {
            "id": "128",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "5",
            "red_id": "34",
            "black_id": "23",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Văn Hiếu",
            "red_club": "",
            "black_name": "Nguyễn Thúc Nhựt",
            "black_club": ""
        },
        {
            "id": "129",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "6",
            "red_id": "36",
            "black_id": "42",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Trần Thanh Nam",
            "red_club": "",
            "black_name": "Nguyễn Tấn Lịch",
            "black_club": ""
        },
        {
            "id": "130",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "7",
            "red_id": "37",
            "black_id": "41",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Đặng Túy",
            "red_club": "",
            "black_name": "Dương Phước Bình",
            "black_club": ""
        },
        {
            "id": "131",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "8",
            "red_id": "30",
            "black_id": "35",
            "result": "0-1",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Lê Công Tú",
            "red_club": "",
            "black_name": "Lê Huy Tư",
            "black_club": ""
        },
        {
            "id": "132",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "9",
            "red_id": "31",
            "black_id": "24",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Trần Xuân An",
            "red_club": "",
            "black_name": "Bùi Tân Tân",
            "black_club": ""
        },
        {
            "id": "133",
            "tournament_id": "2",
            "round_num": "2",
            "table_num": "10",
            "red_id": "33",
            "black_id": "27",
            "result": "0-1",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Văn Thành",
            "red_club": "",
            "black_name": "Đặng Phúc Khang",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "114",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "1",
            "red_id": "23",
            "black_id": "28",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Thúc Nhựt",
            "red_club": "",
            "black_name": "Lại Anh Dũng",
            "black_club": ""
        },
        {
            "id": "115",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "2",
            "red_id": "38",
            "black_id": "33",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Anh Hào",
            "red_club": "",
            "black_name": "Nguyễn Văn Thành",
            "black_club": ""
        },
        {
            "id": "116",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "3",
            "red_id": "24",
            "black_id": "29",
            "result": "0-1",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Bùi Tân Tân",
            "red_club": "",
            "black_name": "Tống Thanh Thư",
            "black_club": "Kỳ Đạo Quán"
        },
        {
            "id": "117",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "4",
            "red_id": "39",
            "black_id": "34",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Lê Trung Kiên",
            "red_club": "",
            "black_name": "Nguyễn Văn Hiếu",
            "black_club": ""
        },
        {
            "id": "118",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "5",
            "red_id": "25",
            "black_id": "30",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Đặng Mạnh Hùng",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Lê Công Tú",
            "black_club": ""
        },
        {
            "id": "119",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "6",
            "red_id": "40",
            "black_id": "35",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Thành Đức",
            "red_club": "",
            "black_name": "Lê Huy Tư",
            "black_club": ""
        },
        {
            "id": "120",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "7",
            "red_id": "26",
            "black_id": "31",
            "result": "1-0",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Ca Thanh Bình",
            "red_club": "",
            "black_name": "Trần Xuân An",
            "black_club": ""
        },
        {
            "id": "121",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "8",
            "red_id": "41",
            "black_id": "36",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Dương Phước Bình",
            "red_club": "",
            "black_name": "Trần Thanh Nam",
            "black_club": ""
        },
        {
            "id": "122",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "9",
            "red_id": "27",
            "black_id": "32",
            "result": "0-1",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Đặng Phúc Khang",
            "red_club": "Kỳ Đạo Quán",
            "black_name": "Trương Ngọc Nhân",
            "black_club": ""
        },
        {
            "id": "123",
            "tournament_id": "2",
            "round_num": "1",
            "table_num": "10",
            "red_id": "42",
            "black_id": "37",
            "result": "0.5-0.5",
            "handicap_note": "Đánh phân tiên",
            "red_name": "Nguyễn Tấn Lịch",
            "red_club": "",
            "black_name": "Đặng Túy",
            "black_club": ""
        }
    ]
}