├── .gitignore ├── img └── screenshot.png ├── terminal-sunday-rust ├── Cargo.toml ├── src │ └── main.rs └── Cargo.lock ├── terminal_sunday_spec.rb ├── terminal_sunday.rb ├── terminal_sunday.sh └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | terminal-sunday-rust/target 2 | -------------------------------------------------------------------------------- /img/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/accessd/terminal-sunday/HEAD/img/screenshot.png -------------------------------------------------------------------------------- /terminal-sunday-rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "terminal-sunday-rust" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | chrono = "0.4.38" 10 | clap = { version = "4.5.13", features = ["derive"] } 11 | -------------------------------------------------------------------------------- /terminal_sunday_spec.rb: -------------------------------------------------------------------------------- 1 | require 'date' 2 | 3 | def script_output 4 | `ruby ./terminal_sunday.rb #{birthdate}` 5 | end 6 | 7 | RSpec.describe 'Terminal Sunday' do 8 | before do 9 | allow(Date).to receive(:today).and_return Date.new(2024, 1, 3) 10 | end 11 | 12 | let(:birthdate) { '1985-06-08' } 13 | 14 | it 'calculates remaining Sundays correctly' do 15 | expect(script_output).to include('2148') 16 | end 17 | 18 | it 'shows birth year' do 19 | expect(script_output).to include('1985') 20 | end 21 | 22 | it 'shows the last year' do 23 | expect(script_output).to include('2064') 24 | end 25 | 26 | describe 'handles incorrect number of args' do 27 | it do 28 | script_output = `ruby ./terminal_sunday.rb` 29 | expect(script_output).to include('Usage: ') 30 | end 31 | end 32 | 33 | describe 'handles invalid date format' do 34 | let(:birthdate) { '1985' } 35 | 36 | it do 37 | expect(script_output).to include('Invalid date format') 38 | end 39 | end 40 | end 41 | -------------------------------------------------------------------------------- /terminal_sunday.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'date' 4 | 5 | if ARGV.length < 1 6 | puts "Usage: #{$0} birthdate [username]" 7 | puts "Example: #{$0} 1985-06-08 Joe" 8 | exit 1 9 | end 10 | 11 | birthdate = ARGV[0] 12 | name = ARGV.length > 1 ? ARGV[1] : ENV['USER'] 13 | life_expectancy = 80 14 | 15 | begin 16 | birthdate_parsed = Date.parse(birthdate) 17 | rescue ArgumentError 18 | puts "Invalid date format. Please use YYYY-MM-DD." 19 | exit 1 20 | end 21 | 22 | current_date = Date.today 23 | weeks_passed = (current_date - birthdate_parsed).to_i / 7 24 | total_weeks = life_expectancy * 52 25 | weeks_remaining = total_weeks - weeks_passed 26 | birth_year = birthdate_parsed.year 27 | years_passed = (current_date.year - birth_year) 28 | last_year = birth_year + life_expectancy - 1 29 | 30 | puts "#{name}, only #{weeks_remaining} Sundays remain\n\n" 31 | 32 | (0...life_expectancy).each do |year_index| 33 | puts "#{birth_year}\n" if year_index == 0 34 | print year_index < years_passed ? "\e[41m \e[0m " : "\e[42m \e[0m " 35 | 36 | line_break = (year_index == life_expectancy - 1) ? "\n" : "\n\n" 37 | print line_break if (year_index + 1) % 20 == 0 38 | end 39 | print " " * 55 + last_year.to_s 40 | 41 | puts "\n\nHow are you going to spend these Sundays, #{name}?" 42 | -------------------------------------------------------------------------------- /terminal_sunday.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | RED="\033[41m \033[0m" 4 | GREEN="\033[42m \033[0m" 5 | GAP=" " 6 | 7 | if [ $# -lt 1 ]; then 8 | echo "Usage: $0 birthdate [username]" 9 | echo "Example: $0 1985-06-08 Joe" 10 | exit 1 11 | fi 12 | 13 | birthdate=$1 14 | name=${2:-$USER} 15 | columns=${3:-20} 16 | 17 | life_expectancy=80 18 | last_year_index=$((life_expectancy - 1)) 19 | 20 | case "$(uname)" in 21 | "Linux" | "MINGW" | "CYGWIN"*) 22 | birth_year=$(date -d "$birthdate" +"%Y") 23 | birth_timestamp=$(date -d "$birthdate" +%s) 24 | ;; 25 | "Darwin") 26 | birth_year=$(date -j -f "%Y-%m-%d" "$birthdate" +"%Y") 27 | birth_timestamp=$(date -j -f "%Y-%m-%d" "$birthdate" +%s) 28 | ;; 29 | *) echo "Unsupported OS"; exit 1 ;; 30 | esac 31 | 32 | current_year=$(date +"%Y") 33 | current_timestamp=$(date +%s) 34 | years_passed=$((current_year - birth_year)) 35 | weeks_passed=$(( (current_timestamp - birth_timestamp) / 604800 )) 36 | total_weeks=$((life_expectancy * 52)) 37 | weeks_remaining=$((total_weeks - weeks_passed)) 38 | 39 | echo -e "$name, only $weeks_remaining Sundays remain\n" 40 | 41 | rows=$((life_expectancy / columns)) 42 | 43 | for (( row=0; row, 14 | } 15 | 16 | fn parse_birthdate(s: &str) -> Result { 17 | NaiveDate::parse_from_str(s, "%Y-%m-%d") 18 | .map_err(|_| "Invalid date format. Please use YYYY-MM-DD.".to_string()) 19 | } 20 | 21 | fn main() { 22 | let opts: Opts = Opts::parse(); 23 | 24 | let name = opts.username.unwrap_or(env::var("USER").unwrap()); 25 | let life_expectancy = 80; 26 | let birthdate_parsed = opts.birthdate; 27 | 28 | let current_date = Local::now().date_naive(); 29 | let weeks_passed = (current_date - birthdate_parsed).num_days() / 7; 30 | let total_weeks = life_expectancy * 52; 31 | let weeks_remaining = total_weeks - weeks_passed; 32 | let birth_year = birthdate_parsed.year() as i64; 33 | let years_passed = current_date.year() as i64 - birth_year; 34 | let last_year = birth_year + life_expectancy - 1; 35 | 36 | println!("{}, only {} Sundays remain\n", name, weeks_remaining); 37 | 38 | for year_index in 0..life_expectancy { 39 | if year_index == 0 { 40 | println!("{}", birth_year); 41 | } 42 | 43 | if year_index < years_passed { 44 | print!("\x1b[41m \x1b[0m "); 45 | } else { 46 | print!("\x1b[42m \x1b[0m "); 47 | } 48 | 49 | if (year_index + 1) % 20 == 0 { 50 | let line_break = if year_index == life_expectancy - 1 { 51 | "\n" 52 | } else { 53 | "\n\n" 54 | }; 55 | print!("{}", line_break); 56 | } 57 | } 58 | println!("{:55}{}", "", last_year); 59 | 60 | println!("\n\nHow are you going to spend these Sundays, {}?", name); 61 | } 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Terminal Sunday 2 | 3 | > "Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life." - Steve Jobs 4 | 5 | ![ScreenShot](https://raw.githubusercontent.com/accessd/terminal-sunday/master/img/screenshot.png) 6 | 7 | The idea is to provide a graphical and thought-provoking view of one's life span, promoting a reflection on how we spend our time. 8 | 9 | ## Ruby version 10 | 11 | Made initially with Bash, I wrote another version with Ruby language because I love Ruby and to show [Ruby is not dead](https://isrubydead.com/)! :) 12 | 13 | ## Installation 14 | 15 | The script should work on macOS and Linux (The bash script may also work with MINGW). 16 | To use this script, follow the steps below: 17 | 18 | 1. Download script or clone repository and make sure the script is executable: 19 | 20 | ```bash 21 | curl -L https://raw.githubusercontent.com/accessd/terminal-sunday/main/terminal_sunday.sh -o "$HOME/terminal_sunday.sh" 22 | chmod +x "$HOME/terminal_sunday.sh" 23 | ``` 24 | 25 | 2. Add the script run to the end of .bashrc/.zshrc/etc. 26 | 27 | ```bash 28 | $HOME/terminal_sunday.sh 1985-06-08 Joe 29 | ``` 30 | 31 | Fish: 32 | 33 | ```fish 34 | bash $HOME/terminal_sunday.sh 1985-06-08 Joe 35 | ``` 36 | 37 | Provide your birthdate and name to the script. 38 | 39 | You can run it randomly with: 40 | 41 | ```bash 42 | (( RANDOM%2 == 0 )) && $HOME/terminal_sunday.sh 1985-06-08 Joe 43 | ``` 44 | 45 | Or add sleep && clear after the command 46 | 47 | ```bash 48 | $HOME/terminal_sunday.sh 1985-06-08 Joe;sleep 1;clear 49 | ``` 50 | 51 | to clear the screen after one second. 52 | 53 | You can specify the number of columns by: 54 | 55 | ```bash 56 | $HOME/terminal_sunday.sh 1985-06-08 Joe 10 57 | ``` 58 | 59 | the main thing is that 80 is divisible without a remainder by this number of columns :) 60 | 61 | ## Credits 62 | 63 | Inspired by [The Last Sunday](https://chromewebstore.google.com/detail/the-last-sunday-reminder/aiojhapcgfgmiacbbjfgedhlcchmpelh?pli=1) chrome extension. 64 | 65 | ## Contributing 66 | 67 | Contributions, ideas, and feedback are welcome. Feel free to fork the repository, make your changes, and create a pull request. 68 | -------------------------------------------------------------------------------- /terminal-sunday-rust/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "android-tzdata" 7 | version = "0.1.1" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 10 | 11 | [[package]] 12 | name = "android_system_properties" 13 | version = "0.1.5" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 16 | dependencies = [ 17 | "libc", 18 | ] 19 | 20 | [[package]] 21 | name = "anstream" 22 | version = "0.6.15" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" 25 | dependencies = [ 26 | "anstyle", 27 | "anstyle-parse", 28 | "anstyle-query", 29 | "anstyle-wincon", 30 | "colorchoice", 31 | "is_terminal_polyfill", 32 | "utf8parse", 33 | ] 34 | 35 | [[package]] 36 | name = "anstyle" 37 | version = "1.0.8" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" 40 | 41 | [[package]] 42 | name = "anstyle-parse" 43 | version = "0.2.5" 44 | source = "registry+https://github.com/rust-lang/crates.io-index" 45 | checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" 46 | dependencies = [ 47 | "utf8parse", 48 | ] 49 | 50 | [[package]] 51 | name = "anstyle-query" 52 | version = "1.1.1" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" 55 | dependencies = [ 56 | "windows-sys", 57 | ] 58 | 59 | [[package]] 60 | name = "anstyle-wincon" 61 | version = "3.0.4" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" 64 | dependencies = [ 65 | "anstyle", 66 | "windows-sys", 67 | ] 68 | 69 | [[package]] 70 | name = "autocfg" 71 | version = "1.3.0" 72 | source = "registry+https://github.com/rust-lang/crates.io-index" 73 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 74 | 75 | [[package]] 76 | name = "bumpalo" 77 | version = "3.16.0" 78 | source = "registry+https://github.com/rust-lang/crates.io-index" 79 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 80 | 81 | [[package]] 82 | name = "cc" 83 | version = "1.1.7" 84 | source = "registry+https://github.com/rust-lang/crates.io-index" 85 | checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" 86 | 87 | [[package]] 88 | name = "cfg-if" 89 | version = "1.0.0" 90 | source = "registry+https://github.com/rust-lang/crates.io-index" 91 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 92 | 93 | [[package]] 94 | name = "chrono" 95 | version = "0.4.38" 96 | source = "registry+https://github.com/rust-lang/crates.io-index" 97 | checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 98 | dependencies = [ 99 | "android-tzdata", 100 | "iana-time-zone", 101 | "js-sys", 102 | "num-traits", 103 | "wasm-bindgen", 104 | "windows-targets", 105 | ] 106 | 107 | [[package]] 108 | name = "clap" 109 | version = "4.5.13" 110 | source = "registry+https://github.com/rust-lang/crates.io-index" 111 | checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" 112 | dependencies = [ 113 | "clap_builder", 114 | "clap_derive", 115 | ] 116 | 117 | [[package]] 118 | name = "clap_builder" 119 | version = "4.5.13" 120 | source = "registry+https://github.com/rust-lang/crates.io-index" 121 | checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" 122 | dependencies = [ 123 | "anstream", 124 | "anstyle", 125 | "clap_lex", 126 | "strsim", 127 | ] 128 | 129 | [[package]] 130 | name = "clap_derive" 131 | version = "4.5.13" 132 | source = "registry+https://github.com/rust-lang/crates.io-index" 133 | checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" 134 | dependencies = [ 135 | "heck", 136 | "proc-macro2", 137 | "quote", 138 | "syn", 139 | ] 140 | 141 | [[package]] 142 | name = "clap_lex" 143 | version = "0.7.2" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" 146 | 147 | [[package]] 148 | name = "colorchoice" 149 | version = "1.0.2" 150 | source = "registry+https://github.com/rust-lang/crates.io-index" 151 | checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" 152 | 153 | [[package]] 154 | name = "core-foundation-sys" 155 | version = "0.8.6" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 158 | 159 | [[package]] 160 | name = "heck" 161 | version = "0.5.0" 162 | source = "registry+https://github.com/rust-lang/crates.io-index" 163 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 164 | 165 | [[package]] 166 | name = "iana-time-zone" 167 | version = "0.1.60" 168 | source = "registry+https://github.com/rust-lang/crates.io-index" 169 | checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" 170 | dependencies = [ 171 | "android_system_properties", 172 | "core-foundation-sys", 173 | "iana-time-zone-haiku", 174 | "js-sys", 175 | "wasm-bindgen", 176 | "windows-core", 177 | ] 178 | 179 | [[package]] 180 | name = "iana-time-zone-haiku" 181 | version = "0.1.2" 182 | source = "registry+https://github.com/rust-lang/crates.io-index" 183 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 184 | dependencies = [ 185 | "cc", 186 | ] 187 | 188 | [[package]] 189 | name = "is_terminal_polyfill" 190 | version = "1.70.1" 191 | source = "registry+https://github.com/rust-lang/crates.io-index" 192 | checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" 193 | 194 | [[package]] 195 | name = "js-sys" 196 | version = "0.3.69" 197 | source = "registry+https://github.com/rust-lang/crates.io-index" 198 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 199 | dependencies = [ 200 | "wasm-bindgen", 201 | ] 202 | 203 | [[package]] 204 | name = "libc" 205 | version = "0.2.155" 206 | source = "registry+https://github.com/rust-lang/crates.io-index" 207 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 208 | 209 | [[package]] 210 | name = "log" 211 | version = "0.4.22" 212 | source = "registry+https://github.com/rust-lang/crates.io-index" 213 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" 214 | 215 | [[package]] 216 | name = "num-traits" 217 | version = "0.2.19" 218 | source = "registry+https://github.com/rust-lang/crates.io-index" 219 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 220 | dependencies = [ 221 | "autocfg", 222 | ] 223 | 224 | [[package]] 225 | name = "once_cell" 226 | version = "1.19.0" 227 | source = "registry+https://github.com/rust-lang/crates.io-index" 228 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 229 | 230 | [[package]] 231 | name = "proc-macro2" 232 | version = "1.0.86" 233 | source = "registry+https://github.com/rust-lang/crates.io-index" 234 | checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" 235 | dependencies = [ 236 | "unicode-ident", 237 | ] 238 | 239 | [[package]] 240 | name = "quote" 241 | version = "1.0.36" 242 | source = "registry+https://github.com/rust-lang/crates.io-index" 243 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 244 | dependencies = [ 245 | "proc-macro2", 246 | ] 247 | 248 | [[package]] 249 | name = "strsim" 250 | version = "0.11.1" 251 | source = "registry+https://github.com/rust-lang/crates.io-index" 252 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 253 | 254 | [[package]] 255 | name = "syn" 256 | version = "2.0.72" 257 | source = "registry+https://github.com/rust-lang/crates.io-index" 258 | checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" 259 | dependencies = [ 260 | "proc-macro2", 261 | "quote", 262 | "unicode-ident", 263 | ] 264 | 265 | [[package]] 266 | name = "terminal-sunday-rust" 267 | version = "0.1.0" 268 | dependencies = [ 269 | "chrono", 270 | "clap", 271 | ] 272 | 273 | [[package]] 274 | name = "unicode-ident" 275 | version = "1.0.12" 276 | source = "registry+https://github.com/rust-lang/crates.io-index" 277 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 278 | 279 | [[package]] 280 | name = "utf8parse" 281 | version = "0.2.2" 282 | source = "registry+https://github.com/rust-lang/crates.io-index" 283 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 284 | 285 | [[package]] 286 | name = "wasm-bindgen" 287 | version = "0.2.92" 288 | source = "registry+https://github.com/rust-lang/crates.io-index" 289 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 290 | dependencies = [ 291 | "cfg-if", 292 | "wasm-bindgen-macro", 293 | ] 294 | 295 | [[package]] 296 | name = "wasm-bindgen-backend" 297 | version = "0.2.92" 298 | source = "registry+https://github.com/rust-lang/crates.io-index" 299 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 300 | dependencies = [ 301 | "bumpalo", 302 | "log", 303 | "once_cell", 304 | "proc-macro2", 305 | "quote", 306 | "syn", 307 | "wasm-bindgen-shared", 308 | ] 309 | 310 | [[package]] 311 | name = "wasm-bindgen-macro" 312 | version = "0.2.92" 313 | source = "registry+https://github.com/rust-lang/crates.io-index" 314 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 315 | dependencies = [ 316 | "quote", 317 | "wasm-bindgen-macro-support", 318 | ] 319 | 320 | [[package]] 321 | name = "wasm-bindgen-macro-support" 322 | version = "0.2.92" 323 | source = "registry+https://github.com/rust-lang/crates.io-index" 324 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 325 | dependencies = [ 326 | "proc-macro2", 327 | "quote", 328 | "syn", 329 | "wasm-bindgen-backend", 330 | "wasm-bindgen-shared", 331 | ] 332 | 333 | [[package]] 334 | name = "wasm-bindgen-shared" 335 | version = "0.2.92" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 338 | 339 | [[package]] 340 | name = "windows-core" 341 | version = "0.52.0" 342 | source = "registry+https://github.com/rust-lang/crates.io-index" 343 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 344 | dependencies = [ 345 | "windows-targets", 346 | ] 347 | 348 | [[package]] 349 | name = "windows-sys" 350 | version = "0.52.0" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 353 | dependencies = [ 354 | "windows-targets", 355 | ] 356 | 357 | [[package]] 358 | name = "windows-targets" 359 | version = "0.52.6" 360 | source = "registry+https://github.com/rust-lang/crates.io-index" 361 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 362 | dependencies = [ 363 | "windows_aarch64_gnullvm", 364 | "windows_aarch64_msvc", 365 | "windows_i686_gnu", 366 | "windows_i686_gnullvm", 367 | "windows_i686_msvc", 368 | "windows_x86_64_gnu", 369 | "windows_x86_64_gnullvm", 370 | "windows_x86_64_msvc", 371 | ] 372 | 373 | [[package]] 374 | name = "windows_aarch64_gnullvm" 375 | version = "0.52.6" 376 | source = "registry+https://github.com/rust-lang/crates.io-index" 377 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 378 | 379 | [[package]] 380 | name = "windows_aarch64_msvc" 381 | version = "0.52.6" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 384 | 385 | [[package]] 386 | name = "windows_i686_gnu" 387 | version = "0.52.6" 388 | source = "registry+https://github.com/rust-lang/crates.io-index" 389 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 390 | 391 | [[package]] 392 | name = "windows_i686_gnullvm" 393 | version = "0.52.6" 394 | source = "registry+https://github.com/rust-lang/crates.io-index" 395 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 396 | 397 | [[package]] 398 | name = "windows_i686_msvc" 399 | version = "0.52.6" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 402 | 403 | [[package]] 404 | name = "windows_x86_64_gnu" 405 | version = "0.52.6" 406 | source = "registry+https://github.com/rust-lang/crates.io-index" 407 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 408 | 409 | [[package]] 410 | name = "windows_x86_64_gnullvm" 411 | version = "0.52.6" 412 | source = "registry+https://github.com/rust-lang/crates.io-index" 413 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 414 | 415 | [[package]] 416 | name = "windows_x86_64_msvc" 417 | version = "0.52.6" 418 | source = "registry+https://github.com/rust-lang/crates.io-index" 419 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 420 | --------------------------------------------------------------------------------