var searchIndex = JSON.parse('{\
"draught":{"doc":"Draught","t":[2,2,2,2,17,0,0,0,5,14,14,0,0,3,3,3,3,17,17,3,17,17,17,17,17,17,17,17,17,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,13,13,13,13,13,13,13,13,13,4,4,13,13,13,13,4,4,4,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,3,17,17,17,17,17,17,12,12,12,11,11,12,12,11,11,12,11,11,11,11,11,12,11,11,11,12,11,11,11,12,12,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,12,12,12,12,5],"n":["Board","Computer","Game","Painter","__wasm_bindgen_generated_init_wasm__const","board","comp","game","init_wasm","log","log_error","paint","utils","Board","BrdIdx","Direction","Piece","STD_HEIGHT","STD_WIDTH","Square","__wbg_get_board_current_turn__const","__wbg_get_board_height__const","__wbg_get_board_width__const","__wbg_get_brdidx_col__const","__wbg_get_brdidx_row__const","__wbg_get_piece_strength__const","__wbg_get_piece_team__const","__wbg_get_square_occupant__const","__wbg_get_square_state__const","adjacent_dir","adjacent_indices","apply_jump","apply_move","board_index","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_move","cell","cell_idx","cell_index","cell_mut","cell_state","cells","cells","check_jumpee_team","check_kinged","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","col","current_turn","describe","describe","describe","describe","empty","empty","enums","eq","eq","eq","eq","eq","eq","filter_indices","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_abi","from_abi","from_abi","from_abi","grid_cell","height","idx_diffs","init_game","into","into","into","into","into","into_abi","into_abi","into_abi","into_abi","is_none","is_none","is_none","is_none","iter","jumpable_dir","jumpable_indices","jumpee_idx","king_row_idx","ne","ne","ne","ne","ne","ne","new","new","new","none","none","none","none","num_cells","num_pieces","num_player","nw","occupant","pc","player_adjacent_indices","player_jumpable_indices","ref_from_abi","ref_from_abi","ref_from_abi","ref_from_abi","ref_mut_from_abi","ref_mut_from_abi","ref_mut_from_abi","ref_mut_from_abi","return_abi","return_abi","return_abi","return_abi","row","score","se","set_cell","state","strength","sw","team","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unplay","validate_jumpee","validate_king_move","validate_man_move","vzip","vzip","vzip","vzip","vzip","width","Allowed","Black","Empty","IllegalTrajectory","Jump","JumpingSameTeam","King","Man","Move","MoveType","Moveable","NoJumpablePiece","Occupied","OccupiedDest","OutOfBounds","SquareState","Strength","Team","UnoccupiedSrc","Unplayable","Unplayable","White","WrongTeamSrc","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","describe","describe","describe","describe","describe","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_abi","from_abi","from_abi","from_abi","from_abi","into","into","into","into","into","into_abi","into_abi","into_abi","into_abi","into_abi","is_none","is_none","is_none","is_none","is_none","none","none","none","none","none","opponent","return_abi","return_abi","return_abi","return_abi","return_abi","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","PieceIterator","RowIndexIterator","RowSquareIterator","board","board","board","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","index_cursor","index_iter","into","into","into","into_iter","into_iter","into_iter","new","new","new","next","next","next","row_cursor","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","BoardNode","Computer","Move","available_turns","best_score","board","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","brd","clone","clone","clone_into","clone_into","eq","eq","expand_layer","expand_node","fmt","fmt","fmt","from","from","from","from","gen_tree","get_leaf_nodes","get_move","get_move_boards","insert_board_scores","insert_boards","into","into","into","last_node_count","mv_type","ne","ne","new","new","new","perfect_chance","propagate_scores","random_choice","score","search_depth","team","to","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Game","__wbg_get_game_last_node_count__const","__wbg_get_game_perfect_chance__const","ai_move","borrow","borrow_mut","clear_selected","current","current_board","current_board_cells","current_board_len","current_cell_state","current_turn","describe","draw","execute_jump","execute_move","fmt","fmt","from","from_abi","has_won","into","into_abi","is_none","last_node_count","make_move","new","new_with_canvas","none","painter","perfect_chance","previous_board","previous_boards","push_new_board","ref_from_abi","ref_mut_from_abi","return_abi","score","search_depth","selected_piece","set_current","set_painter","set_perfect_chance","set_search_depth","set_selected","to_string","try_from","try_into","type_id","vzip","winning","BLACK_PIECE","BLACK_PIECE_OUTLINE","BLACK_SQUARE","DRAW_OUTLINE","DRAW_PIECE_OUTLINES","KING_OUTLINE","OUTLINE_WIDTH","PIECE_OUTLINE_PROPORTION","PIECE_PROPORTION","Painter","SELECTED_PIECE","SELECTED_PIECE_OUTLINE","SQUARE_OUTLINE","WHITE_PIECE","WHITE_PIECE_OUTLINE","WHITE_SQUARE","black_piece","black_piece_line","black_square","borrow","borrow_mut","canvas","context","describe","draw","draw_outline","fmt","from","from_abi","get_canvas","get_canvas_context","height","into","into_abi","is_none","king_line","new","new_with_canvas","none","outline_width","piece_line_proportion","piece_lines","ref_from_abi","ref_mut_from_abi","reset_dimensions","return_abi","selected_idx","selected_piece","selected_piece_line","set_draw_outline","set_outline_width","set_selected","set_square_outline","square_outline","try_from","try_into","type_id","validate_board_dim","vzip","white_piece","white_piece_line","white_square","width","set_panic_hook"],"q":["draught","","","","","","","","","","","","","draught::board","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","draught::board::enums","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","draught::board::iter","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","draught::comp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","draught::game","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","draught::paint","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","draught::utils"],"d":["","","","","","Board module for components related to the checkers board …","AI player logic","Top-level object for managing Board
s, applying and …","","Wrap the web_sys
access to the browser console in a macro …","","Components for painting board states onto HTML canvases","","Single state of a checkers board","Rank 2 tensor index to identify a board square by row and …","Standard diagonal movements given by north west/east etc","Game piece given by its team and strength (normal or …","Standard height of a checkers board is 8 squares","Standard width of a checkers board is 8 squares","Board squares given by a state and a possible occupying …","","","","","","","","","","Get a Direction
structure for the diagonally adjacent …","Get the 1D array indices for the diagonally adjacent …","Get new board derived from current with given jump applied","Get new board derived from current with given move applied","Transform a 1D array index (for Board::cells
) into a 2D …","","","","","","","","","","","Check whether a move given by source and destination …","Get a copy of a board square by 1D array index","Similar to Board::cell_index
but with a BrdIdx
instead of …","Transform a 2D row/column board index into a single 1D …","Get a mutable reference to a board square by 1D array index","Get the state of a board square by 1D array index","Get a pointer to the backing array of board squares, …","1D backing array of board squares for the 2D game board","Check that the source piece and the jumpee are of opposing …","Check and apply king strength","","","","","","","","","","","","","","","","","Create an empty direction full of Option::None
","Helper function for a well-formed empty square","","","","","","","","Filter an array of diagonal indices (Like those from …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Get a copy of a board square by 2D BrdIdx
index","","Get the difference between two BrdIdx
objects","Reset the given board to a starting layout with 3 rows of …","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","Get a Direction
structure for the diagonally jumpable …","Get the 1D array indices for the diagonally jumpable …","Get cell index of jumpee square given from and to locations","Get row index for current team, top row for black, bottom …","","","","","","North East","","Standard constructor function to form square from state …","Initialise a game board without game pieces","","","","","Get the number of board squares","Get the number of remaining pieces","Get the number of remaining pieces for a player","North West ","Game piece if square is occupied","Helper function for a well-formed piece square by team and …","","","","","","","","","","","","","","","","Get the score value, Black - White pieces","South East","Get a copy of a board square by 1D array index","Description of whether the square is occupied or an …","","South West","","","","","","","","","","","","","","","","","","","","","","","","Helper function for a well-formed unplayable square","Unwrap the jumpee piece from the square and …","Check that given move trajectory is valid for a king piece ","Check that given move trajectory is valid for a man piece ","","","","","","","","","","","","","","","","Move/Jump, for use in Move","Possible outcomes of trying to move","","","","","Model board square as Empty/Occupied/Unplayable","Man/King","Black/White","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","","","","","","","","Get opposing team","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","Get next item from the iterator","Get next item from the iterator","Get next item from the iterator","","","","","","","","","","","","","","For storing boards in the AI tree, stores board with score …","Root-level structure for managing the game as a collection …","Represents a move by source/destination indices and the …","Get vector of available moves for a given board","Get best of given scores for given team","","","","","","","","","","","","","","","Expand all given nodes and return newly inserted layer of …","Insert all possible next boards as children of given board …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Generate tree of boards to given search depth, return root …","Traverse tree from given root ID and get NodeIDs of leaf …","Get a new board based on the given using MiniMax to make …","Get all possible next boards from given board","For given NodeIDs, insert score of board into tree Used …","Insert given boards into tree","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","","","","","","","","","Propagate scores up the tree employing MiniMax algorithm","Get a random board from possible node IDs and associated …","","","","","","","","","","","","","","","","","","","Root-level structure for managing the game as a collection …","","","Create computer, get move from current board and update …","","","Clear currently selected piece","","Set current board to given","Get pointer to current board’s squares","Get pointer to current board’s squares","Get square on current board for given index","Current turn’s team","","Draw current board using painter if exists","Update board state with given jump move and push new board …","Update board state with given move and push new board into …","","","Returns the argument unchanged.","","Check if a player has won","Calls U::from(self)
.","","","","Attempt to make a move given a source and destination index","Get new game without board renderer","Get a new game with canvas ID and dimensions","","","","Get a read-only copy of a previous turn’s board","","Push current board into the previous turns and set given …","","","","Current board’s score","","","Set current board to given","Set painter for rendering boards","Set proportion of perfect moves from AI","Set tree depth for AI to search to","Set given index as selected piece TODO: Check whether …","","","","","","Get currently winning player","Default hex colour value for black pieces","Default hex colour value for black piece outline","Default hex colour value for black square background","Whether to outline black squares","Whether to outline pieces","Default hex colour value for black piece outline","Line width when outlining black squares as proportion of …","Line width for outlining pieces as proportion of piece …","Proportion of square that piece fills as proportion of min …","Used to paint boards onto HTML canvases","Default hex colour value for selected piece","Default hex colour value for selected piece outline","Default hex colour value for outline of black squares","Default hex colour value for white pieces","Default hex colour value for white piece outline","Default hex colour value for white square background","","","","","","","","","Draw a board onto the canvas","","","Returns the argument unchanged.","","Get a canvas by element ID","Get a 2D canvas context for a given canvas","","Calls U::from(self)
.","","","","Default constructor which queries for canvas by ID","Constructor with given canvas element","","","","","","","Reset the canvas dimensions to the given width and height","","","","","Set whether squares are outlined","Set new line width for outlining squares","Set selected piece by board index","Set new square outline colour value","","","","","Check whether given canvas dimensions divide evenly by …","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,3,4,5,1,2,3,4,5,1,1,1,1,1,1,1,1,1,1,1,2,3,4,5,1,2,3,4,5,1,5,1,2,4,5,1,3,4,0,2,3,4,5,5,1,1,2,3,4,5,5,1,1,2,3,4,5,5,1,2,4,5,1,1,1,1,1,2,3,4,5,1,2,4,5,1,2,4,5,1,0,1,1,1,1,2,3,4,5,1,3,2,4,1,2,4,5,1,1,1,1,3,4,4,1,1,2,4,5,1,2,4,5,1,2,4,5,1,5,1,3,1,4,2,3,2,2,3,4,5,1,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,4,1,1,1,2,3,4,5,1,1,6,7,8,6,9,6,10,10,9,0,0,6,8,6,6,0,0,0,6,8,6,7,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,7,10,8,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,7,9,7,10,8,6,9,7,10,8,6,7,8,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,9,7,10,8,6,0,0,0,11,12,13,11,12,13,11,12,13,11,12,13,13,12,11,12,13,11,12,13,11,12,13,11,12,13,11,11,12,13,11,12,13,11,12,13,11,12,13,0,0,0,14,14,15,16,15,14,16,15,14,15,16,15,16,15,16,15,14,14,16,15,14,16,15,14,16,14,14,14,14,14,14,16,15,14,14,16,16,15,16,15,14,14,14,14,15,14,14,16,16,15,16,15,14,16,15,14,16,15,14,16,15,14,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,0],"f":[null,null,null,null,null,null,null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["board",3],["brdidx",3]],["option",4,[["direction",3,[["square",3]]]]]],[[["board",3],["brdidx",3]],["option",4,[["vec",3,[["usize",0]]]]]],[[["board",3],["brdidx",3],["brdidx",3]],["board",3]],[[["board",3],["brdidx",3],["brdidx",3]],["board",3]],[[["board",3],["usize",0]],["brdidx",3]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["board",3],["brdidx",3],["brdidx",3]],["moveable",4]],[[["board",3],["usize",0]],["square",3]],[[["board",3],["brdidx",3]],["usize",0]],[[["board",3],["usize",0],["usize",0]],["usize",0]],[[["board",3],["usize",0]],["square",3]],[[["board",3],["usize",0]],["squarestate",4]],[[["board",3]],["square",0]],null,[[["piece",3],["piece",3]],["bool",0]],[[["board",3],["brdidx",3]]],[[["piece",3]],["piece",3]],[[["direction",3,[["",26,[["clone",8],["clone",8],["copy",8]]]]]],["direction",3,[["",26,[["clone",8],["clone",8],["copy",8]]]]]],[[["square",3]],["square",3]],[[["brdidx",3]],["brdidx",3]],[[["board",3]],["board",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[],["direction",3,[["",26,[["clone",8],["copy",8]]]]]],[[],["square",3]],null,[[["piece",3],["piece",3]],["bool",0]],[[["direction",3,[["",26,[["partialeq",8],["clone",8],["copy",8]]]]],["direction",3]],["bool",0]],[[["square",3],["square",3]],["bool",0]],[[["brdidx",3],["brdidx",3]],["bool",0]],[[["brdidx",3],["brdidx",3]],["bool",0]],[[["board",3],["board",3]],["bool",0]],[[["board",3],["brdidx",3],["team",4],["vec",3,[["usize",0]]]],["vec",3,[["usize",0]]]],[[["piece",3],["formatter",3]],["result",6]],[[["direction",3,[["",26,[["debug",8],["clone",8],["copy",8]]]]],["formatter",3]],["result",6]],[[["square",3],["formatter",3]],["result",6]],[[["brdidx",3],["formatter",3]],["result",6]],[[["brdidx",3],["formatter",3]],["result",6]],[[["board",3],["formatter",3]],["result",6]],[[["board",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["usize",0],["usize",0]],["brdidx",3]],[[]],[[]],[[["u32",0]],["piece",3]],[[["u32",0]],["square",3]],[[["u32",0]],["brdidx",3]],[[["u32",0]],["board",3]],[[["board",3],["brdidx",3]],["square",3]],null,[[["brdidx",3],["brdidx",3]]],[[["board",3],["usize",0]],["board",3]],[[]],[[]],[[]],[[]],[[]],[[["piece",3]],["u32",0]],[[["square",3]],["u32",0]],[[["brdidx",3]],["u32",0]],[[["board",3]],["u32",0]],[[],["bool",0]],[[],["bool",0]],[[],["bool",0]],[[],["bool",0]],null,[[["board",3],["brdidx",3]],["option",4,[["direction",3,[["square",3]]]]]],[[["board",3],["brdidx",3]],["option",4,[["vec",3,[["usize",0]]]]]],[[["board",3],["brdidx",3],["brdidx",3]],["usize",0]],[[["board",3]],["usize",0]],[[["piece",3],["piece",3]],["bool",0]],[[["direction",3,[["",26,[["partialeq",8],["clone",8],["copy",8]]]]],["direction",3]],["bool",0]],[[["square",3],["square",3]],["bool",0]],[[["brdidx",3],["brdidx",3]],["bool",0]],[[["board",3],["board",3]],["bool",0]],null,[[["team",4],["strength",4]],["piece",3]],[[["squarestate",4],["option",4,[["piece",3]]]],["square",3]],[[["usize",0],["usize",0],["team",4]],["board",3]],[[]],[[]],[[]],[[]],[[["board",3]],["usize",0]],[[["board",3]],["usize",0]],[[["board",3],["team",4]],["usize",0]],null,null,[[["team",4],["strength",4]],["square",3]],[[["board",3],["brdidx",3],["team",4]],["option",4,[["vec",3,[["usize",0]]]]]],[[["board",3],["brdidx",3],["team",4]],["option",4,[["vec",3,[["usize",0]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["board",3]],["isize",0]],null,[[["board",3],["usize",0],["square",3]]],null,null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[],["square",3]],[[["square",3],["piece",3]],["moveable",4]],[[["board",3],["brdidx",3],["brdidx",3],["piece",3]],["moveable",4]],[[["board",3],["brdidx",3],["brdidx",3],["piece",3]],["moveable",4]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["movetype",4]],["movetype",4]],[[["team",4]],["team",4]],[[["strength",4]],["strength",4]],[[["squarestate",4]],["squarestate",4]],[[["moveable",4]],["moveable",4]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[]],[[["movetype",4],["movetype",4]],["bool",0]],[[["team",4],["team",4]],["bool",0]],[[["strength",4],["strength",4]],["bool",0]],[[["squarestate",4],["squarestate",4]],["bool",0]],[[["moveable",4],["moveable",4]],["bool",0]],[[["movetype",4],["formatter",3]],["result",6]],[[["team",4],["formatter",3]],["result",6]],[[["team",4],["formatter",3]],["result",6]],[[["strength",4],["formatter",3]],["result",6]],[[["squarestate",4],["formatter",3]],["result",6]],[[["squarestate",4],["formatter",3]],["result",6]],[[["moveable",4],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["u32",0]],["movetype",4]],[[["u32",0]],["team",4]],[[["u32",0]],["strength",4]],[[["u32",0]],["squarestate",4]],[[["u32",0]],["moveable",4]],[[]],[[]],[[]],[[]],[[]],[[["movetype",4]],["u32",0]],[[["team",4]],["u32",0]],[[["strength",4]],["u32",0]],[[["squarestate",4]],["u32",0]],[[["moveable",4]],["u32",0]],[[["u32",0]],["bool",0]],[[["u32",0]],["bool",0]],[[["u32",0]],["bool",0]],[[["u32",0]],["bool",0]],[[["u32",0]],["bool",0]],[[]],[[]],[[]],[[]],[[]],[[["team",4]],["team",4]],[[]],[[]],[[]],[[]],[[]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[["board",3]],["rowindexiterator",3]],[[["board",3]],["rowsquareiterator",3]],[[["board",3]],["pieceiterator",3]],[[["rowindexiterator",3]],["option",4,[["vec",3,[["usize",0]]]]]],[[["rowsquareiterator",3]],["option",4,[["vec",3,[["square",3]]]]]],[[["pieceiterator",3]],["option",4]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,[[["computer",3],["board",3]],["vec",3,[["move",3]]]],[[["board",3],["vec",3,[["isize",0]]]],["isize",0]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["board",3]],["boardnode",3]],[[["move",3]],["move",3]],[[["boardnode",3]],["boardnode",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["move",3],["move",3]],["bool",0]],[[["boardnode",3],["boardnode",3]],["bool",0]],[[["computer",3],["arena",3],["vec",3,[["nodeid",3]]]],["vec",3,[["nodeid",3]]]],[[["computer",3],["arena",3],["nodeid",3]],["vec",3,[["nodeid",3]]]],[[["move",3],["formatter",3]],["result",6]],[[["boardnode",3],["formatter",3]],["result",6]],[[["computer",3],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[["computer",3],["arena",3],["board",3]],["nodeid",3]],[[["computer",3],["arena",3],["nodeid",3]],["vec",3,[["nodeid",3]]]],[[["computer",3],["board",3]],["option",4,[["board",3]]]],[[["computer",3],["boardnode",3]],["vec",3,[["boardnode",3]]]],[[["computer",3],["arena",3],["vec",3,[["nodeid",3]]]]],[[["computer",3],["arena",3],["vec",3,[["boardnode",3]]]],["vec",3,[["nodeid",3]]]],[[]],[[]],[[]],null,null,[[["move",3],["move",3]],["bool",0]],[[["boardnode",3],["boardnode",3]],["bool",0]],[[["brdidx",3],["brdidx",3],["movetype",4]],["move",3]],[[["board",3],["isize",0]],["boardnode",3]],[[["usize",0],["team",4],["f64",0]],["computer",3]],null,[[["arena",3,[["boardnode",3]]],["nodeid",3]],["arena",3,[["boardnode",3]]]],[[["arena",3],["vec",3,[["nodeid",3]]],["threadrng",3]],["board",3]],null,null,null,null,[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,[[["game",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["game",3]]],null,[[["game",3]],["board",3]],[[["game",3]],["square",0]],[[["game",3]],["usize",0]],[[["game",3],["brdidx",3]],["square",3]],[[["game",3]],["team",4]],[[]],[[["game",3]]],[[["game",3],["brdidx",3],["brdidx",3]]],[[["game",3],["brdidx",3],["brdidx",3]]],[[["game",3],["formatter",3]],["result",6]],[[["game",3],["formatter",3]],["result",6]],[[]],[[["u32",0]],["game",3]],[[["game",3]],["option",4,[["team",4]]]],[[]],[[["game",3]],["u32",0]],[[],["bool",0]],null,[[["game",3],["brdidx",3],["brdidx",3]],["moveable",4]],[[["usize",0],["usize",0],["usize",0],["team",4],["usize",0]],["game",3]],[[["usize",0],["usize",0],["usize",0],["team",4],["usize",0],["str",0],["u32",0],["u32",0]],["game",3]],[[]],null,null,[[["game",3],["usize",0]],["board",3]],null,[[["game",3],["board",3]]],[[]],[[]],[[]],[[["game",3]],["isize",0]],null,null,[[["game",3],["board",3]]],[[["game",3],["painter",3]]],[[["game",3],["f64",0]]],[[["game",3],["usize",0]]],[[["game",3],["brdidx",3]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["game",3]],["option",4,[["team",4]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["painter",3],["board",3]]],null,[[["painter",3],["formatter",3]],["result",6]],[[]],[[["u32",0]],["painter",3]],[[["str",0]],["htmlcanvaselement",3]],[[["htmlcanvaselement",3]],["canvasrenderingcontext2d",3]],null,[[]],[[["painter",3]],["u32",0]],[[],["bool",0]],null,[[["u32",0],["u32",0],["str",0]],["painter",3]],[[["u32",0],["u32",0],["htmlcanvaselement",3]],["painter",3]],[[]],null,null,null,[[]],[[]],[[["painter",3]]],[[]],null,null,null,[[["painter",3],["bool",0]]],[[["painter",3],["f64",0]]],[[["painter",3],["option",4]]],[[["painter",3],["jsvalue",3]]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["painter",3],["board",3]],["bool",0]],[[]],null,null,null,null,[[]]],"p":[[3,"Board"],[3,"Piece"],[3,"Direction"],[3,"Square"],[3,"BrdIdx"],[4,"Moveable"],[4,"Team"],[4,"SquareState"],[4,"MoveType"],[4,"Strength"],[3,"RowIndexIterator"],[3,"RowSquareIterator"],[3,"PieceIterator"],[3,"Computer"],[3,"BoardNode"],[3,"Move"],[3,"Game"],[3,"Painter"]]}\
}');
if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};