├── .gitignore ├── src ├── interface │ ├── mod.rs │ ├── input │ │ ├── mod.rs │ │ ├── interface.rs │ │ └── string.rs │ └── output │ │ ├── mod.rs │ │ ├── interface.rs │ │ └── string.rs ├── input.rs ├── game │ ├── display │ │ ├── mod.rs │ │ ├── helper.rs │ │ ├── config.rs │ │ ├── header.rs │ │ ├── board.rs │ │ └── menu.rs │ ├── mod.rs │ ├── random.rs │ ├── sound.rs │ ├── board.rs │ ├── board_move.rs │ └── main.rs └── main.rs ├── 2048.png ├── 2048.zip ├── resources ├── 2048.ico ├── bump.wav ├── lose.wav ├── menu.wav ├── move.wav ├── win.wav └── start.ogg ├── Cargo.toml ├── README.md ├── Task.org └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | -------------------------------------------------------------------------------- /src/interface/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod input; 2 | pub mod output; 3 | -------------------------------------------------------------------------------- /src/interface/input/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod interface; 2 | pub mod string; 3 | -------------------------------------------------------------------------------- /src/interface/output/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod interface; 2 | pub mod string; 3 | -------------------------------------------------------------------------------- /2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/2048.png -------------------------------------------------------------------------------- /2048.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/2048.zip -------------------------------------------------------------------------------- /resources/2048.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/2048.ico -------------------------------------------------------------------------------- /resources/bump.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/bump.wav -------------------------------------------------------------------------------- /resources/lose.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/lose.wav -------------------------------------------------------------------------------- /resources/menu.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/menu.wav -------------------------------------------------------------------------------- /resources/move.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/move.wav -------------------------------------------------------------------------------- /resources/win.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/win.wav -------------------------------------------------------------------------------- /resources/start.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvinmatias69/simple-2048/HEAD/resources/start.ogg -------------------------------------------------------------------------------- /src/input.rs: -------------------------------------------------------------------------------- 1 | #[derive(Debug)] 2 | pub enum Input { 3 | Up, 4 | Down, 5 | Left, 6 | Right, 7 | } 8 | -------------------------------------------------------------------------------- /src/interface/output/interface.rs: -------------------------------------------------------------------------------- 1 | pub trait OutputInterface { 2 | fn show(&self, list: &Vec>); 3 | } 4 | -------------------------------------------------------------------------------- /src/game/display/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod board; 2 | pub mod config; 3 | pub mod header; 4 | pub mod helper; 5 | pub mod menu; 6 | -------------------------------------------------------------------------------- /src/game/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod board; 2 | pub mod board_move; 3 | pub mod display; 4 | pub mod main; 5 | pub mod random; 6 | pub mod sound; 7 | -------------------------------------------------------------------------------- /src/interface/input/interface.rs: -------------------------------------------------------------------------------- 1 | use crate::input::Input; 2 | 3 | pub trait InputInterface { 4 | fn get_user_input(&self) -> Input; 5 | } 6 | -------------------------------------------------------------------------------- /src/game/random.rs: -------------------------------------------------------------------------------- 1 | use rand::Rng; 2 | 3 | pub fn between(start: u32, end: u32) -> u32 { 4 | let mut rng = rand::thread_rng(); 5 | 6 | let result = rng.gen_range(start, end); 7 | result 8 | } 9 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "simple-2048" 3 | version = "0.1.0" 4 | authors = ["Matias Alvin "] 5 | edition = "2018" 6 | 7 | [dependencies] 8 | rand = "0.6.5" 9 | ggez = "0.5.0-rc.2" 10 | -------------------------------------------------------------------------------- /src/interface/output/string.rs: -------------------------------------------------------------------------------- 1 | use super::interface::OutputInterface; 2 | 3 | pub struct OutputString {} 4 | 5 | impl OutputInterface for OutputString { 6 | fn show(&self, list: &Vec>) { 7 | for row in list.iter() { 8 | for item in row.iter() { 9 | print!("[{}] ", item); 10 | } 11 | println!(""); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | extern crate rand; 2 | 3 | mod game; 4 | mod input; 5 | mod interface; 6 | 7 | // Debug mode only 8 | // 9 | // use self::input_interface::InputInterface; 10 | // use self::input_string::InputString; 11 | // use self::interface::input::{interface as input_interface, string as input_string}; 12 | 13 | // use self::interface::output::{interface as output_interface, string as output_string}; 14 | // use self::output_interface::OutputInterface; 15 | // use self::output_string::OutputString; 16 | 17 | use self::game::main::Game; 18 | 19 | fn main() { 20 | let mut game = Game::new(4, 4); 21 | game.start(); 22 | 23 | // Debug mode only 24 | // 25 | // let input = InputString {}; 26 | // let output = OutputString {}; 27 | 28 | // game.start_debug(input, output); 29 | } 30 | -------------------------------------------------------------------------------- /src/game/sound.rs: -------------------------------------------------------------------------------- 1 | use audio::SoundSource; 2 | use ggez::{audio, Context, GameResult}; 3 | 4 | pub enum SoundType { 5 | Start, 6 | Win, 7 | Lose, 8 | Move, 9 | UnableToMove, 10 | Menu, 11 | } 12 | 13 | pub fn play(ctx: &mut Context, sound_type: SoundType) -> GameResult { 14 | let path: String; 15 | match sound_type { 16 | SoundType::Start => path = String::from("/start.ogg"), 17 | SoundType::Move => path = String::from("/move.wav"), 18 | SoundType::Menu => path = String::from("/menu.wav"), 19 | SoundType::Win => path = String::from("/win.wav"), 20 | SoundType::Lose => path = String::from("/lose.wav"), 21 | SoundType::UnableToMove => path = String::from("/bump.wav"), 22 | } 23 | 24 | let mut sound = audio::Source::new(ctx, path)?; 25 | sound.play_detached()?; 26 | Ok(()) 27 | } 28 | -------------------------------------------------------------------------------- /src/interface/input/string.rs: -------------------------------------------------------------------------------- 1 | use std::io; 2 | 3 | use super::interface::InputInterface; 4 | use crate::input::Input; 5 | 6 | pub struct InputString {} 7 | 8 | impl InputInterface for InputString { 9 | fn get_user_input(&self) -> Input { 10 | let mut input = String::new(); 11 | 12 | match io::stdin().read_line(&mut input) { 13 | Ok(_) => { 14 | input = input.trim().to_string(); 15 | if input == "up" { 16 | return Input::Up; 17 | } else if input == "down" { 18 | return Input::Down; 19 | } else if input == "left" { 20 | return Input::Left; 21 | } else if input == "right" { 22 | return Input::Right; 23 | } 24 | } 25 | Err(error) => println!("error: {}", error), 26 | } 27 | 28 | Input::Up 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 2048 2 | ![gameplay](2048.png) 3 | 4 | A simple 2048 game implemented using [ggez](https://ggez.rs/). 5 | 6 | ## How To Play 7 | Download compiled [binary](2048.zip), then extract it. 8 | ```sh 9 | $ unzip 2048.zip 10 | ``` 11 | 12 | Simply run the binary. 13 | ```sh 14 | $ ./simple-2048 15 | ``` 16 | 17 | ## Build From Source 18 | Make sure you have [rust](https://www.rust-lang.org/) 1.3.4 installed on your system. 19 | 20 | Clone this repository 21 | ```sh 22 | $ git clone https://github.com/alvinmatias69/simple-2048.git 23 | $ cd simple-2048 24 | ``` 25 | 26 | Compile the project using release configuration 27 | ```sh 28 | $ cargo build --release 29 | ``` 30 | 31 | Copy project resources to target directory (unfortunately this method can't be automated yet) 32 | ```sh 33 | $ cp resources/*.* target/release/resources 34 | ``` 35 | 36 | Execute the binary 37 | ```sh 38 | $ ./target/release/simple-2048 39 | ``` 40 | 41 | ## Keybinding List 42 | * Start a new game: ctrl + n 43 | * Navigate Up: w / k / 44 | * Navigate Down: s / j / 45 | * Navigate Left: a / h / 46 | * Navigate Right: d / l / 47 | * Exit: ctrl + q 48 | -------------------------------------------------------------------------------- /src/game/display/helper.rs: -------------------------------------------------------------------------------- 1 | use ggez::{graphics, nalgebra, Context, GameResult}; 2 | use graphics::Color; 3 | use nalgebra::Point2; 4 | 5 | pub fn draw_rounded_rectangle( 6 | ctx: &mut Context, 7 | position: (f32, f32), 8 | width: f32, 9 | height: f32, 10 | radius: f32, 11 | color: Color, 12 | ) -> GameResult { 13 | let mode = graphics::DrawMode::fill(); 14 | let rounded_rectangle = graphics::MeshBuilder::new() 15 | .rectangle( 16 | mode, 17 | graphics::Rect::new(radius, 0., width - 2. * radius, height), 18 | color, 19 | ) 20 | .rectangle( 21 | mode, 22 | graphics::Rect::new(0., radius, width, height - 2. * radius), 23 | color, 24 | ) 25 | .circle(mode, Point2::new(radius, radius), radius, 0.01, color) 26 | .circle( 27 | mode, 28 | Point2::new(width - radius, radius), 29 | radius, 30 | 0.01, 31 | color, 32 | ) 33 | .circle( 34 | mode, 35 | Point2::new(radius, height - radius), 36 | radius, 37 | 0.01, 38 | color, 39 | ) 40 | .circle( 41 | mode, 42 | Point2::new(width - radius, height - radius), 43 | radius, 44 | 0.01, 45 | color, 46 | ) 47 | .build(ctx)?; 48 | 49 | graphics::draw( 50 | ctx, 51 | &rounded_rectangle, 52 | graphics::DrawParam::default().dest(Point2::new(position.0, position.1)), 53 | )?; 54 | 55 | Ok(()) 56 | } 57 | -------------------------------------------------------------------------------- /Task.org: -------------------------------------------------------------------------------- 1 | * 2048 Task List 2 | List of things that should be done on this project. 3 | ** Main 4 | Features that should've been implemented on this project. 5 | *** Core 6 | **** DONE Scoring system 7 | CLOSED: [2019-05-22 Rab 23:43] 8 | **** DONE No move condition 9 | CLOSED: [2019-05-23 Kam 00:23] 10 | **** DONE Win condition 11 | CLOSED: [2019-05-26 Min 12:53] 12 | **** DONE Lose condition 13 | CLOSED: [2019-05-26 Min 16:59] 14 | **** DONE Reset feature 15 | CLOSED: [2019-05-26 Min 12:23] 16 | *** Visual 17 | **** DONE Game Board 18 | CLOSED: [2019-05-22 Rab 21:20] 19 | **** DONE Reusable rounded rectangle 20 | CLOSED: [2019-05-26 Min 20:08] 21 | **** DONE Efficient redrawing (Reduce redraw a static component) 22 | CLOSED: [2019-05-23 Kam 00:25] 23 | ** Additional 24 | Good to have feature 25 | *** Core 26 | **** TODO High score 27 | **** DONE Continue game after win 28 | CLOSED: [2019-05-26 Min 18:48] 29 | **** TODO Save / load game state 30 | *** Visual 31 | **** TODO Animated movement 32 | **** TODO Dynamic board dimension 33 | **** TODO Dialogue [2/4] [50%] 34 | - [ ] On exit 35 | - [X] On win 36 | - [ ] On reset 37 | - [X] On lose 38 | **** TODO Fix resources [0/3] [0%] 39 | - [ ] Fonts 40 | - [ ] Icon 41 | - [ ] Sound 42 | **** TODO Add sound effects [4/5] [80%] 43 | - [X] slide 44 | - [X] unable to slide 45 | - [X] win 46 | - [X] lose 47 | - [ ] big number 48 | *** Etc 49 | **** TODO README files [3/4] [75%] 50 | - [X] Manual 51 | - [X] Screenshot 52 | - [ ] Gameplay (gif/video) 53 | - [X] Downloadable binary 54 | 55 | -------------------------------------------------------------------------------- /src/game/display/config.rs: -------------------------------------------------------------------------------- 1 | pub const MARGIN: f32 = 25.0; 2 | pub const WINDOW_HEIGHT: f32 = BOARD_SIZE + MARGIN * 3. + TITLE_SIZE + SUBTITLE_SIZE; 3 | pub const WINDOW_WIDTH: f32 = 400.0; 4 | 5 | pub const TITLE_POSITION: (f32, f32) = (MARGIN, MARGIN); 6 | pub const TITLE_SIZE: f32 = 50.0; 7 | 8 | pub const SUBTITLE_POSITION: (f32, f32) = (MARGIN, MARGIN + TITLE_SIZE); 9 | pub const SUBTITLE_SIZE: f32 = 13.0; 10 | 11 | pub const SCOREBOARD_WIDTH: f32 = 95.0; 12 | pub const SCOREBOARD_HEIGHT: f32 = 50.0; 13 | pub const SCOREBOARD_POSITION: (f32, f32) = (WINDOW_WIDTH - SCOREBOARD_WIDTH - MARGIN, MARGIN); 14 | 15 | pub const SCORE_MARGIN: f32 = 5.0; 16 | pub const SCORE_BOUNDING: (f32, f32) = ( 17 | SCOREBOARD_WIDTH - 2. * SCORE_MARGIN, 18 | (SCOREBOARD_HEIGHT - SCORE_MARGIN * 3.) / 2., 19 | ); 20 | 21 | pub const SCORE_TITLE_POSITION: (f32, f32) = ( 22 | SCOREBOARD_POSITION.0 + SCORE_MARGIN, 23 | SCOREBOARD_POSITION.1 + SCORE_MARGIN, 24 | ); 25 | pub const SCORE_TITLE_SIZE: f32 = 15.0; 26 | 27 | pub const SCORE_POSITION: (f32, f32) = ( 28 | SCORE_TITLE_POSITION.0, 29 | SCORE_BOUNDING.1 + SCORE_TITLE_POSITION.1, 30 | ); 31 | pub const SCORE_SIZE: f32 = 25.0; 32 | 33 | pub const BOARD_POSITION: (f32, f32) = (MARGIN, SUBTITLE_POSITION.1 + MARGIN); 34 | pub const BOARD_SIZE: f32 = WINDOW_WIDTH - 2. * MARGIN; 35 | pub const TILE_MARGIN: f32 = 10.0; 36 | pub const TILE_SIZE: f32 = (BOARD_SIZE - 5. * TILE_MARGIN) / 4.; 37 | pub const TILE_RADIUS: f32 = TILE_SIZE / 8.; 38 | 39 | pub const MENU_BUTTON_TEXT: f32 = TITLE_SIZE / 2.; 40 | pub const MENU_BUTTON_SIZE: (f32, f32) = (WINDOW_WIDTH / 3., MENU_BUTTON_TEXT + MARGIN); 41 | pub const MENU_BUTTON_POSITION: (f32, f32) = (WINDOW_WIDTH / 3., WINDOW_HEIGHT / 3. + 3. * MARGIN); 42 | -------------------------------------------------------------------------------- /src/game/display/header.rs: -------------------------------------------------------------------------------- 1 | use super::{config, helper}; 2 | use ggez::nalgebra::Point2; 3 | use ggez::{graphics, Context, GameResult}; 4 | use graphics::{draw, Color, DrawParam, Scale, Text, TextFragment}; 5 | 6 | pub fn draw_title(ctx: &mut Context) -> GameResult { 7 | let text_fragment = TextFragment::new("2048") 8 | .color(Color::from_rgb(97, 101, 102)) 9 | .scale(Scale::uniform(config::TITLE_SIZE)); 10 | let text = Text::new(text_fragment); 11 | 12 | let (x, y) = config::TITLE_POSITION; 13 | draw(ctx, &text, DrawParam::default().dest(Point2::new(x, y)))?; 14 | 15 | Ok(()) 16 | } 17 | 18 | pub fn draw_subtitle(ctx: &mut Context) -> GameResult { 19 | let text_fragment = TextFragment::new("Join the number and get to the 2048 tile!") 20 | .color(Color::from_rgb(97, 101, 102)) 21 | .scale(Scale::uniform(config::SUBTITLE_SIZE)); 22 | let text = Text::new(text_fragment); 23 | 24 | let (x, y) = config::SUBTITLE_POSITION; 25 | draw(ctx, &text, DrawParam::default().dest(Point2::new(x, y)))?; 26 | 27 | Ok(()) 28 | } 29 | 30 | pub fn draw_score(ctx: &mut Context, score: u32) -> GameResult { 31 | helper::draw_rounded_rectangle( 32 | ctx, 33 | config::SCOREBOARD_POSITION, 34 | config::SCOREBOARD_WIDTH, 35 | config::SCOREBOARD_HEIGHT, 36 | config::TILE_RADIUS, 37 | Color::from_rgb(187, 173, 160), 38 | )?; 39 | 40 | draw_score_title(ctx)?; 41 | draw_score_points(ctx, score)?; 42 | 43 | Ok(()) 44 | } 45 | 46 | fn draw_score_title(ctx: &mut Context) -> GameResult { 47 | let text_fragment = TextFragment::new("Score") 48 | .color(Color::from_rgb(173, 166, 158)) 49 | .scale(Scale::uniform(config::SCORE_TITLE_SIZE)); 50 | let mut text = Text::new(text_fragment); 51 | text.set_bounds( 52 | Point2::new(config::SCORE_BOUNDING.0, config::SCORE_BOUNDING.1), 53 | graphics::Align::Center, 54 | ); 55 | 56 | draw( 57 | ctx, 58 | &text, 59 | DrawParam::default().dest(Point2::new( 60 | config::SCORE_TITLE_POSITION.0, 61 | config::SCORE_TITLE_POSITION.1, 62 | )), 63 | )?; 64 | 65 | Ok(()) 66 | } 67 | 68 | fn draw_score_points(ctx: &mut Context, score: u32) -> GameResult { 69 | let text_fragment = TextFragment::new(score.to_string()) 70 | .color(graphics::WHITE) 71 | .scale(Scale::uniform(config::SCORE_SIZE)); 72 | let mut text = Text::new(text_fragment); 73 | text.set_bounds( 74 | Point2::new(config::SCORE_BOUNDING.0, config::SCORE_BOUNDING.1), 75 | graphics::Align::Center, 76 | ); 77 | 78 | draw( 79 | ctx, 80 | &text, 81 | DrawParam::default().dest(Point2::new( 82 | config::SCORE_POSITION.0, 83 | config::SCORE_POSITION.1, 84 | )), 85 | )?; 86 | 87 | Ok(()) 88 | } 89 | -------------------------------------------------------------------------------- /src/game/display/board.rs: -------------------------------------------------------------------------------- 1 | use super::{config, helper}; 2 | use ggez::graphics; 3 | use ggez::nalgebra::Point2; 4 | use ggez::{Context, GameResult}; 5 | use graphics::{Mesh, Text, TextFragment}; 6 | 7 | pub fn draw_board(ctx: &mut Context) -> GameResult { 8 | helper::draw_rounded_rectangle( 9 | ctx, 10 | config::BOARD_POSITION, 11 | config::BOARD_SIZE, 12 | config::BOARD_SIZE, 13 | config::TILE_RADIUS, 14 | graphics::Color::from_rgb(187, 173, 160), 15 | )?; 16 | 17 | Ok(()) 18 | } 19 | 20 | pub fn draw_tiles(ctx: &mut Context, field: &Vec>) -> GameResult { 21 | for (y_idx, y) in field.iter().enumerate() { 22 | let y_pos = config::BOARD_POSITION.1 23 | + config::TILE_MARGIN 24 | + y_idx as f32 * (config::TILE_MARGIN + config::TILE_SIZE); 25 | for (x_idx, x) in y.iter().enumerate() { 26 | let x_pos = config::BOARD_POSITION.0 27 | + config::TILE_MARGIN 28 | + x_idx as f32 * (config::TILE_MARGIN + config::TILE_SIZE); 29 | draw_tile(ctx, (x_pos, y_pos), *x)?; 30 | } 31 | } 32 | 33 | Ok(()) 34 | } 35 | 36 | fn draw_tile(ctx: &mut Context, position: (f32, f32), value: u32) -> GameResult { 37 | let (x, y) = position; 38 | 39 | helper::draw_rounded_rectangle( 40 | ctx, 41 | position, 42 | config::TILE_SIZE, 43 | config::TILE_SIZE, 44 | config::TILE_RADIUS, 45 | tile_color(value), 46 | )?; 47 | 48 | if value > 0 { 49 | let text_fragment = TextFragment::new(value.to_string()) 50 | .color(graphics::Color::from_rgb(173, 143, 135)) 51 | .scale(graphics::Scale::uniform(config::TILE_SIZE / 2.)); 52 | let mut text = Text::new(text_fragment); 53 | text.set_bounds( 54 | Point2::new(config::TILE_SIZE, config::TILE_SIZE), 55 | graphics::Align::Center, 56 | ); 57 | 58 | graphics::draw( 59 | ctx, 60 | &text, 61 | graphics::DrawParam::default().dest(Point2::new(x, y + config::TILE_SIZE / 4.)), 62 | )?; 63 | } 64 | Ok(()) 65 | } 66 | 67 | fn tile_color(value: u32) -> graphics::Color { 68 | let rgb: Vec; 69 | 70 | match value { 71 | 2 => rgb = vec![238, 236, 187], 72 | 4 => rgb = vec![241, 229, 179], 73 | 8 => rgb = vec![244, 210, 172], 74 | 16 => rgb = vec![242, 192, 165], 75 | 32 => rgb = vec![236, 183, 167], 76 | 64 => rgb = vec![238, 183, 180], 77 | 128 => rgb = vec![237, 183, 196], 78 | 256 => rgb = vec![236, 184, 207], 79 | 512 => rgb = vec![217, 178, 207], 80 | 1024 => rgb = vec![197, 173, 207], 81 | 2048 => rgb = vec![175, 167, 206], 82 | _ => rgb = vec![205, 193, 181], 83 | } 84 | 85 | graphics::Color::from_rgb(rgb[0], rgb[1], rgb[2]) 86 | } 87 | -------------------------------------------------------------------------------- /src/game/display/menu.rs: -------------------------------------------------------------------------------- 1 | use super::{config, helper}; 2 | 3 | use ggez::nalgebra::Point2; 4 | use ggez::{graphics, input, Context, GameResult}; 5 | use graphics::{Mesh, Text, TextFragment}; 6 | use input::mouse; 7 | 8 | pub fn draw(ctx: &mut Context, win: bool) -> GameResult { 9 | let color: graphics::Color; 10 | if win { 11 | color = graphics::Color::from_rgba(255, 204, 0, 100); 12 | } else { 13 | color = graphics::Color::from_rgba(128, 128, 128, 100); 14 | } 15 | 16 | let rect = Mesh::new_rectangle( 17 | ctx, 18 | graphics::DrawMode::fill(), 19 | graphics::Rect::new(0., 0., config::WINDOW_WIDTH, config::WINDOW_HEIGHT), 20 | color, 21 | )?; 22 | graphics::draw(ctx, &rect, graphics::DrawParam::default())?; 23 | 24 | draw_text(ctx, win)?; 25 | draw_button(ctx, win)?; 26 | setup_mouse(ctx)?; 27 | 28 | Ok(()) 29 | } 30 | 31 | fn draw_text(ctx: &mut Context, win: bool) -> GameResult { 32 | let content: String; 33 | if win { 34 | content = String::from("YOU WIN"); 35 | } else { 36 | content = String::from("GAME OVER"); 37 | } 38 | 39 | let text_fragment = TextFragment::new(content) 40 | .color(graphics::Color::from_rgb(255, 255, 255)) 41 | .scale(graphics::Scale::uniform(config::TITLE_SIZE)); 42 | let mut text = Text::new(text_fragment); 43 | text.set_bounds( 44 | Point2::new(config::WINDOW_WIDTH, config::WINDOW_HEIGHT), 45 | graphics::Align::Center, 46 | ); 47 | 48 | graphics::draw( 49 | ctx, 50 | &text, 51 | graphics::DrawParam::default().dest(Point2::new(0.0, config::WINDOW_HEIGHT / 3.)), 52 | )?; 53 | 54 | Ok(()) 55 | } 56 | 57 | fn draw_button(ctx: &mut Context, win: bool) -> GameResult { 58 | helper::draw_rounded_rectangle( 59 | ctx, 60 | config::MENU_BUTTON_POSITION, 61 | config::MENU_BUTTON_SIZE.0, 62 | config::MENU_BUTTON_SIZE.1, 63 | config::TILE_RADIUS, 64 | graphics::Color::from_rgb(143, 122, 102), 65 | )?; 66 | 67 | draw_button_text(ctx, win)?; 68 | Ok(()) 69 | } 70 | 71 | fn draw_button_text(ctx: &mut Context, win: bool) -> GameResult { 72 | let content: String; 73 | if win { 74 | content = String::from("Keep going"); 75 | } else { 76 | content = String::from("Try again"); 77 | } 78 | 79 | let text_fragment = TextFragment::new(content) 80 | .color(graphics::Color::from_rgb(255, 255, 255)) 81 | .scale(graphics::Scale::uniform(config::MENU_BUTTON_TEXT)); 82 | let mut text = Text::new(text_fragment); 83 | text.set_bounds( 84 | Point2::new(config::MENU_BUTTON_SIZE.0, config::MENU_BUTTON_SIZE.1), 85 | graphics::Align::Center, 86 | ); 87 | 88 | graphics::draw( 89 | ctx, 90 | &text, 91 | graphics::DrawParam::default().dest(Point2::new( 92 | config::MENU_BUTTON_POSITION.0, 93 | config::MENU_BUTTON_POSITION.1 + config::MARGIN * 0.5, 94 | )), 95 | )?; 96 | 97 | Ok(()) 98 | } 99 | 100 | fn setup_mouse(ctx: &mut Context) -> GameResult { 101 | mouse::set_position( 102 | ctx, 103 | Point2::new( 104 | config::MENU_BUTTON_POSITION.0 + config::MENU_BUTTON_SIZE.0 / 2., 105 | config::MENU_BUTTON_POSITION.1 + config::MENU_BUTTON_SIZE.1 / 2., 106 | ), 107 | )?; 108 | mouse::set_cursor_type(ctx, mouse::MouseCursor::Hand); 109 | mouse::set_cursor_hidden(ctx, false); 110 | 111 | Ok(()) 112 | } 113 | -------------------------------------------------------------------------------- /src/game/board.rs: -------------------------------------------------------------------------------- 1 | use super::board_move::BoardMove; 2 | use super::random; 3 | use crate::input::Input; 4 | 5 | pub struct Board { 6 | pub field: Vec>, 7 | pub score: u32, 8 | width: usize, 9 | height: usize, 10 | empty: Vec<(usize, usize)>, 11 | pub highest_tile: u32, 12 | } 13 | 14 | pub trait BoardInterface { 15 | fn new(width: u32, height: u32) -> Self; 16 | fn is_finished(&self) -> bool; 17 | fn move_to(&mut self, direction: Input) -> bool; 18 | } 19 | 20 | impl BoardInterface for Board { 21 | fn new(width: u32, height: u32) -> Self { 22 | let column = vec![0; width as usize]; 23 | let field = vec![column; height as usize]; 24 | 25 | let mut empty: Vec<(usize, usize)> = Vec::with_capacity((width * height) as usize); 26 | for y in 0..height { 27 | for x in 0..width { 28 | empty.push((y as usize, x as usize)); 29 | } 30 | } 31 | 32 | let mut board = Board { 33 | field, 34 | score: 0, 35 | empty, 36 | width: width as usize, 37 | height: height as usize, 38 | highest_tile: 0, 39 | }; 40 | 41 | board.spawn_random_number(); 42 | board 43 | } 44 | 45 | fn is_finished(&self) -> bool { 46 | self.empty.is_empty() && !self.find_pair() 47 | } 48 | 49 | fn move_to(&mut self, direction: Input) -> bool { 50 | let mut field: Vec> = Vec::with_capacity(self.height); 51 | for y in 0..self.height { 52 | let mut row: Vec = Vec::with_capacity(self.width); 53 | for x in 0..self.width { 54 | row.push(self.field[y][x]); 55 | } 56 | field.push(row); 57 | } 58 | 59 | let mut board_move = BoardMove::new(field, direction); 60 | match board_move.moved() { 61 | Ok(field) => { 62 | self.field = field; 63 | self.score += board_move.score; 64 | self.update_empty(); 65 | self.spawn_random_number(); 66 | if board_move.highest_tile > self.highest_tile { 67 | self.highest_tile = board_move.highest_tile; 68 | } 69 | true 70 | } 71 | Err(_) => false, 72 | } 73 | } 74 | } 75 | 76 | impl Board { 77 | fn spawn_random_number(&mut self) { 78 | let empty: usize; 79 | if self.empty.len() > 2 { 80 | empty = 2; 81 | } else { 82 | empty = self.empty.len(); 83 | } 84 | 85 | for _ in 0..empty { 86 | let index = random::between(0, self.empty.len() as u32); 87 | let (y, x) = self.empty[index as usize]; 88 | self.field[y][x] = 2; 89 | self.empty.remove(index as usize); 90 | } 91 | } 92 | 93 | fn update_empty(&mut self) { 94 | let mut empty: Vec<(usize, usize)> = Vec::new(); 95 | for y in 0..self.height { 96 | for x in 0..self.width { 97 | if self.field[y][x] == 0 { 98 | empty.push((y, x)); 99 | } 100 | } 101 | } 102 | self.empty = empty; 103 | } 104 | 105 | fn find_pair(&self) -> bool { 106 | let mut y: usize = 0; 107 | let mut found = false; 108 | 109 | while !found && y < self.height { 110 | let mut x: usize = 0; 111 | while !found && x < self.width { 112 | found = self.check_pair(x, y); 113 | x += 1; 114 | } 115 | y += 1; 116 | } 117 | found 118 | } 119 | 120 | fn check_pair(&self, x: usize, y: usize) -> bool { 121 | let value = self.field[y][x]; 122 | let combination: [i32; 3] = [-1, 0, 1]; 123 | let mut found: bool = false; 124 | 125 | let mut y_idx: usize = 0; 126 | while !found && y_idx < 3 { 127 | let mut x_idx: usize = 0; 128 | let cur_y = y as i32 + combination[y_idx]; 129 | if cur_y >= 0 && cur_y < self.height as i32 { 130 | while !found && x_idx < 3 { 131 | let cur_x = x as i32 + combination[x_idx]; 132 | if cur_x >= 0 133 | && cur_x < self.width as i32 134 | && (x_idx == 1 || y_idx == 1) 135 | && !(cur_x == x as i32 && cur_y == y as i32) 136 | { 137 | found = value == self.field[cur_y as usize][cur_x as usize]; 138 | } 139 | x_idx += 1; 140 | } 141 | } 142 | y_idx += 1; 143 | } 144 | 145 | found 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /src/game/board_move.rs: -------------------------------------------------------------------------------- 1 | use crate::input::Input; 2 | 3 | pub struct BoardMove { 4 | field: Vec>, 5 | direction: Input, 6 | width: usize, 7 | height: usize, 8 | pub score: u32, 9 | pub highest_tile: u32, 10 | } 11 | 12 | impl BoardMove { 13 | pub fn new(field: Vec>, direction: Input) -> BoardMove { 14 | let height = field.len(); 15 | let width = field[0].len(); 16 | let board_move = BoardMove { 17 | field, 18 | direction, 19 | height, 20 | width, 21 | score: 0, 22 | highest_tile: 0, 23 | }; 24 | board_move 25 | } 26 | 27 | pub fn moved(&mut self) -> Result>, &'static str> { 28 | let y_list: Vec; 29 | let x_list: Vec; 30 | 31 | match self.direction { 32 | Input::Up => { 33 | y_list = (0..self.width).collect(); 34 | x_list = (0..self.height).collect(); 35 | } 36 | Input::Down => { 37 | y_list = (0..self.width).collect(); 38 | x_list = (0..self.height).rev().collect(); 39 | } 40 | Input::Left => { 41 | y_list = (0..self.height).collect(); 42 | x_list = (0..self.width).collect(); 43 | } 44 | Input::Right => { 45 | y_list = (0..self.height).collect(); 46 | x_list = (0..self.width).rev().collect(); 47 | } 48 | } 49 | 50 | if self.process_move(y_list, x_list) { 51 | Ok(self.clone_field()) 52 | } else { 53 | Err("No tile moved") 54 | } 55 | } 56 | 57 | fn clone_field(&self) -> Vec> { 58 | let mut field: Vec> = Vec::with_capacity(self.height); 59 | for y in 0..self.height { 60 | let mut row: Vec = Vec::with_capacity(self.width); 61 | for x in 0..self.width { 62 | row.push(self.field[y][x]); 63 | } 64 | field.push(row); 65 | } 66 | field 67 | } 68 | 69 | fn process_move(&mut self, y_list: Vec, x_list: Vec) -> bool { 70 | let mut moved = false; 71 | for y in y_list.iter() { 72 | let mut added_list: Vec = vec![false; self.width + self.height]; 73 | for x in x_list.iter() { 74 | let mut index: i32 = self.get_index(*x); 75 | let mut stop = false; 76 | let mut added = false; 77 | let mut value = self.get_current(*y, *x); 78 | let mut position = *x; 79 | 80 | while !stop && self.get_condition(index) { 81 | let current = self.get_current(*y, index as usize); 82 | if current == 0 { 83 | position = index as usize; 84 | } else if current == value && !added && !added_list[index as usize] { 85 | added = true; 86 | value *= 2; 87 | if value > self.highest_tile { 88 | self.highest_tile = value; 89 | } 90 | position = index as usize; 91 | self.score += value; 92 | } else { 93 | stop = true; 94 | } 95 | 96 | index = self.get_next_index(index); 97 | } 98 | 99 | if position != *x && value != 0 { 100 | moved = true; 101 | added_list[position] = added; 102 | self.set_value(*y, position, value); 103 | self.set_value(*y, *x, 0); 104 | } 105 | } 106 | } 107 | moved 108 | } 109 | 110 | fn get_index(&self, x: usize) -> i32 { 111 | match self.direction { 112 | Input::Left => return x as i32 - 1, 113 | Input::Right => return x as i32 + 1, 114 | Input::Up => return x as i32 - 1, 115 | Input::Down => return x as i32 + 1, 116 | } 117 | } 118 | 119 | fn get_current(&self, y: usize, x: usize) -> u32 { 120 | match self.direction { 121 | Input::Left => return self.field[y][x], 122 | Input::Right => return self.field[y][x], 123 | Input::Up => return self.field[x][y], 124 | Input::Down => return self.field[x][y], 125 | } 126 | } 127 | 128 | fn get_condition(&self, index: i32) -> bool { 129 | match self.direction { 130 | Input::Left => return index >= 0, 131 | Input::Right => return index < self.width as i32, 132 | Input::Up => return index >= 0, 133 | Input::Down => return index < self.height as i32, 134 | } 135 | } 136 | 137 | fn get_next_index(&self, index: i32) -> i32 { 138 | match self.direction { 139 | Input::Left => return index - 1, 140 | Input::Right => return index + 1, 141 | Input::Up => return index - 1, 142 | Input::Down => return index + 1, 143 | } 144 | } 145 | 146 | fn set_value(&mut self, y: usize, x: usize, value: u32) { 147 | match self.direction { 148 | Input::Left => self.field[y][x] = value, 149 | Input::Right => self.field[y][x] = value, 150 | Input::Up => self.field[x][y] = value, 151 | Input::Down => self.field[x][y] = value, 152 | } 153 | } 154 | } 155 | -------------------------------------------------------------------------------- /src/game/main.rs: -------------------------------------------------------------------------------- 1 | // use crate::interface::input::interface::InputInterface; 2 | // use crate::interface::output::interface::OutputInterface; 3 | 4 | use super::board::{Board, BoardInterface}; 5 | use crate::input::Input; 6 | 7 | use super::display::{board, config, header, menu}; 8 | use super::sound; 9 | use sound::SoundType; 10 | 11 | use event::KeyCode; 12 | use ggez::{conf, event, graphics, input, timer, Context, ContextBuilder, GameResult}; 13 | use input::{keyboard, mouse}; 14 | use keyboard::KeyMods; 15 | use mouse::MouseButton; 16 | 17 | pub struct Game { 18 | board: Board, 19 | updated: bool, 20 | moved: bool, 21 | direction: Input, 22 | width: u32, 23 | height: u32, 24 | win: bool, 25 | lose: bool, 26 | continue_game: bool, 27 | } 28 | 29 | impl event::EventHandler for Game { 30 | fn update(&mut self, ctx: &mut Context) -> GameResult { 31 | if self.moved { 32 | self.moved = false; 33 | let direction: Input; 34 | match self.direction { 35 | Input::Up => direction = Input::Up, 36 | Input::Down => direction = Input::Down, 37 | Input::Left => direction = Input::Left, 38 | Input::Right => direction = Input::Right, 39 | } 40 | self.updated = self.board.move_to(direction); 41 | self.lose = self.board.is_finished(); 42 | self.win = self.board.highest_tile > 1024; 43 | 44 | if self.win && !self.continue_game { 45 | sound::play(ctx, SoundType::Win)?; 46 | } else if self.lose { 47 | sound::play(ctx, SoundType::Lose)?; 48 | } else if self.updated { 49 | sound::play(ctx, SoundType::Move)?; 50 | } else { 51 | sound::play(ctx, SoundType::UnableToMove)?; 52 | } 53 | } 54 | 55 | Ok(()) 56 | } 57 | 58 | fn draw(&mut self, ctx: &mut Context) -> GameResult { 59 | if self.updated { 60 | self.updated = false; 61 | graphics::clear(ctx, graphics::Color::from_rgb(240, 236, 223)); 62 | header::draw_title(ctx)?; 63 | header::draw_subtitle(ctx)?; 64 | header::draw_score(ctx, self.board.score)?; 65 | board::draw_board(ctx)?; 66 | board::draw_tiles(ctx, &self.board.field)?; 67 | if self.win && !self.continue_game { 68 | menu::draw(ctx, true)?; 69 | } 70 | if self.lose { 71 | menu::draw(ctx, false)?; 72 | } 73 | } 74 | 75 | graphics::present(ctx)?; 76 | timer::yield_now(); 77 | Ok(()) 78 | } 79 | 80 | fn key_down_event( 81 | &mut self, 82 | ctx: &mut Context, 83 | keycode: KeyCode, 84 | keymods: KeyMods, 85 | _repeat: bool, 86 | ) { 87 | match keycode { 88 | KeyCode::Up | KeyCode::K | KeyCode::W => { 89 | if !(self.win && !self.continue_game) { 90 | self.moved = true; 91 | self.direction = Input::Up; 92 | } 93 | } 94 | KeyCode::Down | KeyCode::J | KeyCode::S => { 95 | if !(self.win && !self.continue_game) { 96 | self.moved = true; 97 | self.direction = Input::Down; 98 | } 99 | } 100 | KeyCode::Left | KeyCode::H | KeyCode::A => { 101 | if !(self.win && !self.continue_game) { 102 | self.moved = true; 103 | self.direction = Input::Left; 104 | } 105 | } 106 | KeyCode::Right | KeyCode::L | KeyCode::D => { 107 | if !(self.win && !self.continue_game) { 108 | self.moved = true; 109 | self.direction = Input::Right; 110 | } 111 | } 112 | KeyCode::Return => { 113 | if self.win && !self.continue_game { 114 | self.continue_game = true; 115 | self.updated = true; 116 | } 117 | } 118 | KeyCode::Q => { 119 | if keymods.contains(KeyMods::CTRL) { 120 | ggez::quit(ctx); 121 | } 122 | } 123 | KeyCode::N => { 124 | if keymods.contains(KeyMods::CTRL) { 125 | self.reset(ctx); 126 | } 127 | } 128 | _ => {} 129 | } 130 | } 131 | 132 | fn mouse_button_down_event(&mut self, ctx: &mut Context, _button: MouseButton, x: f32, y: f32) { 133 | if x >= config::MENU_BUTTON_POSITION.0 134 | && x <= config::MENU_BUTTON_POSITION.0 + config::MENU_BUTTON_SIZE.0 135 | && y >= config::MENU_BUTTON_POSITION.1 136 | && y <= config::MENU_BUTTON_POSITION.1 + config::MENU_BUTTON_SIZE.1 137 | { 138 | if self.win && !self.continue_game { 139 | self.continue_game = true; 140 | self.updated = true; 141 | mouse::set_cursor_hidden(ctx, true); 142 | sound::play(ctx, SoundType::Menu); 143 | } else if self.lose { 144 | self.reset(ctx); 145 | self.updated = true; 146 | mouse::set_cursor_hidden(ctx, true); 147 | sound::play(ctx, SoundType::Menu); 148 | } 149 | } 150 | } 151 | } 152 | 153 | impl Game { 154 | pub fn new(width: u32, height: u32) -> Game { 155 | let board = BoardInterface::new(width, height); 156 | let game = Game { 157 | board, 158 | updated: true, 159 | moved: false, 160 | direction: Input::Up, 161 | width, 162 | height, 163 | win: false, 164 | lose: false, 165 | continue_game: false, 166 | }; 167 | game 168 | } 169 | 170 | pub fn start(&mut self) { 171 | let cb = ContextBuilder::new("2048", "mat") 172 | .window_setup(conf::WindowSetup { 173 | title: "2048".to_owned(), 174 | samples: conf::NumSamples::Zero, 175 | vsync: true, 176 | transparent: false, 177 | icon: "/2048.ico".to_owned(), 178 | srgb: true, 179 | }) 180 | .window_mode(conf::WindowMode { 181 | width: config::WINDOW_WIDTH, 182 | height: config::WINDOW_HEIGHT, 183 | maximized: false, 184 | fullscreen_type: conf::FullscreenType::Windowed, 185 | borderless: true, 186 | min_width: 0.0, 187 | max_width: 0.0, 188 | min_height: 0.0, 189 | max_height: 0.0, 190 | hidpi: false, 191 | resizable: false, 192 | }); 193 | 194 | let (ref mut ctx, ref mut event_loop) = &mut cb.build().unwrap(); 195 | sound::play(ctx, SoundType::Start); 196 | mouse::set_cursor_hidden(ctx, true); 197 | event::run(ctx, event_loop, self).unwrap(); 198 | } 199 | 200 | fn reset(&mut self, ctx: &mut Context) { 201 | let board: Board = BoardInterface::new(self.width, self.height); 202 | self.board = board; 203 | self.win = false; 204 | self.lose = false; 205 | self.continue_game = false; 206 | self.updated = true; 207 | sound::play(ctx, SoundType::Start); 208 | mouse::set_cursor_hidden(ctx, true); 209 | } 210 | 211 | // Debug mode only 212 | // 213 | // pub fn start_debug(&mut self, input: impl InputInterface, output: impl OutputInterface) { 214 | // while !self.board.is_finished() { 215 | // output.show(&self.board.field); 216 | // let direction = input.get_user_input(); 217 | // self.board.move_to(direction); 218 | // } 219 | // } 220 | } 221 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | [[package]] 4 | name = "adler32" 5 | version = "1.0.3" 6 | source = "registry+https://github.com/rust-lang/crates.io-index" 7 | 8 | [[package]] 9 | name = "aho-corasick" 10 | version = "0.6.10" 11 | source = "registry+https://github.com/rust-lang/crates.io-index" 12 | dependencies = [ 13 | "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 14 | ] 15 | 16 | [[package]] 17 | name = "alga" 18 | version = "0.9.1" 19 | source = "registry+https://github.com/rust-lang/crates.io-index" 20 | dependencies = [ 21 | "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 22 | "libm 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 23 | "num-complex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 24 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 25 | ] 26 | 27 | [[package]] 28 | name = "alsa-sys" 29 | version = "0.1.2" 30 | source = "registry+https://github.com/rust-lang/crates.io-index" 31 | dependencies = [ 32 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 33 | "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", 34 | ] 35 | 36 | [[package]] 37 | name = "andrew" 38 | version = "0.2.1" 39 | source = "registry+https://github.com/rust-lang/crates.io-index" 40 | dependencies = [ 41 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 42 | "line_drawing 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 43 | "rusttype 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", 44 | "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 45 | "xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 46 | "xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 47 | ] 48 | 49 | [[package]] 50 | name = "android_glue" 51 | version = "0.2.3" 52 | source = "registry+https://github.com/rust-lang/crates.io-index" 53 | 54 | [[package]] 55 | name = "ansi_term" 56 | version = "0.11.0" 57 | source = "registry+https://github.com/rust-lang/crates.io-index" 58 | dependencies = [ 59 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 60 | ] 61 | 62 | [[package]] 63 | name = "approx" 64 | version = "0.1.1" 65 | source = "registry+https://github.com/rust-lang/crates.io-index" 66 | 67 | [[package]] 68 | name = "approx" 69 | version = "0.3.2" 70 | source = "registry+https://github.com/rust-lang/crates.io-index" 71 | dependencies = [ 72 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 73 | ] 74 | 75 | [[package]] 76 | name = "arrayvec" 77 | version = "0.4.10" 78 | source = "registry+https://github.com/rust-lang/crates.io-index" 79 | dependencies = [ 80 | "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", 81 | ] 82 | 83 | [[package]] 84 | name = "atty" 85 | version = "0.2.11" 86 | source = "registry+https://github.com/rust-lang/crates.io-index" 87 | dependencies = [ 88 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 89 | "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 90 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 91 | ] 92 | 93 | [[package]] 94 | name = "autocfg" 95 | version = "0.1.2" 96 | source = "registry+https://github.com/rust-lang/crates.io-index" 97 | 98 | [[package]] 99 | name = "backtrace" 100 | version = "0.3.20" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | dependencies = [ 103 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 104 | "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", 105 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 106 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 107 | "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", 108 | ] 109 | 110 | [[package]] 111 | name = "backtrace-sys" 112 | version = "0.1.28" 113 | source = "registry+https://github.com/rust-lang/crates.io-index" 114 | dependencies = [ 115 | "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", 116 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 117 | ] 118 | 119 | [[package]] 120 | name = "base-x" 121 | version = "0.2.4" 122 | source = "registry+https://github.com/rust-lang/crates.io-index" 123 | 124 | [[package]] 125 | name = "bindgen" 126 | version = "0.32.3" 127 | source = "registry+https://github.com/rust-lang/crates.io-index" 128 | dependencies = [ 129 | "cexpr 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 130 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 131 | "clang-sys 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)", 132 | "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", 133 | "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 134 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 135 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 136 | "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 137 | "proc-macro2 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 138 | "quote 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", 139 | "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 140 | "which 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", 141 | ] 142 | 143 | [[package]] 144 | name = "bitflags" 145 | version = "1.0.4" 146 | source = "registry+https://github.com/rust-lang/crates.io-index" 147 | 148 | [[package]] 149 | name = "block" 150 | version = "0.1.6" 151 | source = "registry+https://github.com/rust-lang/crates.io-index" 152 | 153 | [[package]] 154 | name = "bumpalo" 155 | version = "2.4.3" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | 158 | [[package]] 159 | name = "bytecount" 160 | version = "0.4.0" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | 163 | [[package]] 164 | name = "byteorder" 165 | version = "1.3.1" 166 | source = "registry+https://github.com/rust-lang/crates.io-index" 167 | 168 | [[package]] 169 | name = "bzip2" 170 | version = "0.3.3" 171 | source = "registry+https://github.com/rust-lang/crates.io-index" 172 | dependencies = [ 173 | "bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 174 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 175 | ] 176 | 177 | [[package]] 178 | name = "bzip2-sys" 179 | version = "0.1.7" 180 | source = "registry+https://github.com/rust-lang/crates.io-index" 181 | dependencies = [ 182 | "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", 183 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 184 | ] 185 | 186 | [[package]] 187 | name = "cargo_metadata" 188 | version = "0.6.4" 189 | source = "registry+https://github.com/rust-lang/crates.io-index" 190 | dependencies = [ 191 | "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", 192 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", 193 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 194 | "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 195 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", 196 | ] 197 | 198 | [[package]] 199 | name = "cc" 200 | version = "1.0.37" 201 | source = "registry+https://github.com/rust-lang/crates.io-index" 202 | 203 | [[package]] 204 | name = "cexpr" 205 | version = "0.2.3" 206 | source = "registry+https://github.com/rust-lang/crates.io-index" 207 | dependencies = [ 208 | "nom 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 209 | ] 210 | 211 | [[package]] 212 | name = "cfg-if" 213 | version = "0.1.9" 214 | source = "registry+https://github.com/rust-lang/crates.io-index" 215 | 216 | [[package]] 217 | name = "cgl" 218 | version = "0.2.3" 219 | source = "registry+https://github.com/rust-lang/crates.io-index" 220 | dependencies = [ 221 | "gleam 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)", 222 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 223 | ] 224 | 225 | [[package]] 226 | name = "cgmath" 227 | version = "0.14.1" 228 | source = "registry+https://github.com/rust-lang/crates.io-index" 229 | dependencies = [ 230 | "approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 231 | "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", 232 | "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", 233 | ] 234 | 235 | [[package]] 236 | name = "clang-sys" 237 | version = "0.21.2" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | dependencies = [ 240 | "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 241 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 242 | "libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 243 | ] 244 | 245 | [[package]] 246 | name = "clap" 247 | version = "2.33.0" 248 | source = "registry+https://github.com/rust-lang/crates.io-index" 249 | dependencies = [ 250 | "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 251 | "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 252 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 253 | "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 254 | "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 255 | "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 256 | "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 257 | ] 258 | 259 | [[package]] 260 | name = "claxon" 261 | version = "0.3.3" 262 | source = "registry+https://github.com/rust-lang/crates.io-index" 263 | 264 | [[package]] 265 | name = "cloudabi" 266 | version = "0.0.3" 267 | source = "registry+https://github.com/rust-lang/crates.io-index" 268 | dependencies = [ 269 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 270 | ] 271 | 272 | [[package]] 273 | name = "cocoa" 274 | version = "0.18.4" 275 | source = "registry+https://github.com/rust-lang/crates.io-index" 276 | dependencies = [ 277 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 278 | "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 279 | "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 280 | "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", 281 | "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 282 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 283 | "objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 284 | ] 285 | 286 | [[package]] 287 | name = "color_quant" 288 | version = "1.0.1" 289 | source = "registry+https://github.com/rust-lang/crates.io-index" 290 | 291 | [[package]] 292 | name = "core-foundation" 293 | version = "0.6.4" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | dependencies = [ 296 | "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 297 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 298 | ] 299 | 300 | [[package]] 301 | name = "core-foundation-sys" 302 | version = "0.5.1" 303 | source = "registry+https://github.com/rust-lang/crates.io-index" 304 | dependencies = [ 305 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 306 | ] 307 | 308 | [[package]] 309 | name = "core-foundation-sys" 310 | version = "0.6.2" 311 | source = "registry+https://github.com/rust-lang/crates.io-index" 312 | 313 | [[package]] 314 | name = "core-graphics" 315 | version = "0.17.3" 316 | source = "registry+https://github.com/rust-lang/crates.io-index" 317 | dependencies = [ 318 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 319 | "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 320 | "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 321 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 322 | ] 323 | 324 | [[package]] 325 | name = "coreaudio-rs" 326 | version = "0.9.1" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | dependencies = [ 329 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 330 | "coreaudio-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 331 | ] 332 | 333 | [[package]] 334 | name = "coreaudio-sys" 335 | version = "0.2.2" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | dependencies = [ 338 | "bindgen 0.32.3 (registry+https://github.com/rust-lang/crates.io-index)", 339 | ] 340 | 341 | [[package]] 342 | name = "cpal" 343 | version = "0.8.2" 344 | source = "registry+https://github.com/rust-lang/crates.io-index" 345 | dependencies = [ 346 | "alsa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 347 | "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 348 | "coreaudio-rs 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 349 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 350 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 351 | "stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 352 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 353 | ] 354 | 355 | [[package]] 356 | name = "crc32fast" 357 | version = "1.2.0" 358 | source = "registry+https://github.com/rust-lang/crates.io-index" 359 | dependencies = [ 360 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 361 | ] 362 | 363 | [[package]] 364 | name = "crossbeam-deque" 365 | version = "0.7.1" 366 | source = "registry+https://github.com/rust-lang/crates.io-index" 367 | dependencies = [ 368 | "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 369 | "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 370 | ] 371 | 372 | [[package]] 373 | name = "crossbeam-epoch" 374 | version = "0.7.1" 375 | source = "registry+https://github.com/rust-lang/crates.io-index" 376 | dependencies = [ 377 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 378 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 379 | "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 380 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 381 | "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 382 | "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 383 | ] 384 | 385 | [[package]] 386 | name = "crossbeam-utils" 387 | version = "0.6.5" 388 | source = "registry+https://github.com/rust-lang/crates.io-index" 389 | dependencies = [ 390 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 391 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 392 | ] 393 | 394 | [[package]] 395 | name = "deflate" 396 | version = "0.7.19" 397 | source = "registry+https://github.com/rust-lang/crates.io-index" 398 | dependencies = [ 399 | "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 400 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 401 | ] 402 | 403 | [[package]] 404 | name = "derivative" 405 | version = "1.0.2" 406 | source = "registry+https://github.com/rust-lang/crates.io-index" 407 | dependencies = [ 408 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 409 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 410 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 411 | ] 412 | 413 | [[package]] 414 | name = "directories" 415 | version = "1.0.2" 416 | source = "registry+https://github.com/rust-lang/crates.io-index" 417 | dependencies = [ 418 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 419 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 420 | ] 421 | 422 | [[package]] 423 | name = "discard" 424 | version = "1.0.4" 425 | source = "registry+https://github.com/rust-lang/crates.io-index" 426 | 427 | [[package]] 428 | name = "dlib" 429 | version = "0.4.1" 430 | source = "registry+https://github.com/rust-lang/crates.io-index" 431 | dependencies = [ 432 | "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 433 | ] 434 | 435 | [[package]] 436 | name = "downcast-rs" 437 | version = "1.0.4" 438 | source = "registry+https://github.com/rust-lang/crates.io-index" 439 | 440 | [[package]] 441 | name = "draw_state" 442 | version = "0.8.0" 443 | source = "registry+https://github.com/rust-lang/crates.io-index" 444 | dependencies = [ 445 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 446 | ] 447 | 448 | [[package]] 449 | name = "env_logger" 450 | version = "0.4.3" 451 | source = "registry+https://github.com/rust-lang/crates.io-index" 452 | dependencies = [ 453 | "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 454 | "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 455 | ] 456 | 457 | [[package]] 458 | name = "error-chain" 459 | version = "0.12.1" 460 | source = "registry+https://github.com/rust-lang/crates.io-index" 461 | dependencies = [ 462 | "backtrace 0.3.20 (registry+https://github.com/rust-lang/crates.io-index)", 463 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 464 | ] 465 | 466 | [[package]] 467 | name = "euclid" 468 | version = "0.19.8" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | dependencies = [ 471 | "euclid_macros 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 472 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 473 | ] 474 | 475 | [[package]] 476 | name = "euclid_macros" 477 | version = "0.1.0" 478 | source = "registry+https://github.com/rust-lang/crates.io-index" 479 | dependencies = [ 480 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 481 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 482 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 483 | ] 484 | 485 | [[package]] 486 | name = "fnv" 487 | version = "1.0.6" 488 | source = "registry+https://github.com/rust-lang/crates.io-index" 489 | 490 | [[package]] 491 | name = "foreign-types" 492 | version = "0.3.2" 493 | source = "registry+https://github.com/rust-lang/crates.io-index" 494 | dependencies = [ 495 | "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 496 | ] 497 | 498 | [[package]] 499 | name = "foreign-types-shared" 500 | version = "0.1.1" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | 503 | [[package]] 504 | name = "fuchsia-cprng" 505 | version = "0.1.1" 506 | source = "registry+https://github.com/rust-lang/crates.io-index" 507 | 508 | [[package]] 509 | name = "generic-array" 510 | version = "0.12.0" 511 | source = "registry+https://github.com/rust-lang/crates.io-index" 512 | dependencies = [ 513 | "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 514 | ] 515 | 516 | [[package]] 517 | name = "gfx" 518 | version = "0.18.1" 519 | source = "registry+https://github.com/rust-lang/crates.io-index" 520 | dependencies = [ 521 | "derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 522 | "draw_state 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 523 | "gfx_core 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 524 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 525 | ] 526 | 527 | [[package]] 528 | name = "gfx_core" 529 | version = "0.9.1" 530 | source = "registry+https://github.com/rust-lang/crates.io-index" 531 | dependencies = [ 532 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 533 | "derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 534 | "draw_state 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 535 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 536 | ] 537 | 538 | [[package]] 539 | name = "gfx_device_gl" 540 | version = "0.16.1" 541 | source = "registry+https://github.com/rust-lang/crates.io-index" 542 | dependencies = [ 543 | "gfx_core 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 544 | "gfx_gl 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", 545 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 546 | ] 547 | 548 | [[package]] 549 | name = "gfx_gl" 550 | version = "0.6.0" 551 | source = "registry+https://github.com/rust-lang/crates.io-index" 552 | dependencies = [ 553 | "gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 554 | ] 555 | 556 | [[package]] 557 | name = "gfx_window_glutin" 558 | version = "0.30.0" 559 | source = "registry+https://github.com/rust-lang/crates.io-index" 560 | dependencies = [ 561 | "gfx_core 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 562 | "gfx_device_gl 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)", 563 | "glutin 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", 564 | ] 565 | 566 | [[package]] 567 | name = "ggez" 568 | version = "0.5.0-rc.2" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | dependencies = [ 571 | "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 572 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 573 | "directories 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 574 | "gfx 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)", 575 | "gfx_core 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 576 | "gfx_device_gl 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)", 577 | "gfx_window_glutin 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)", 578 | "gilrs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 579 | "glutin 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)", 580 | "glyph_brush 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 581 | "image 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)", 582 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 583 | "lyon 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", 584 | "mint 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 585 | "nalgebra 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", 586 | "rodio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 587 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 588 | "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 589 | "skeptic 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)", 590 | "smart-default 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 591 | "toml 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 592 | "winit 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)", 593 | "zip 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 594 | ] 595 | 596 | [[package]] 597 | name = "gif" 598 | version = "0.10.1" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | dependencies = [ 601 | "color_quant 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 602 | "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 603 | ] 604 | 605 | [[package]] 606 | name = "gilrs" 607 | version = "0.7.1" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | dependencies = [ 610 | "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 611 | "gilrs-core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 612 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 613 | "stdweb 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)", 614 | "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", 615 | "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 616 | ] 617 | 618 | [[package]] 619 | name = "gilrs-core" 620 | version = "0.2.2" 621 | source = "registry+https://github.com/rust-lang/crates.io-index" 622 | dependencies = [ 623 | "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 624 | "io-kit-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 625 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 626 | "libudev-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 627 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 628 | "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 629 | "rusty-xinput 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 630 | "stdweb 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)", 631 | "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", 632 | "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", 633 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 634 | ] 635 | 636 | [[package]] 637 | name = "gl_generator" 638 | version = "0.11.0" 639 | source = "registry+https://github.com/rust-lang/crates.io-index" 640 | dependencies = [ 641 | "khronos_api 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 642 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 643 | "xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 644 | ] 645 | 646 | [[package]] 647 | name = "gleam" 648 | version = "0.6.17" 649 | source = "registry+https://github.com/rust-lang/crates.io-index" 650 | dependencies = [ 651 | "gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 652 | ] 653 | 654 | [[package]] 655 | name = "glob" 656 | version = "0.2.11" 657 | source = "registry+https://github.com/rust-lang/crates.io-index" 658 | 659 | [[package]] 660 | name = "glutin" 661 | version = "0.20.0" 662 | source = "registry+https://github.com/rust-lang/crates.io-index" 663 | dependencies = [ 664 | "android_glue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 665 | "cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 666 | "cocoa 0.18.4 (registry+https://github.com/rust-lang/crates.io-index)", 667 | "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 668 | "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", 669 | "glutin_egl_sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 670 | "glutin_gles2_sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 671 | "glutin_glx_sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 672 | "glutin_wgl_sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 673 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 674 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 675 | "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 676 | "objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 677 | "osmesa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 678 | "shared_library 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 679 | "wayland-client 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 680 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 681 | "winit 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)", 682 | ] 683 | 684 | [[package]] 685 | name = "glutin_egl_sys" 686 | version = "0.1.3" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | dependencies = [ 689 | "gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 690 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 691 | ] 692 | 693 | [[package]] 694 | name = "glutin_gles2_sys" 695 | version = "0.1.3" 696 | source = "registry+https://github.com/rust-lang/crates.io-index" 697 | dependencies = [ 698 | "gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 699 | "objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 700 | ] 701 | 702 | [[package]] 703 | name = "glutin_glx_sys" 704 | version = "0.1.5" 705 | source = "registry+https://github.com/rust-lang/crates.io-index" 706 | dependencies = [ 707 | "gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 708 | "x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)", 709 | ] 710 | 711 | [[package]] 712 | name = "glutin_wgl_sys" 713 | version = "0.1.3" 714 | source = "registry+https://github.com/rust-lang/crates.io-index" 715 | dependencies = [ 716 | "gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", 717 | ] 718 | 719 | [[package]] 720 | name = "glyph_brush" 721 | version = "0.4.3" 722 | source = "registry+https://github.com/rust-lang/crates.io-index" 723 | dependencies = [ 724 | "glyph_brush_layout 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 725 | "hashbrown 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 726 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 727 | "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 728 | "rusttype 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", 729 | "twox-hash 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 730 | ] 731 | 732 | [[package]] 733 | name = "glyph_brush_layout" 734 | version = "0.1.6" 735 | source = "registry+https://github.com/rust-lang/crates.io-index" 736 | dependencies = [ 737 | "rusttype 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", 738 | "xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 739 | ] 740 | 741 | [[package]] 742 | name = "hashbrown" 743 | version = "0.3.0" 744 | source = "registry+https://github.com/rust-lang/crates.io-index" 745 | 746 | [[package]] 747 | name = "hound" 748 | version = "3.4.0" 749 | source = "registry+https://github.com/rust-lang/crates.io-index" 750 | 751 | [[package]] 752 | name = "image" 753 | version = "0.21.1" 754 | source = "registry+https://github.com/rust-lang/crates.io-index" 755 | dependencies = [ 756 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 757 | "gif 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 758 | "jpeg-decoder 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", 759 | "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 760 | "num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 761 | "num-rational 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 762 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 763 | "png 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", 764 | "tiff 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 765 | ] 766 | 767 | [[package]] 768 | name = "inflate" 769 | version = "0.4.5" 770 | source = "registry+https://github.com/rust-lang/crates.io-index" 771 | dependencies = [ 772 | "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 773 | ] 774 | 775 | [[package]] 776 | name = "io-kit-sys" 777 | version = "0.1.0" 778 | source = "registry+https://github.com/rust-lang/crates.io-index" 779 | dependencies = [ 780 | "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 781 | "mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 782 | ] 783 | 784 | [[package]] 785 | name = "itoa" 786 | version = "0.4.4" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | 789 | [[package]] 790 | name = "jpeg-decoder" 791 | version = "0.1.15" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | dependencies = [ 794 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 795 | ] 796 | 797 | [[package]] 798 | name = "kernel32-sys" 799 | version = "0.2.2" 800 | source = "registry+https://github.com/rust-lang/crates.io-index" 801 | dependencies = [ 802 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 803 | "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 804 | ] 805 | 806 | [[package]] 807 | name = "khronos_api" 808 | version = "3.1.0" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | 811 | [[package]] 812 | name = "lazy_static" 813 | version = "1.3.0" 814 | source = "registry+https://github.com/rust-lang/crates.io-index" 815 | 816 | [[package]] 817 | name = "lewton" 818 | version = "0.9.4" 819 | source = "registry+https://github.com/rust-lang/crates.io-index" 820 | dependencies = [ 821 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 822 | "ogg 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 823 | "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 824 | ] 825 | 826 | [[package]] 827 | name = "libc" 828 | version = "0.2.55" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | 831 | [[package]] 832 | name = "libloading" 833 | version = "0.4.3" 834 | source = "registry+https://github.com/rust-lang/crates.io-index" 835 | dependencies = [ 836 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 837 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 838 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 839 | ] 840 | 841 | [[package]] 842 | name = "libloading" 843 | version = "0.5.0" 844 | source = "registry+https://github.com/rust-lang/crates.io-index" 845 | dependencies = [ 846 | "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", 847 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 848 | ] 849 | 850 | [[package]] 851 | name = "libm" 852 | version = "0.1.3" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | 855 | [[package]] 856 | name = "libudev-sys" 857 | version = "0.1.4" 858 | source = "registry+https://github.com/rust-lang/crates.io-index" 859 | dependencies = [ 860 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 861 | "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", 862 | ] 863 | 864 | [[package]] 865 | name = "line_drawing" 866 | version = "0.7.0" 867 | source = "registry+https://github.com/rust-lang/crates.io-index" 868 | dependencies = [ 869 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 870 | ] 871 | 872 | [[package]] 873 | name = "linked-hash-map" 874 | version = "0.5.2" 875 | source = "registry+https://github.com/rust-lang/crates.io-index" 876 | 877 | [[package]] 878 | name = "lock_api" 879 | version = "0.1.5" 880 | source = "registry+https://github.com/rust-lang/crates.io-index" 881 | dependencies = [ 882 | "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 883 | "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 884 | ] 885 | 886 | [[package]] 887 | name = "log" 888 | version = "0.3.9" 889 | source = "registry+https://github.com/rust-lang/crates.io-index" 890 | dependencies = [ 891 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 892 | ] 893 | 894 | [[package]] 895 | name = "log" 896 | version = "0.4.6" 897 | source = "registry+https://github.com/rust-lang/crates.io-index" 898 | dependencies = [ 899 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 900 | ] 901 | 902 | [[package]] 903 | name = "lyon" 904 | version = "0.13.1" 905 | source = "registry+https://github.com/rust-lang/crates.io-index" 906 | dependencies = [ 907 | "lyon_algorithms 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", 908 | "lyon_tessellation 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", 909 | ] 910 | 911 | [[package]] 912 | name = "lyon_algorithms" 913 | version = "0.13.1" 914 | source = "registry+https://github.com/rust-lang/crates.io-index" 915 | dependencies = [ 916 | "lyon_path 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", 917 | "sid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 918 | ] 919 | 920 | [[package]] 921 | name = "lyon_geom" 922 | version = "0.12.6" 923 | source = "registry+https://github.com/rust-lang/crates.io-index" 924 | dependencies = [ 925 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 926 | "euclid 0.19.8 (registry+https://github.com/rust-lang/crates.io-index)", 927 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 928 | ] 929 | 930 | [[package]] 931 | name = "lyon_path" 932 | version = "0.13.1" 933 | source = "registry+https://github.com/rust-lang/crates.io-index" 934 | dependencies = [ 935 | "lyon_geom 0.12.6 (registry+https://github.com/rust-lang/crates.io-index)", 936 | ] 937 | 938 | [[package]] 939 | name = "lyon_tessellation" 940 | version = "0.13.1" 941 | source = "registry+https://github.com/rust-lang/crates.io-index" 942 | dependencies = [ 943 | "lyon_path 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)", 944 | "sid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 945 | ] 946 | 947 | [[package]] 948 | name = "lzw" 949 | version = "0.10.0" 950 | source = "registry+https://github.com/rust-lang/crates.io-index" 951 | 952 | [[package]] 953 | name = "mach" 954 | version = "0.2.3" 955 | source = "registry+https://github.com/rust-lang/crates.io-index" 956 | dependencies = [ 957 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 958 | ] 959 | 960 | [[package]] 961 | name = "malloc_buf" 962 | version = "0.0.6" 963 | source = "registry+https://github.com/rust-lang/crates.io-index" 964 | dependencies = [ 965 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 966 | ] 967 | 968 | [[package]] 969 | name = "matrixmultiply" 970 | version = "0.2.2" 971 | source = "registry+https://github.com/rust-lang/crates.io-index" 972 | dependencies = [ 973 | "rawpointer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 974 | ] 975 | 976 | [[package]] 977 | name = "memchr" 978 | version = "1.0.2" 979 | source = "registry+https://github.com/rust-lang/crates.io-index" 980 | dependencies = [ 981 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 982 | ] 983 | 984 | [[package]] 985 | name = "memchr" 986 | version = "2.2.0" 987 | source = "registry+https://github.com/rust-lang/crates.io-index" 988 | 989 | [[package]] 990 | name = "memmap" 991 | version = "0.7.0" 992 | source = "registry+https://github.com/rust-lang/crates.io-index" 993 | dependencies = [ 994 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 995 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 996 | ] 997 | 998 | [[package]] 999 | name = "memoffset" 1000 | version = "0.2.1" 1001 | source = "registry+https://github.com/rust-lang/crates.io-index" 1002 | 1003 | [[package]] 1004 | name = "minimp3" 1005 | version = "0.3.3" 1006 | source = "registry+https://github.com/rust-lang/crates.io-index" 1007 | dependencies = [ 1008 | "minimp3-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1009 | "slice-deque 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1010 | ] 1011 | 1012 | [[package]] 1013 | name = "minimp3-sys" 1014 | version = "0.3.1" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | dependencies = [ 1017 | "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", 1018 | ] 1019 | 1020 | [[package]] 1021 | name = "mint" 1022 | version = "0.5.1" 1023 | source = "registry+https://github.com/rust-lang/crates.io-index" 1024 | 1025 | [[package]] 1026 | name = "nalgebra" 1027 | version = "0.18.0" 1028 | source = "registry+https://github.com/rust-lang/crates.io-index" 1029 | dependencies = [ 1030 | "alga 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", 1031 | "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 1032 | "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", 1033 | "matrixmultiply 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 1034 | "mint 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1035 | "num-complex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 1036 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1037 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 1038 | "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "nix" 1043 | version = "0.11.0" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | dependencies = [ 1046 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1047 | "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", 1048 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 1049 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1050 | "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1051 | ] 1052 | 1053 | [[package]] 1054 | name = "nix" 1055 | version = "0.13.0" 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" 1057 | dependencies = [ 1058 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1059 | "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", 1060 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 1061 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1062 | "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1063 | ] 1064 | 1065 | [[package]] 1066 | name = "nodrop" 1067 | version = "0.1.13" 1068 | source = "registry+https://github.com/rust-lang/crates.io-index" 1069 | 1070 | [[package]] 1071 | name = "nom" 1072 | version = "3.2.1" 1073 | source = "registry+https://github.com/rust-lang/crates.io-index" 1074 | dependencies = [ 1075 | "memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1076 | ] 1077 | 1078 | [[package]] 1079 | name = "num-complex" 1080 | version = "0.2.1" 1081 | source = "registry+https://github.com/rust-lang/crates.io-index" 1082 | dependencies = [ 1083 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1084 | ] 1085 | 1086 | [[package]] 1087 | name = "num-derive" 1088 | version = "0.2.5" 1089 | source = "registry+https://github.com/rust-lang/crates.io-index" 1090 | dependencies = [ 1091 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1092 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1093 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1094 | ] 1095 | 1096 | [[package]] 1097 | name = "num-integer" 1098 | version = "0.1.39" 1099 | source = "registry+https://github.com/rust-lang/crates.io-index" 1100 | dependencies = [ 1101 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1102 | ] 1103 | 1104 | [[package]] 1105 | name = "num-iter" 1106 | version = "0.1.37" 1107 | source = "registry+https://github.com/rust-lang/crates.io-index" 1108 | dependencies = [ 1109 | "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", 1110 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1111 | ] 1112 | 1113 | [[package]] 1114 | name = "num-rational" 1115 | version = "0.2.1" 1116 | source = "registry+https://github.com/rust-lang/crates.io-index" 1117 | dependencies = [ 1118 | "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", 1119 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1120 | ] 1121 | 1122 | [[package]] 1123 | name = "num-traits" 1124 | version = "0.1.43" 1125 | source = "registry+https://github.com/rust-lang/crates.io-index" 1126 | dependencies = [ 1127 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1128 | ] 1129 | 1130 | [[package]] 1131 | name = "num-traits" 1132 | version = "0.2.6" 1133 | source = "registry+https://github.com/rust-lang/crates.io-index" 1134 | 1135 | [[package]] 1136 | name = "num_cpus" 1137 | version = "1.10.0" 1138 | source = "registry+https://github.com/rust-lang/crates.io-index" 1139 | dependencies = [ 1140 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1141 | ] 1142 | 1143 | [[package]] 1144 | name = "numtoa" 1145 | version = "0.1.0" 1146 | source = "registry+https://github.com/rust-lang/crates.io-index" 1147 | 1148 | [[package]] 1149 | name = "objc" 1150 | version = "0.2.6" 1151 | source = "registry+https://github.com/rust-lang/crates.io-index" 1152 | dependencies = [ 1153 | "malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1154 | ] 1155 | 1156 | [[package]] 1157 | name = "ogg" 1158 | version = "0.7.0" 1159 | source = "registry+https://github.com/rust-lang/crates.io-index" 1160 | dependencies = [ 1161 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1162 | ] 1163 | 1164 | [[package]] 1165 | name = "ordered-float" 1166 | version = "1.0.2" 1167 | source = "registry+https://github.com/rust-lang/crates.io-index" 1168 | dependencies = [ 1169 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1170 | ] 1171 | 1172 | [[package]] 1173 | name = "osmesa-sys" 1174 | version = "0.1.2" 1175 | source = "registry+https://github.com/rust-lang/crates.io-index" 1176 | dependencies = [ 1177 | "shared_library 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 1178 | ] 1179 | 1180 | [[package]] 1181 | name = "owning_ref" 1182 | version = "0.4.0" 1183 | source = "registry+https://github.com/rust-lang/crates.io-index" 1184 | dependencies = [ 1185 | "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1186 | ] 1187 | 1188 | [[package]] 1189 | name = "parking_lot" 1190 | version = "0.7.1" 1191 | source = "registry+https://github.com/rust-lang/crates.io-index" 1192 | dependencies = [ 1193 | "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1194 | "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1195 | ] 1196 | 1197 | [[package]] 1198 | name = "parking_lot_core" 1199 | version = "0.4.0" 1200 | source = "registry+https://github.com/rust-lang/crates.io-index" 1201 | dependencies = [ 1202 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1203 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 1204 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1205 | "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 1206 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1207 | ] 1208 | 1209 | [[package]] 1210 | name = "peeking_take_while" 1211 | version = "0.1.2" 1212 | source = "registry+https://github.com/rust-lang/crates.io-index" 1213 | 1214 | [[package]] 1215 | name = "percent-encoding" 1216 | version = "1.0.1" 1217 | source = "registry+https://github.com/rust-lang/crates.io-index" 1218 | 1219 | [[package]] 1220 | name = "pkg-config" 1221 | version = "0.3.14" 1222 | source = "registry+https://github.com/rust-lang/crates.io-index" 1223 | 1224 | [[package]] 1225 | name = "png" 1226 | version = "0.14.1" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | dependencies = [ 1229 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1230 | "deflate 0.7.19 (registry+https://github.com/rust-lang/crates.io-index)", 1231 | "inflate 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 1232 | "num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", 1233 | ] 1234 | 1235 | [[package]] 1236 | name = "podio" 1237 | version = "0.1.6" 1238 | source = "registry+https://github.com/rust-lang/crates.io-index" 1239 | 1240 | [[package]] 1241 | name = "proc-macro2" 1242 | version = "0.2.3" 1243 | source = "registry+https://github.com/rust-lang/crates.io-index" 1244 | dependencies = [ 1245 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1246 | ] 1247 | 1248 | [[package]] 1249 | name = "proc-macro2" 1250 | version = "0.4.30" 1251 | source = "registry+https://github.com/rust-lang/crates.io-index" 1252 | dependencies = [ 1253 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1254 | ] 1255 | 1256 | [[package]] 1257 | name = "pulldown-cmark" 1258 | version = "0.2.0" 1259 | source = "registry+https://github.com/rust-lang/crates.io-index" 1260 | dependencies = [ 1261 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1262 | ] 1263 | 1264 | [[package]] 1265 | name = "quote" 1266 | version = "0.4.2" 1267 | source = "registry+https://github.com/rust-lang/crates.io-index" 1268 | dependencies = [ 1269 | "proc-macro2 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1270 | ] 1271 | 1272 | [[package]] 1273 | name = "quote" 1274 | version = "0.6.12" 1275 | source = "registry+https://github.com/rust-lang/crates.io-index" 1276 | dependencies = [ 1277 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1278 | ] 1279 | 1280 | [[package]] 1281 | name = "rand" 1282 | version = "0.3.23" 1283 | source = "registry+https://github.com/rust-lang/crates.io-index" 1284 | dependencies = [ 1285 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1286 | "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 1287 | ] 1288 | 1289 | [[package]] 1290 | name = "rand" 1291 | version = "0.4.6" 1292 | source = "registry+https://github.com/rust-lang/crates.io-index" 1293 | dependencies = [ 1294 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1295 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1296 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1297 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1298 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1299 | ] 1300 | 1301 | [[package]] 1302 | name = "rand" 1303 | version = "0.6.5" 1304 | source = "registry+https://github.com/rust-lang/crates.io-index" 1305 | dependencies = [ 1306 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1307 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1308 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1309 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1310 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1311 | "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1312 | "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1313 | "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1314 | "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1315 | "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1316 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1317 | ] 1318 | 1319 | [[package]] 1320 | name = "rand_chacha" 1321 | version = "0.1.1" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | dependencies = [ 1324 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1325 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1326 | ] 1327 | 1328 | [[package]] 1329 | name = "rand_core" 1330 | version = "0.3.1" 1331 | source = "registry+https://github.com/rust-lang/crates.io-index" 1332 | dependencies = [ 1333 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1334 | ] 1335 | 1336 | [[package]] 1337 | name = "rand_core" 1338 | version = "0.4.0" 1339 | source = "registry+https://github.com/rust-lang/crates.io-index" 1340 | 1341 | [[package]] 1342 | name = "rand_hc" 1343 | version = "0.1.0" 1344 | source = "registry+https://github.com/rust-lang/crates.io-index" 1345 | dependencies = [ 1346 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1347 | ] 1348 | 1349 | [[package]] 1350 | name = "rand_isaac" 1351 | version = "0.1.1" 1352 | source = "registry+https://github.com/rust-lang/crates.io-index" 1353 | dependencies = [ 1354 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1355 | ] 1356 | 1357 | [[package]] 1358 | name = "rand_jitter" 1359 | version = "0.1.4" 1360 | source = "registry+https://github.com/rust-lang/crates.io-index" 1361 | dependencies = [ 1362 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1363 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1364 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1365 | ] 1366 | 1367 | [[package]] 1368 | name = "rand_os" 1369 | version = "0.1.3" 1370 | source = "registry+https://github.com/rust-lang/crates.io-index" 1371 | dependencies = [ 1372 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 1373 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1374 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1375 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1376 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1377 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1378 | ] 1379 | 1380 | [[package]] 1381 | name = "rand_pcg" 1382 | version = "0.1.2" 1383 | source = "registry+https://github.com/rust-lang/crates.io-index" 1384 | dependencies = [ 1385 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1386 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1387 | ] 1388 | 1389 | [[package]] 1390 | name = "rand_xorshift" 1391 | version = "0.1.1" 1392 | source = "registry+https://github.com/rust-lang/crates.io-index" 1393 | dependencies = [ 1394 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1395 | ] 1396 | 1397 | [[package]] 1398 | name = "rawpointer" 1399 | version = "0.1.0" 1400 | source = "registry+https://github.com/rust-lang/crates.io-index" 1401 | 1402 | [[package]] 1403 | name = "rdrand" 1404 | version = "0.4.0" 1405 | source = "registry+https://github.com/rust-lang/crates.io-index" 1406 | dependencies = [ 1407 | "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1408 | ] 1409 | 1410 | [[package]] 1411 | name = "redox_syscall" 1412 | version = "0.1.54" 1413 | source = "registry+https://github.com/rust-lang/crates.io-index" 1414 | 1415 | [[package]] 1416 | name = "redox_termios" 1417 | version = "0.1.1" 1418 | source = "registry+https://github.com/rust-lang/crates.io-index" 1419 | dependencies = [ 1420 | "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", 1421 | ] 1422 | 1423 | [[package]] 1424 | name = "regex" 1425 | version = "0.2.11" 1426 | source = "registry+https://github.com/rust-lang/crates.io-index" 1427 | dependencies = [ 1428 | "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", 1429 | "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1430 | "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", 1431 | "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 1432 | "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1433 | ] 1434 | 1435 | [[package]] 1436 | name = "regex-syntax" 1437 | version = "0.5.6" 1438 | source = "registry+https://github.com/rust-lang/crates.io-index" 1439 | dependencies = [ 1440 | "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1441 | ] 1442 | 1443 | [[package]] 1444 | name = "remove_dir_all" 1445 | version = "0.5.1" 1446 | source = "registry+https://github.com/rust-lang/crates.io-index" 1447 | dependencies = [ 1448 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1449 | ] 1450 | 1451 | [[package]] 1452 | name = "rodio" 1453 | version = "0.8.1" 1454 | source = "registry+https://github.com/rust-lang/crates.io-index" 1455 | dependencies = [ 1456 | "cgmath 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", 1457 | "claxon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 1458 | "cpal 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", 1459 | "hound 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1460 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1461 | "lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)", 1462 | "minimp3 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 1463 | ] 1464 | 1465 | [[package]] 1466 | name = "rustc-demangle" 1467 | version = "0.1.14" 1468 | source = "registry+https://github.com/rust-lang/crates.io-index" 1469 | 1470 | [[package]] 1471 | name = "rustc-hash" 1472 | version = "1.0.1" 1473 | source = "registry+https://github.com/rust-lang/crates.io-index" 1474 | dependencies = [ 1475 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1476 | ] 1477 | 1478 | [[package]] 1479 | name = "rustc_version" 1480 | version = "0.2.3" 1481 | source = "registry+https://github.com/rust-lang/crates.io-index" 1482 | dependencies = [ 1483 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", 1484 | ] 1485 | 1486 | [[package]] 1487 | name = "rusttype" 1488 | version = "0.7.6" 1489 | source = "registry+https://github.com/rust-lang/crates.io-index" 1490 | dependencies = [ 1491 | "approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 1492 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", 1493 | "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 1494 | "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 1495 | "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", 1496 | "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 1497 | "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1498 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 1499 | "stb_truetype 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1500 | ] 1501 | 1502 | [[package]] 1503 | name = "rusty-xinput" 1504 | version = "1.2.0" 1505 | source = "registry+https://github.com/rust-lang/crates.io-index" 1506 | dependencies = [ 1507 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1508 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 1509 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1510 | ] 1511 | 1512 | [[package]] 1513 | name = "ryu" 1514 | version = "0.2.8" 1515 | source = "registry+https://github.com/rust-lang/crates.io-index" 1516 | 1517 | [[package]] 1518 | name = "same-file" 1519 | version = "1.0.4" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | dependencies = [ 1522 | "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1523 | ] 1524 | 1525 | [[package]] 1526 | name = "scopeguard" 1527 | version = "0.3.3" 1528 | source = "registry+https://github.com/rust-lang/crates.io-index" 1529 | 1530 | [[package]] 1531 | name = "semver" 1532 | version = "0.9.0" 1533 | source = "registry+https://github.com/rust-lang/crates.io-index" 1534 | dependencies = [ 1535 | "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 1536 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1537 | ] 1538 | 1539 | [[package]] 1540 | name = "semver-parser" 1541 | version = "0.7.0" 1542 | source = "registry+https://github.com/rust-lang/crates.io-index" 1543 | 1544 | [[package]] 1545 | name = "serde" 1546 | version = "1.0.91" 1547 | source = "registry+https://github.com/rust-lang/crates.io-index" 1548 | 1549 | [[package]] 1550 | name = "serde_derive" 1551 | version = "1.0.91" 1552 | source = "registry+https://github.com/rust-lang/crates.io-index" 1553 | dependencies = [ 1554 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1555 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1556 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1557 | ] 1558 | 1559 | [[package]] 1560 | name = "serde_json" 1561 | version = "1.0.39" 1562 | source = "registry+https://github.com/rust-lang/crates.io-index" 1563 | dependencies = [ 1564 | "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", 1565 | "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", 1566 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1567 | ] 1568 | 1569 | [[package]] 1570 | name = "sha1" 1571 | version = "0.6.0" 1572 | source = "registry+https://github.com/rust-lang/crates.io-index" 1573 | 1574 | [[package]] 1575 | name = "shared_library" 1576 | version = "0.1.9" 1577 | source = "registry+https://github.com/rust-lang/crates.io-index" 1578 | dependencies = [ 1579 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1580 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1581 | ] 1582 | 1583 | [[package]] 1584 | name = "sid" 1585 | version = "0.5.2" 1586 | source = "registry+https://github.com/rust-lang/crates.io-index" 1587 | dependencies = [ 1588 | "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)", 1589 | ] 1590 | 1591 | [[package]] 1592 | name = "simple-2048" 1593 | version = "0.1.0" 1594 | dependencies = [ 1595 | "ggez 0.5.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)", 1596 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 1597 | ] 1598 | 1599 | [[package]] 1600 | name = "skeptic" 1601 | version = "0.13.4" 1602 | source = "registry+https://github.com/rust-lang/crates.io-index" 1603 | dependencies = [ 1604 | "bytecount 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1605 | "cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 1606 | "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", 1607 | "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 1608 | "pulldown-cmark 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1609 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", 1610 | "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1611 | "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 1612 | ] 1613 | 1614 | [[package]] 1615 | name = "slice-deque" 1616 | version = "0.2.3" 1617 | source = "registry+https://github.com/rust-lang/crates.io-index" 1618 | dependencies = [ 1619 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1620 | "mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1621 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1622 | ] 1623 | 1624 | [[package]] 1625 | name = "smallvec" 1626 | version = "0.6.9" 1627 | source = "registry+https://github.com/rust-lang/crates.io-index" 1628 | 1629 | [[package]] 1630 | name = "smart-default" 1631 | version = "0.5.2" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | dependencies = [ 1634 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1635 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1636 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1637 | ] 1638 | 1639 | [[package]] 1640 | name = "smithay-client-toolkit" 1641 | version = "0.4.5" 1642 | source = "registry+https://github.com/rust-lang/crates.io-index" 1643 | dependencies = [ 1644 | "andrew 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 1645 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1646 | "dlib 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 1647 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1648 | "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 1649 | "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", 1650 | "wayland-client 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1651 | "wayland-commons 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1652 | "wayland-protocols 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1653 | ] 1654 | 1655 | [[package]] 1656 | name = "stable_deref_trait" 1657 | version = "1.1.1" 1658 | source = "registry+https://github.com/rust-lang/crates.io-index" 1659 | 1660 | [[package]] 1661 | name = "stb_truetype" 1662 | version = "0.2.6" 1663 | source = "registry+https://github.com/rust-lang/crates.io-index" 1664 | dependencies = [ 1665 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1666 | ] 1667 | 1668 | [[package]] 1669 | name = "stdweb" 1670 | version = "0.1.3" 1671 | source = "registry+https://github.com/rust-lang/crates.io-index" 1672 | 1673 | [[package]] 1674 | name = "stdweb" 1675 | version = "0.4.17" 1676 | source = "registry+https://github.com/rust-lang/crates.io-index" 1677 | dependencies = [ 1678 | "discard 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1679 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 1680 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1681 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", 1682 | "stdweb-derive 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1683 | "stdweb-internal-macros 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 1684 | "stdweb-internal-runtime 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1685 | "wasm-bindgen 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", 1686 | ] 1687 | 1688 | [[package]] 1689 | name = "stdweb-derive" 1690 | version = "0.5.1" 1691 | source = "registry+https://github.com/rust-lang/crates.io-index" 1692 | dependencies = [ 1693 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1694 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1695 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1696 | "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1697 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1698 | ] 1699 | 1700 | [[package]] 1701 | name = "stdweb-internal-macros" 1702 | version = "0.2.7" 1703 | source = "registry+https://github.com/rust-lang/crates.io-index" 1704 | dependencies = [ 1705 | "base-x 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", 1706 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1707 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1708 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1709 | "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1710 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", 1711 | "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", 1712 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1713 | ] 1714 | 1715 | [[package]] 1716 | name = "stdweb-internal-runtime" 1717 | version = "0.1.4" 1718 | source = "registry+https://github.com/rust-lang/crates.io-index" 1719 | 1720 | [[package]] 1721 | name = "strsim" 1722 | version = "0.8.0" 1723 | source = "registry+https://github.com/rust-lang/crates.io-index" 1724 | 1725 | [[package]] 1726 | name = "syn" 1727 | version = "0.15.34" 1728 | source = "registry+https://github.com/rust-lang/crates.io-index" 1729 | dependencies = [ 1730 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1731 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1732 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1733 | ] 1734 | 1735 | [[package]] 1736 | name = "tempdir" 1737 | version = "0.3.7" 1738 | source = "registry+https://github.com/rust-lang/crates.io-index" 1739 | dependencies = [ 1740 | "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 1741 | "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 1742 | ] 1743 | 1744 | [[package]] 1745 | name = "termion" 1746 | version = "1.5.2" 1747 | source = "registry+https://github.com/rust-lang/crates.io-index" 1748 | dependencies = [ 1749 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1750 | "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1751 | "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", 1752 | "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1753 | ] 1754 | 1755 | [[package]] 1756 | name = "textwrap" 1757 | version = "0.11.0" 1758 | source = "registry+https://github.com/rust-lang/crates.io-index" 1759 | dependencies = [ 1760 | "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1761 | ] 1762 | 1763 | [[package]] 1764 | name = "thread_local" 1765 | version = "0.3.6" 1766 | source = "registry+https://github.com/rust-lang/crates.io-index" 1767 | dependencies = [ 1768 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1769 | ] 1770 | 1771 | [[package]] 1772 | name = "tiff" 1773 | version = "0.2.2" 1774 | source = "registry+https://github.com/rust-lang/crates.io-index" 1775 | dependencies = [ 1776 | "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 1777 | "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 1778 | "num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", 1779 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1780 | ] 1781 | 1782 | [[package]] 1783 | name = "toml" 1784 | version = "0.5.1" 1785 | source = "registry+https://github.com/rust-lang/crates.io-index" 1786 | dependencies = [ 1787 | "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)", 1788 | ] 1789 | 1790 | [[package]] 1791 | name = "twox-hash" 1792 | version = "1.3.0" 1793 | source = "registry+https://github.com/rust-lang/crates.io-index" 1794 | dependencies = [ 1795 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 1796 | ] 1797 | 1798 | [[package]] 1799 | name = "typenum" 1800 | version = "1.10.0" 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" 1802 | 1803 | [[package]] 1804 | name = "ucd-util" 1805 | version = "0.1.3" 1806 | source = "registry+https://github.com/rust-lang/crates.io-index" 1807 | 1808 | [[package]] 1809 | name = "unicode-width" 1810 | version = "0.1.5" 1811 | source = "registry+https://github.com/rust-lang/crates.io-index" 1812 | 1813 | [[package]] 1814 | name = "unicode-xid" 1815 | version = "0.1.0" 1816 | source = "registry+https://github.com/rust-lang/crates.io-index" 1817 | 1818 | [[package]] 1819 | name = "utf8-ranges" 1820 | version = "1.0.2" 1821 | source = "registry+https://github.com/rust-lang/crates.io-index" 1822 | 1823 | [[package]] 1824 | name = "uuid" 1825 | version = "0.7.4" 1826 | source = "registry+https://github.com/rust-lang/crates.io-index" 1827 | 1828 | [[package]] 1829 | name = "vec_map" 1830 | version = "0.8.1" 1831 | source = "registry+https://github.com/rust-lang/crates.io-index" 1832 | 1833 | [[package]] 1834 | name = "version_check" 1835 | version = "0.1.5" 1836 | source = "registry+https://github.com/rust-lang/crates.io-index" 1837 | 1838 | [[package]] 1839 | name = "void" 1840 | version = "1.0.2" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | 1843 | [[package]] 1844 | name = "walkdir" 1845 | version = "2.2.7" 1846 | source = "registry+https://github.com/rust-lang/crates.io-index" 1847 | dependencies = [ 1848 | "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1849 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1850 | "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 1851 | ] 1852 | 1853 | [[package]] 1854 | name = "wasm-bindgen" 1855 | version = "0.2.45" 1856 | source = "registry+https://github.com/rust-lang/crates.io-index" 1857 | dependencies = [ 1858 | "wasm-bindgen-macro 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", 1859 | ] 1860 | 1861 | [[package]] 1862 | name = "wasm-bindgen-backend" 1863 | version = "0.2.45" 1864 | source = "registry+https://github.com/rust-lang/crates.io-index" 1865 | dependencies = [ 1866 | "bumpalo 2.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 1867 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1868 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 1869 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1870 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1871 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1872 | "wasm-bindgen-shared 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", 1873 | ] 1874 | 1875 | [[package]] 1876 | name = "wasm-bindgen-macro" 1877 | version = "0.2.45" 1878 | source = "registry+https://github.com/rust-lang/crates.io-index" 1879 | dependencies = [ 1880 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1881 | "wasm-bindgen-macro-support 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", 1882 | ] 1883 | 1884 | [[package]] 1885 | name = "wasm-bindgen-macro-support" 1886 | version = "0.2.45" 1887 | source = "registry+https://github.com/rust-lang/crates.io-index" 1888 | dependencies = [ 1889 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1890 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1891 | "syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)", 1892 | "wasm-bindgen-backend 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", 1893 | "wasm-bindgen-shared 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)", 1894 | ] 1895 | 1896 | [[package]] 1897 | name = "wasm-bindgen-shared" 1898 | version = "0.2.45" 1899 | source = "registry+https://github.com/rust-lang/crates.io-index" 1900 | 1901 | [[package]] 1902 | name = "wayland-client" 1903 | version = "0.21.12" 1904 | source = "registry+https://github.com/rust-lang/crates.io-index" 1905 | dependencies = [ 1906 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1907 | "downcast-rs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1908 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1909 | "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", 1910 | "wayland-commons 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1911 | "wayland-scanner 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1912 | "wayland-sys 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1913 | ] 1914 | 1915 | [[package]] 1916 | name = "wayland-commons" 1917 | version = "0.21.12" 1918 | source = "registry+https://github.com/rust-lang/crates.io-index" 1919 | dependencies = [ 1920 | "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", 1921 | "wayland-sys 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1922 | ] 1923 | 1924 | [[package]] 1925 | name = "wayland-protocols" 1926 | version = "0.21.12" 1927 | source = "registry+https://github.com/rust-lang/crates.io-index" 1928 | dependencies = [ 1929 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1930 | "wayland-client 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1931 | "wayland-commons 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1932 | "wayland-scanner 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1933 | "wayland-sys 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 1934 | ] 1935 | 1936 | [[package]] 1937 | name = "wayland-scanner" 1938 | version = "0.21.12" 1939 | source = "registry+https://github.com/rust-lang/crates.io-index" 1940 | dependencies = [ 1941 | "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", 1942 | "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", 1943 | "xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 1944 | ] 1945 | 1946 | [[package]] 1947 | name = "wayland-sys" 1948 | version = "0.21.12" 1949 | source = "registry+https://github.com/rust-lang/crates.io-index" 1950 | dependencies = [ 1951 | "dlib 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", 1952 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1953 | ] 1954 | 1955 | [[package]] 1956 | name = "which" 1957 | version = "1.0.5" 1958 | source = "registry+https://github.com/rust-lang/crates.io-index" 1959 | dependencies = [ 1960 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 1961 | ] 1962 | 1963 | [[package]] 1964 | name = "winapi" 1965 | version = "0.2.8" 1966 | source = "registry+https://github.com/rust-lang/crates.io-index" 1967 | 1968 | [[package]] 1969 | name = "winapi" 1970 | version = "0.3.7" 1971 | source = "registry+https://github.com/rust-lang/crates.io-index" 1972 | dependencies = [ 1973 | "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1974 | "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1975 | ] 1976 | 1977 | [[package]] 1978 | name = "winapi-build" 1979 | version = "0.1.1" 1980 | source = "registry+https://github.com/rust-lang/crates.io-index" 1981 | 1982 | [[package]] 1983 | name = "winapi-i686-pc-windows-gnu" 1984 | version = "0.4.0" 1985 | source = "registry+https://github.com/rust-lang/crates.io-index" 1986 | 1987 | [[package]] 1988 | name = "winapi-util" 1989 | version = "0.1.2" 1990 | source = "registry+https://github.com/rust-lang/crates.io-index" 1991 | dependencies = [ 1992 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 1993 | ] 1994 | 1995 | [[package]] 1996 | name = "winapi-x86_64-pc-windows-gnu" 1997 | version = "0.4.0" 1998 | source = "registry+https://github.com/rust-lang/crates.io-index" 1999 | 2000 | [[package]] 2001 | name = "winit" 2002 | version = "0.19.1" 2003 | source = "registry+https://github.com/rust-lang/crates.io-index" 2004 | dependencies = [ 2005 | "android_glue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 2006 | "backtrace 0.3.20 (registry+https://github.com/rust-lang/crates.io-index)", 2007 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 2008 | "cocoa 0.18.4 (registry+https://github.com/rust-lang/crates.io-index)", 2009 | "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 2010 | "core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)", 2011 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 2012 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 2013 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 2014 | "objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 2015 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 2016 | "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 2017 | "smithay-client-toolkit 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", 2018 | "wayland-client 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)", 2019 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 2020 | "x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)", 2021 | ] 2022 | 2023 | [[package]] 2024 | name = "x11-dl" 2025 | version = "2.18.3" 2026 | source = "registry+https://github.com/rust-lang/crates.io-index" 2027 | dependencies = [ 2028 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 2029 | "libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)", 2030 | "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", 2031 | ] 2032 | 2033 | [[package]] 2034 | name = "xdg" 2035 | version = "2.2.0" 2036 | source = "registry+https://github.com/rust-lang/crates.io-index" 2037 | 2038 | [[package]] 2039 | name = "xi-unicode" 2040 | version = "0.1.0" 2041 | source = "registry+https://github.com/rust-lang/crates.io-index" 2042 | 2043 | [[package]] 2044 | name = "xml-rs" 2045 | version = "0.7.0" 2046 | source = "registry+https://github.com/rust-lang/crates.io-index" 2047 | dependencies = [ 2048 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 2049 | ] 2050 | 2051 | [[package]] 2052 | name = "xml-rs" 2053 | version = "0.8.0" 2054 | source = "registry+https://github.com/rust-lang/crates.io-index" 2055 | 2056 | [[package]] 2057 | name = "zip" 2058 | version = "0.5.2" 2059 | source = "registry+https://github.com/rust-lang/crates.io-index" 2060 | dependencies = [ 2061 | "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 2062 | "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 2063 | "podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 2064 | ] 2065 | 2066 | [metadata] 2067 | "checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c" 2068 | "checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5" 2069 | "checksum alga 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d708cb68c7106ed1844de68f50f0157a7788c2909a6926fad5a87546ef6a4ff8" 2070 | "checksum alsa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0edcbbf9ef68f15ae1b620f722180b82a98b6f0628d30baa6b8d2a5abc87d58" 2071 | "checksum andrew 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e" 2072 | "checksum android_glue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "000444226fcff248f2bc4c7625be32c63caccfecc2723a2b9f78a7487a49c407" 2073 | "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" 2074 | "checksum approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94" 2075 | "checksum approx 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" 2076 | "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" 2077 | "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" 2078 | "checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799" 2079 | "checksum backtrace 0.3.20 (registry+https://github.com/rust-lang/crates.io-index)" = "45934a579eff9fd0ff637ac376a4bd134f47f8fc603f0b211d696b54d61e35f1" 2080 | "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" 2081 | "checksum base-x 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d55aa264e822dbafa12db4d54767aff17c6ba55ea2d8559b3e17392c7d000e5d" 2082 | "checksum bindgen 0.32.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8b242e11a8f446f5fc7b76b37e81d737cabca562a927bd33766dac55b5f1177f" 2083 | "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" 2084 | "checksum block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 2085 | "checksum bumpalo 2.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "84dca3afd8e01b9526818b7963e5b4916063b3cdf9f10cf6b73ef0bd0ec37aa5" 2086 | "checksum bytecount 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b92204551573580e078dc80017f36a213eb77a0450e4ddd8cfa0f3f2d1f0178f" 2087 | "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" 2088 | "checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b" 2089 | "checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f" 2090 | "checksum cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e5d1b4d380e1bab994591a24c2bdd1b054f64b60bef483a8c598c7c345bc3bbe" 2091 | "checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" 2092 | "checksum cexpr 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42aac45e9567d97474a834efdee3081b3c942b2205be932092f53354ce503d6c" 2093 | "checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" 2094 | "checksum cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "55e7ec0b74fe5897894cbc207092c577e87c52f8a59e8ca8d97ef37551f60a49" 2095 | "checksum cgmath 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "87f025a17ad3f30d49015c787903976d5f9cd6115ece1eb7f4d6ffe06b8c4080" 2096 | "checksum clang-sys 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e414af9726e1d11660801e73ccc7fb81803fb5f49e5903a25b348b2b3b480d2e" 2097 | "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" 2098 | "checksum claxon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "35193597ff846c905e135b66b7a88876a8b684d269a24fa0f6086988fc2197c8" 2099 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" 2100 | "checksum cocoa 0.18.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cf79daa4e11e5def06e55306aa3601b87de6b5149671529318da048f67cdd77b" 2101 | "checksum color_quant 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0dbbb57365263e881e805dc77d94697c9118fd94d8da011240555aa7b23445bd" 2102 | "checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" 2103 | "checksum core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa" 2104 | "checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" 2105 | "checksum core-graphics 0.17.3 (registry+https://github.com/rust-lang/crates.io-index)" = "56790968ab1c8a1202a102e6de05fc6e1ec87da99e4e93e9a7d13efbfc1e95a9" 2106 | "checksum coreaudio-rs 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f229761965dad3e9b11081668a6ea00f1def7aa46062321b5ec245b834f6e491" 2107 | "checksum coreaudio-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "78fdbabf58d5b1f461e31b94a571c109284f384cec619a3d96e66ec55b4de82b" 2108 | "checksum cpal 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d58ae1ed6536b1b233f5e3aeb6997a046ddb4d05e3f61701b58a92eb254a829e" 2109 | "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" 2110 | "checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71" 2111 | "checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4" 2112 | "checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c" 2113 | "checksum deflate 0.7.19 (registry+https://github.com/rust-lang/crates.io-index)" = "8a6abb26e16e8d419b5c78662aa9f82857c2386a073da266840e474d5055ec86" 2114 | "checksum derivative 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6073e9676dbebdddeabaeb63e3b7cefd23c86f5c41d381ee1237cc77b1079898" 2115 | "checksum directories 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72d337a64190607d4fcca2cb78982c5dd57f4916e19696b48a575fa746b6cb0f" 2116 | "checksum discard 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" 2117 | "checksum dlib 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "77e51249a9d823a4cb79e3eca6dcd756153e8ed0157b6c04775d04bf1b13b76a" 2118 | "checksum downcast-rs 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f2b92dfd5c2f75260cbf750572f95d387e7ca0ba5e3fbe9e1a33f23025be020f" 2119 | "checksum draw_state 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "33cf9537e2d06891448799b96d5a8c8083e0e90522a7fdabe6ebf4f41d79d651" 2120 | "checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" 2121 | "checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9" 2122 | "checksum euclid 0.19.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7a4719a544a67ed3fc33784c2bd2c6581663dfe83b719a6ae05c6dabc3b51c73" 2123 | "checksum euclid_macros 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fdcb84c18ea5037a1c5a23039b4ff29403abce2e0d6b1daa11cf0bde2b30be15" 2124 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" 2125 | "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 2126 | "checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 2127 | "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" 2128 | "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" 2129 | "checksum gfx 0.18.1 (registry+https://github.com/rust-lang/crates.io-index)" = "619e38a31e275efaf92c6a94f977db8aac396e3cb6998c176cfde32ce3239b69" 2130 | "checksum gfx_core 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4e1127b02a9d4fcc880091d8a0f4419efd598de4f1649edcd005c76e5792176f" 2131 | "checksum gfx_device_gl 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3fdb9c21d057f32d5a9fc7b8737a28e09a93006a095e0a129723b424cffd2003" 2132 | "checksum gfx_gl 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8525888d909a6424b04f9136976f07a85fc1f3704555c1a73897e258326c8319" 2133 | "checksum gfx_window_glutin 0.30.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f415d3534e6ea92f3ded1683e9e00592a76e2e67050e33244bb507719a211eb2" 2134 | "checksum ggez 0.5.0-rc.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f882a98f0a1006ad191917b7984bc20e6e454d54eff4e6e80abc8451b2fbbfa5" 2135 | "checksum gif 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4bca55ac1f213920ce3527ccd62386f1f15fa3f1714aeee1cf93f2c416903f" 2136 | "checksum gilrs 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b012698ad05fc2b88cdf38cd4bc1c94f7fea862ea26cef36aee03de877ef028b" 2137 | "checksum gilrs-core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "410f453995157b78c4bb941e5dffd6d9f7d7976ce60899c052b340e61e381ccd" 2138 | "checksum gl_generator 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39a23d5e872a275135d66895d954269cf5e8661d234eb1c2480f4ce0d586acbd" 2139 | "checksum gleam 0.6.17 (registry+https://github.com/rust-lang/crates.io-index)" = "7f46fd8874e043ffac0d638ed1567a2584f7814f6d72b4db37ab1689004a26c4" 2140 | "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" 2141 | "checksum glutin 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff663466cd51f6fda5976e8a6f02a9fd65b8dde0b9b11db8344585174d015b2c" 2142 | "checksum glutin_egl_sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "23f48987ab6cb2b61ad903b59e54a2fd0c380a7baff68cffd6826b69a73dd326" 2143 | "checksum glutin_gles2_sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "89996c30857ae1b4de4b5189abf1ea822a20a9fe9e1c93e5e7b862ff0bdd5cdf" 2144 | "checksum glutin_glx_sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1290a5ca5e46fcfa7f66f949cc9d9194b2cb6f2ed61892c8c2b82343631dba57" 2145 | "checksum glutin_wgl_sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f801bbc91efc22dd1c4818a47814fc72bf74d024510451b119381579bfa39021" 2146 | "checksum glyph_brush 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "be94ebf0ed20d97422538cdd674224fba353b1f8ebe1364ad8bdef81f5aa4984" 2147 | "checksum glyph_brush_layout 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "02ef0106c046a31550589e2213f3ae22b25f3b57fb3b6d937416353079837380" 2148 | "checksum hashbrown 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "570178d5e4952010d138b0f1d581271ff3a02406d990f887d1e87e3d6e43b0ac" 2149 | "checksum hound 3.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549" 2150 | "checksum image 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)" = "293e54ce142a936a39da748ba8178ae6aa1914b82d846a4278f11590c89bf116" 2151 | "checksum inflate 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff" 2152 | "checksum io-kit-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f21dcc74995dd4cd090b147e79789f8d65959cbfb5f0b118002db869ea3bd0a0" 2153 | "checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f" 2154 | "checksum jpeg-decoder 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "c8b7d43206b34b3f94ea9445174bda196e772049b9bddbc620c9d29b2d20110d" 2155 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" 2156 | "checksum khronos_api 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" 2157 | "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" 2158 | "checksum lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8d542c1a317036c45c2aa1cf10cc9d403ca91eb2d333ef1a4917e5cb10628bd0" 2159 | "checksum libc 0.2.55 (registry+https://github.com/rust-lang/crates.io-index)" = "42914d39aad277d9e176efbdad68acb1d5443ab65afe0e0e4f0d49352a950880" 2160 | "checksum libloading 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fd38073de8f7965d0c17d30546d4bb6da311ab428d1c7a3fc71dff7f9d4979b9" 2161 | "checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2" 2162 | "checksum libm 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cfcefbd3a8aad4c0552fa150c28291becc386b1b056988493517875e987e99e3" 2163 | "checksum libudev-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" 2164 | "checksum line_drawing 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5cc7ad3d82c845bdb5dde34ffdcc7a5fb4d2996e1e1ee0f19c33bc80e15196b9" 2165 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" 2166 | "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" 2167 | "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" 2168 | "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" 2169 | "checksum lyon 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5bdc664e8c75115a90cb08dcd23401a66c886184be28568debf6a447cf221ae7" 2170 | "checksum lyon_algorithms 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "db6a52698a7455d25f8385959721c3bb078e2385bc35d053e96f6cab14fe5d07" 2171 | "checksum lyon_geom 0.12.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0638070e85f0e8b5da3909d8c5c0a66785b18da96a1e8dc30acb0aea9770529a" 2172 | "checksum lyon_path 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "59da21f4f954c32448e470134d15374e1a9e832cbf85c3b4e657e58882c9a716" 2173 | "checksum lyon_tessellation 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a2e515032733b7f3d1e4e4568315df3e56ff537fa717225442d7f42590441b17" 2174 | "checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" 2175 | "checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1" 2176 | "checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 2177 | "checksum matrixmultiply 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfed72d871629daa12b25af198f110e8095d7650f5f4c61c5bac28364604f9b" 2178 | "checksum memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a" 2179 | "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" 2180 | "checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" 2181 | "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" 2182 | "checksum minimp3 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "542e9bed56860c5070a09939eee0e2df6f8f73f60304ddf56d620947e7017239" 2183 | "checksum minimp3-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c109ae05c00ad6e3a53fab101e2f234545bdd010f0fffd399355efaf70817817" 2184 | "checksum mint 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c9e6c29b4bb0155117ea1a61520406c975673ee71b0287323f06d1a8d69c4a7c" 2185 | "checksum nalgebra 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e12856109b5cb8e2934b5e45e4624839416e1c6c1f7d286711a7a66b79db29d" 2186 | "checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17" 2187 | "checksum nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46f0f3210768d796e8fa79ec70ee6af172dacbe7147f5e69be5240a47778302b" 2188 | "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" 2189 | "checksum nom 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05aec50c70fd288702bcd93284a8444607f3292dbdf2a30de5ea5dcdbe72287b" 2190 | "checksum num-complex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "107b9be86cd2481930688277b675b0114578227f034674726605b8a482d8baf8" 2191 | "checksum num-derive 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2" 2192 | "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" 2193 | "checksum num-iter 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "af3fdbbc3291a5464dc57b03860ec37ca6bf915ed6ee385e7c6c052c422b2124" 2194 | "checksum num-rational 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4e96f040177bb3da242b5b1ecf3f54b5d5af3efbbfb18608977a5d2767b22f10" 2195 | "checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" 2196 | "checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" 2197 | "checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba" 2198 | "checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" 2199 | "checksum objc 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "31d20fd2b37e07cf5125be68357b588672e8cefe9a96f8c17a9d46053b3e590d" 2200 | "checksum ogg 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d79f1db9148be9d0e174bb3ac890f6030fcb1ed947267c5a91ee4c91b5a91e15" 2201 | "checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" 2202 | "checksum osmesa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "88cfece6e95d2e717e0872a7f53a8684712ad13822a7979bc760b9c77ec0013b" 2203 | "checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" 2204 | "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" 2205 | "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" 2206 | "checksum peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" 2207 | "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" 2208 | "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" 2209 | "checksum png 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "63daf481fdd0defa2d1d2be15c674fbfa1b0fd71882c303a91f9a79b3252c359" 2210 | "checksum podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd" 2211 | "checksum proc-macro2 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cd07deb3c6d1d9ff827999c7f9b04cdfd66b1b17ae508e14fe47b620f2282ae0" 2212 | "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" 2213 | "checksum pulldown-cmark 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eef52fac62d0ea7b9b4dc7da092aa64ea7ec3d90af6679422d3d7e0e14b6ee15" 2214 | "checksum quote 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eca14c727ad12702eb4b6bfb5a232287dcf8385cb8ca83a3eeaf6519c44c408" 2215 | "checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" 2216 | "checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c" 2217 | "checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" 2218 | "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" 2219 | "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" 2220 | "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" 2221 | "checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" 2222 | "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" 2223 | "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" 2224 | "checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" 2225 | "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" 2226 | "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" 2227 | "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" 2228 | "checksum rawpointer 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebac11a9d2e11f2af219b8b8d833b76b1ea0e054aa0e8d8e9e4cbde353bdf019" 2229 | "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" 2230 | "checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252" 2231 | "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" 2232 | "checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" 2233 | "checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" 2234 | "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" 2235 | "checksum rodio 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "10cb47941163cb747978d13a5c1b5c8fcd17f501817c4b77b9d69aed9ea240bc" 2236 | "checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288" 2237 | "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" 2238 | "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" 2239 | "checksum rusttype 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "25951e85bb2647960969f72c559392245a5bd07446a589390bf427dda31cdc4a" 2240 | "checksum rusty-xinput 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2aa654bc32eb9ca14cce1a084abc9dfe43949a4547c35269a094c39272db3bb" 2241 | "checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f" 2242 | "checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" 2243 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" 2244 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" 2245 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" 2246 | "checksum serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "a72e9b96fa45ce22a4bc23da3858dfccfd60acd28a25bcd328a98fdd6bea43fd" 2247 | "checksum serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "101b495b109a3e3ca8c4cbe44cf62391527cdfb6ba15821c5ce80bcd5ea23f9f" 2248 | "checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d" 2249 | "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" 2250 | "checksum shared_library 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" 2251 | "checksum sid 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "29e0a6006cf04d568a49363baca3dabddbbe46538f7c76692d405f5f5d140ecd" 2252 | "checksum skeptic 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d6fb8ed853fdc19ce09752d63f3a2e5b5158aeb261520cd75eb618bd60305165" 2253 | "checksum slice-deque 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c32c436708f95c8e92e3de1d220bdaa3b3b564fd68797b590079b59c442617b3" 2254 | "checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be" 2255 | "checksum smart-default 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5a9dbd5f03d04e80355cbbe3ce5cf1f65c421eac575402e3d4d6e95d5a44edaa" 2256 | "checksum smithay-client-toolkit 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "aa4899558362a65589b53313935099835acf999740915e134dff20cca7c6a28b" 2257 | "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" 2258 | "checksum stb_truetype 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "69b7df505db8e81d54ff8be4693421e5b543e08214bd8d99eb761fcb4d5668ba" 2259 | "checksum stdweb 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" 2260 | "checksum stdweb 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c34362bb10ac1a9439674795cc0e1bdcb0c46444c8fd4874ef39a01d9a8a8f24" 2261 | "checksum stdweb-derive 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0e21ebd9179de08f2300a65454268a17ea3de204627458588c84319c4def3930" 2262 | "checksum stdweb-internal-macros 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "e68f7d08b76979a43e93fe043b66d2626e35d41d68b0b85519202c6dd8ac59fa" 2263 | "checksum stdweb-internal-runtime 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d52317523542cc0af5b7e31017ad0f7d1e78da50455e38d5657cd17754f617da" 2264 | "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" 2265 | "checksum syn 0.15.34 (registry+https://github.com/rust-lang/crates.io-index)" = "a1393e4a97a19c01e900df2aec855a29f71cf02c402e2f443b8d2747c25c5dbe" 2266 | "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" 2267 | "checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea" 2268 | "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" 2269 | "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" 2270 | "checksum tiff 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4834f28a0330cb9f3f2c87d2649dca723cb33802e2bdcf18da32759fbec7ce" 2271 | "checksum toml 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b8c96d7873fa7ef8bdeb3a9cda3ac48389b4154f32b9803b4bc26220b677b039" 2272 | "checksum twox-hash 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6c7bcecad121018bdcd6b709fa2325b004878fcb3d3067934ce90749f0faff9a" 2273 | "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" 2274 | "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" 2275 | "checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" 2276 | "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" 2277 | "checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737" 2278 | "checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a" 2279 | "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" 2280 | "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" 2281 | "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" 2282 | "checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1" 2283 | "checksum wasm-bindgen 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "b7ccc7b93cfd13e26700a9e2e41e6305f1951b87e166599069f77d10358100e6" 2284 | "checksum wasm-bindgen-backend 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "1953f91b1608eb1522513623c7739f047bb0fed4128ce51a93f08e12cc314645" 2285 | "checksum wasm-bindgen-macro 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "0f69da5696545d7ca6607a2e4b1a0edf5a6b36b2c49dbb0f1df6ad1d92884047" 2286 | "checksum wasm-bindgen-macro-support 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "2d4246f3bc73223bbb846f4f2430a60725826a96c9389adf715ed1d5af46dec6" 2287 | "checksum wasm-bindgen-shared 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "c08381e07e7a79e5e229ad7c60d15833d19033542cc5dd91d085df59d235f4a6" 2288 | "checksum wayland-client 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)" = "e77d1e6887f07ea2e5d79a3d7d03a875e62d3746334a909b5035d779d849a523" 2289 | "checksum wayland-commons 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)" = "dff69a5399ca212efa4966f3ee2a3773f19960d0fa329b9aca046a8508a0e09f" 2290 | "checksum wayland-protocols 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ccddf6a4407d982898e0f0a1172217843f3d40fe4272f828060b56a2d40d81" 2291 | "checksum wayland-scanner 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)" = "63bc5efa7dcdb8f04d2e5d1571c0d0577fc47076d133d68e056bdb299f1b60e2" 2292 | "checksum wayland-sys 0.21.12 (registry+https://github.com/rust-lang/crates.io-index)" = "e76af81a601b84d400744f85f083381daa77ac01f6c8711e57e662dc3a35d69d" 2293 | "checksum which 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e84a603e7e0b1ce1aa1ee2b109c7be00155ce52df5081590d1ffb93f4f515cb2" 2294 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" 2295 | "checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" 2296 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" 2297 | "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2298 | "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" 2299 | "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2300 | "checksum winit 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d233301129ddd33260b47f76900b50e154b7254546e2edba0e5468a1a5fe4de3" 2301 | "checksum x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)" = "940586acb859ea05c53971ac231685799a7ec1dee66ac0bccc0e6ad96e06b4e3" 2302 | "checksum xdg 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" 2303 | "checksum xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1" 2304 | "checksum xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c1cb601d29fe2c2ac60a2b2e5e293994d87a1f6fa9687a31a15270f909be9c2" 2305 | "checksum xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "541b12c998c5b56aa2b4e6f18f03664eef9a4fd0a246a55594efae6cc2d964b5" 2306 | "checksum zip 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c18fc320faf909036e46ac785ea827f72e485304877faf1a3a39538d3714dbc3" 2307 | --------------------------------------------------------------------------------