game: dark_chess(board_size=4)

GameType.chance_mode = ChanceMode.DETERMINISTIC
GameType.dynamics = Dynamics.SEQUENTIAL
GameType.information = Information.IMPERFECT_INFORMATION
GameType.long_name = "Dark Chess"
GameType.max_num_players = 2
GameType.min_num_players = 2
GameType.parameter_specification = ["board_size", "fen"]
GameType.provides_information_state_string = True
GameType.provides_information_state_tensor = False
GameType.provides_observation_string = True
GameType.provides_observation_tensor = True
GameType.provides_factored_observation_string = False
GameType.reward_model = RewardModel.TERMINAL
GameType.short_name = "dark_chess"
GameType.utility = Utility.ZERO_SUM

NumDistinctActions() = 4672
PolicyTensorShape() = [4672]
MaxChanceOutcomes() = 0
GetParameters() = {board_size=4,fen=r1kr/pppp/PPPP/R1KR w - - 0 1}
NumPlayers() = 2
MinUtility() = -1.0
MaxUtility() = 1.0
UtilitySum() = 0.0
ObservationTensorShape() = public_K_pieces: [4, 4], public_k_pieces: [4, 4], public_Q_pieces: [4, 4], public_q_pieces: [4, 4], public_R_pieces: [4, 4], public_r_pieces: [4, 4], public_B_pieces: [4, 4], public_b_pieces: [4, 4], public_N_pieces: [4, 4], public_n_pieces: [4, 4], public_P_pieces: [4, 4], public_p_pieces: [4, 4], public_empty_pieces: [4, 4], repetitions: [3], side_to_play: [2], irreversible_move_counter: [1], private_K_pieces: [4, 4], private_k_pieces: [4, 4], private_Q_pieces: [4, 4], private_q_pieces: [4, 4], private_R_pieces: [4, 4], private_r_pieces: [4, 4], private_B_pieces: [4, 4], private_b_pieces: [4, 4], private_N_pieces: [4, 4], private_n_pieces: [4, 4], private_P_pieces: [4, 4], private_p_pieces: [4, 4], private_empty_pieces: [4, 4], private_unknown_squares: [4, 4], private_left_castling: [2], private_right_castling: [2]
ObservationTensorLayout() = TensorLayout.CHW
ObservationTensorSize() = 442
MaxGameLength() = 17695
ToString() = "dark_chess(board_size=4)"

# State 0
# r1kr/pppp/PPPP/R1KR w - - 0 1
IsTerminal() = False
History() = []
HistoryString() = ""
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
InformationStateString(0) = "(action=None, observation="r1kr/pppp/PPPP/???? w - - 0 1")"
InformationStateString(1) = "(action=None, observation="????/pppp/PPPP/R1KR w - - 0 1")"
ObservationString(0) = "r1kr/pppp/PPPP/???? w - - 0 1"
ObservationString(1) = "????/pppp/PPPP/R1KR w - - 0 1"
ObservationTensor(0).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_P_pieces: ◯◉◯◯
                                      ◯◉◯◯
                                      ◯◉◯◯
                                      ◯◉◯◯
ObservationTensor(0).public_p_pieces: ◯◯◉◯
                                      ◯◯◉◯
                                      ◯◯◉◯
                                      ◯◯◉◯
ObservationTensor(0).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(0).repetitions: ◉◯◯
ObservationTensor(0).side_to_play: ◯◉
ObservationTensor(0).irreversible_move_counter: ◯
ObservationTensor(0).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◉
                                       ◯◯◯◯
ObservationTensor(0).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_R_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◉
ObservationTensor(0).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_empty_pieces: ◯◯◯◯
                                           ◯◯◯◉
                                           ◯◯◯◯
                                           ◯◯◯◯
ObservationTensor(0).private_unknown_squares: ◉◉◉◯
                                              ◉◉◉◯
                                              ◉◉◉◯
                                              ◉◉◉◯
ObservationTensor(0).private_left_castling: ◉◯
ObservationTensor(0).private_right_castling: ◉◯
ObservationTensor(1).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_P_pieces: ◯◉◯◯
                                      ◯◉◯◯
                                      ◯◉◯◯
                                      ◯◉◯◯
ObservationTensor(1).public_p_pieces: ◯◯◉◯
                                      ◯◯◉◯
                                      ◯◯◉◯
                                      ◯◯◉◯
ObservationTensor(1).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(1).repetitions: ◉◯◯
ObservationTensor(1).side_to_play: ◯◉
ObservationTensor(1).irreversible_move_counter: ◯
ObservationTensor(1).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◉◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_R_pieces: ◉◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◉◯◯◯
ObservationTensor(1).private_r_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_empty_pieces: ◯◯◯◯
                                           ◉◯◯◯
                                           ◯◯◯◯
                                           ◯◯◯◯
ObservationTensor(1).private_unknown_squares: ◯◉◉◉
                                              ◯◉◉◉
                                              ◯◉◉◉
                                              ◯◉◉◉
ObservationTensor(1).private_left_castling: ◉◯
ObservationTensor(1).private_right_castling: ◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [30, 117, 701, 714, 1197, 1285, 1298, 1882]
StringLegalActions() = ["Rab1", "axb3", "bxc3", "bxa3", "Kcb1", "cxd3", "cxb3", "dxc3"]

# Apply action "axb3"
action: 117

# State 1
# r1kr/pPpp/1PPP/R1KR b - - 0 1
IsTerminal() = False
History() = [117]
HistoryString() = "117"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
InformationStateString(0) = "(action=None, observation="r1kr/pppp/PPPP/???? w - - 0 1"), (action=None, observation="r1kr/pPpp/1PPP/???? b - - 0 1")"
InformationStateString(1) = "(action=None, observation="????/pppp/PPPP/R1KR w - - 0 1"), (action=117, observation="r1k?/pPpp/1PPP/R1KR b - - 0 1")"
ObservationString(0) = "r1kr/pPpp/1PPP/???? b - - 0 1"
ObservationString(1) = "r1k?/pPpp/1PPP/R1KR b - - 0 1"
ObservationTensor(0).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(0).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◉◯◯
                                      ◯◉◯◯
ObservationTensor(0).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◉◯
                                      ◯◯◉◯
ObservationTensor(0).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(0).repetitions: ◉◯◯
ObservationTensor(0).side_to_play: ◉◯
ObservationTensor(0).irreversible_move_counter: ◯
ObservationTensor(0).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_R_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◉
ObservationTensor(0).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_empty_pieces: ◯◉◯◯
                                           ◯◯◯◉
                                           ◯◯◯◯
                                           ◯◯◯◯
ObservationTensor(0).private_unknown_squares: ◉◯◉◯
                                              ◉◉◉◯
                                              ◉◉◉◉
                                              ◉◉◉◯
ObservationTensor(0).private_left_castling: ◉◯
ObservationTensor(0).private_right_castling: ◉◯
ObservationTensor(1).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(1).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◉◯◯
                                      ◯◉◯◯
ObservationTensor(1).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◉◯
                                      ◯◯◉◯
ObservationTensor(1).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(1).repetitions: ◉◯◯
ObservationTensor(1).side_to_play: ◉◯
ObservationTensor(1).irreversible_move_counter: ◯
ObservationTensor(1).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◉◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_R_pieces: ◉◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◉◯◯◯
ObservationTensor(1).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_empty_pieces: ◯◉◯◯
                                           ◉◯◯◉
                                           ◯◯◯◯
                                           ◯◯◯◯
ObservationTensor(1).private_unknown_squares: ◯◯◉◯
                                              ◯◉◉◯
                                              ◯◉◉◉
                                              ◯◉◉◉
ObservationTensor(1).private_left_castling: ◉◯
ObservationTensor(1).private_right_castling: ◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [30, 89, 117, 1197, 1225, 1285, 1298, 1882]
StringLegalActions() = ["Rab4", "a2", "axb2", "Kcb4", "Kxb3", "cxd2", "cxb2", "dxc2"]

# Apply action "cxd2"
action: 1285

# State 2
# r1kr/pP1p/1PPp/R1KR w - - 0 2
IsTerminal() = False
History() = [117, 1285]
HistoryString() = "117, 1285"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 1
InformationStateString(0) = "(action=None, observation="r1kr/pppp/PPPP/???? w - - 0 1"), (action=None, observation="r1kr/pPpp/1PPP/???? b - - 0 1"), (action=1285, observation="r1kr/pP1p/1PPp/??K? w - - 0 2")"
InformationStateString(1) = "(action=None, observation="????/pppp/PPPP/R1KR w - - 0 1"), (action=117, observation="r1k?/pPpp/1PPP/R1KR b - - 0 1"), (action=None, observation="r1k?/pP1p/1PPp/R1KR w - - 0 2")"
ObservationString(0) = "r1kr/pP1p/1PPp/??K? w - - 0 2"
ObservationString(1) = "r1k?/pP1p/1PPp/R1KR w - - 0 2"
ObservationTensor(0).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(0).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◉◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◉◉◯
ObservationTensor(0).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(0).repetitions: ◉◯◯
ObservationTensor(0).side_to_play: ◯◉
ObservationTensor(0).irreversible_move_counter: ◯
ObservationTensor(0).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_R_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◉
ObservationTensor(0).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_empty_pieces: ◯◉◯◯
                                           ◯◯◯◉
                                           ◯◯◉◯
                                           ◯◯◯◯
ObservationTensor(0).private_unknown_squares: ◉◯◉◯
                                              ◉◉◉◯
                                              ◉◉◯◉
                                              ◉◉◉◯
ObservationTensor(0).private_left_castling: ◉◯
ObservationTensor(0).private_right_castling: ◉◯
ObservationTensor(1).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(1).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◉◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◉◉◯
ObservationTensor(1).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(1).repetitions: ◉◯◯
ObservationTensor(1).side_to_play: ◯◉
ObservationTensor(1).irreversible_move_counter: ◯
ObservationTensor(1).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_R_pieces: ◉◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◉◯◯◯
ObservationTensor(1).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_empty_pieces: ◯◉◯◯
                                           ◉◯◯◉
                                           ◯◯◉◯
                                           ◯◯◯◯
ObservationTensor(1).private_unknown_squares: ◯◯◉◯
                                              ◯◉◉◯
                                              ◉◉◯◉
                                              ◯◉◉◉
ObservationTensor(1).private_left_castling: ◉◯
ObservationTensor(1).private_right_castling: ◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [16, 17, 30, 714, 730, 731, 732, 733, 734, 735, 736, 737, 738, 746, 774, 787, 1197, 1212, 1257, 1285, 1768]
StringLegalActions() = ["Ra2", "Raxa3", "Rab1", "bxa3", "b4=R", "bxc4=R", "bxa4=R", "b4=B", "bxc4=B", "bxa4=B", "b4=N", "bxc4=N", "bxa4=N", "b4=Q", "bxc4=Q", "bxa4=Q", "Kcb1", "Kcxd2", "c3", "cxd3", "Rdxd2"]

# Apply action "cxd3"
action: 1285

# State 3
# r1kr/pP1P/1P1p/R1KR b - - 0 2
IsTerminal() = False
History() = [117, 1285, 1285]
HistoryString() = "117, 1285, 1285"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = 0
InformationStateString(0) = "(action=None, observation="r1kr/pppp/PPPP/???? w - - 0 1"), (action=None, observation="r1kr/pPpp/1PPP/???? b - - 0 1"), (action=1285, observation="r1kr/pP1p/1PPp/??K? w - - 0 2"), (action=None, observation="r1kr/pP1P/1P?p/??K? b - - 0 2")"
InformationStateString(1) = "(action=None, observation="????/pppp/PPPP/R1KR w - - 0 1"), (action=117, observation="r1k?/pPpp/1PPP/R1KR b - - 0 1"), (action=None, observation="r1k?/pP1p/1PPp/R1KR w - - 0 2"), (action=1285, observation="r1k?/pP?P/1P1p/R1KR b - - 0 2")"
ObservationString(0) = "r1kr/pP1P/1P?p/??K? b - - 0 2"
ObservationString(1) = "r1k?/pP?P/1P1p/R1KR b - - 0 2"
ObservationTensor(0).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(0).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◯◯◯
                                      ◯◯◉◯
ObservationTensor(0).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◉◯◯
ObservationTensor(0).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(0).repetitions: ◉◯◯
ObservationTensor(0).side_to_play: ◉◯
ObservationTensor(0).irreversible_move_counter: ◯
ObservationTensor(0).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_R_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◉
ObservationTensor(0).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_empty_pieces: ◯◉◯◯
                                           ◯◯◯◉
                                           ◯◯◉◯
                                           ◯◯◯◯
ObservationTensor(0).private_unknown_squares: ◉◯◉◯
                                              ◉◉◉◯
                                              ◉◉◯◉
                                              ◉◉◉◯
ObservationTensor(0).private_left_castling: ◉◯
ObservationTensor(0).private_right_castling: ◉◯
ObservationTensor(1).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(1).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_R_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◯◯◯
                                      ◯◯◉◯
ObservationTensor(1).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◉◯◯
ObservationTensor(1).public_empty_pieces: ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(1).repetitions: ◉◯◯
ObservationTensor(1).side_to_play: ◉◯
ObservationTensor(1).irreversible_move_counter: ◯
ObservationTensor(1).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_R_pieces: ◉◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◉◯◯◯
ObservationTensor(1).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_empty_pieces: ◯◉◯◯
                                           ◉◯◯◉
                                           ◯◉◯◯
                                           ◯◯◯◯
ObservationTensor(1).private_unknown_squares: ◯◯◉◯
                                              ◯◉◉◯
                                              ◉◯◉◉
                                              ◯◉◉◉
ObservationTensor(1).private_left_castling: ◉◯
ObservationTensor(1).private_right_castling: ◉◯
Rewards() = [0.0, 0.0]
Returns() = [0.0, 0.0]
LegalActions() = [30, 89, 117, 1184, 1197, 1212, 1225, 1768, 1900, 1903, 1906, 1955]
StringLegalActions() = ["Rab4", "a2", "axb2", "Kc3", "Kcb4", "Kcxd3", "Kxb3", "Rdxd3", "dxc1=R", "dxc1=B", "dxc1=N", "dxc1=Q"]

# Apply action "dxc1=Q"
action: 1955

# State 4
# r1kr/pP1P/1P2/R1qR w - - 0 3
IsTerminal() = True
History() = [117, 1285, 1285, 1955]
HistoryString() = "117, 1285, 1285, 1955"
IsChanceNode() = False
IsSimultaneousNode() = False
CurrentPlayer() = -4
InformationStateString(0) = "(action=None, observation="r1kr/pppp/PPPP/???? w - - 0 1"), (action=None, observation="r1kr/pPpp/1PPP/???? b - - 0 1"), (action=1285, observation="r1kr/pP1p/1PPp/??K? w - - 0 2"), (action=None, observation="r1kr/pP1P/1P?p/??K? b - - 0 2"), (action=1955, observation="r1kr/pP1P/1P2/R1qR w - - 0 3")"
InformationStateString(1) = "(action=None, observation="????/pppp/PPPP/R1KR w - - 0 1"), (action=117, observation="r1k?/pPpp/1PPP/R1KR b - - 0 1"), (action=None, observation="r1k?/pP1p/1PPp/R1KR w - - 0 2"), (action=1285, observation="r1k?/pP?P/1P1p/R1KR b - - 0 2"), (action=None, observation="r1k?/pP?P/1P?1/R1qR w - - 0 3")"
ObservationString(0) = "r1kr/pP1P/1P2/R1qR w - - 0 3"
ObservationString(1) = "r1k?/pP?P/1P?1/R1qR w - - 0 3"
ObservationTensor(0).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(0).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_R_pieces: ◉◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
ObservationTensor(0).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◯◯◯
                                      ◯◯◉◯
ObservationTensor(0).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(0).public_empty_pieces: ◯◯◯◯
                                          ◉◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(0).repetitions: ◉◯◯
ObservationTensor(0).side_to_play: ◯◉
ObservationTensor(0).irreversible_move_counter: ◯
ObservationTensor(0).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_R_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◉
ObservationTensor(0).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(0).private_empty_pieces: ◯◉◯◯
                                           ◯◯◯◉
                                           ◯◉◉◯
                                           ◯◉◯◯
ObservationTensor(0).private_unknown_squares: ◉◯◉◯
                                              ◉◉◉◯
                                              ◉◯◯◉
                                              ◉◯◉◯
ObservationTensor(0).private_left_castling: ◉◯
ObservationTensor(0).private_right_castling: ◉◯
ObservationTensor(1).public_K_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_k_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◉
                                      ◯◯◯◯
ObservationTensor(1).public_Q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_q_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_R_pieces: ◉◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◉◯◯◯
ObservationTensor(1).public_r_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_B_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_b_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_N_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_n_pieces: ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_P_pieces: ◯◯◯◯
                                      ◯◉◉◯
                                      ◯◯◯◯
                                      ◯◯◉◯
ObservationTensor(1).public_p_pieces: ◯◯◉◯
                                      ◯◯◯◯
                                      ◯◯◯◯
                                      ◯◯◯◯
ObservationTensor(1).public_empty_pieces: ◯◯◯◯
                                          ◉◯◯◯
                                          ◯◯◯◯
                                          ◯◯◯◯
ObservationTensor(1).repetitions: ◉◯◯
ObservationTensor(1).side_to_play: ◯◉
ObservationTensor(1).irreversible_move_counter: ◯
ObservationTensor(1).private_K_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_k_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_Q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_q_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_R_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_r_pieces: ◯◯◯◉
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_B_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_b_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_N_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_n_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_P_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_p_pieces: ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
                                       ◯◯◯◯
ObservationTensor(1).private_empty_pieces: ◯◉◯◯
                                           ◯◯◯◉
                                           ◯◯◯◯
                                           ◯◉◯◯
ObservationTensor(1).private_unknown_squares: ◉◯◉◯
                                              ◉◉◉◯
                                              ◉◉◉◉
                                              ◉◯◉◉
ObservationTensor(1).private_left_castling: ◉◯
ObservationTensor(1).private_right_castling: ◉◯
Rewards() = [1.0, -1.0]
Returns() = [1.0, -1.0]
