├── .gitignore ├── migrations ├── 20240415190622_create_subscribers_table.sql └── 20240415190615_create_settings_table.sql ├── .env.example ├── Cargo.toml ├── src └── main.rs └── Cargo.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | Secrets.toml 3 | .env 4 | .shuttle-storage 5 | -------------------------------------------------------------------------------- /migrations/20240415190622_create_subscribers_table.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE subscribers ( 2 | chat_id BIGINT PRIMARY KEY 3 | ); 4 | 5 | -------------------------------------------------------------------------------- /migrations/20240415190615_create_settings_table.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE settings ( 2 | key TEXT PRIMARY KEY, 3 | value TEXT NOT NULL 4 | ); 5 | 6 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL=http://localhost/dit 2 | REDDIT_CLIENT_ID= 3 | REDDIT_CLIENT_SECRET= 4 | REDDIT_USERNAME= 5 | REDDIT_PASSWORD= 6 | TELEGRAM_TOKEN= 7 | SUBREDDIT=mechmarket 8 | KEYWORDS="dalco,menhir,trio,qk60,osumekeys,kat hyperfuse,ceis" 9 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "dit" 3 | version = "0.1.0" 4 | edition = "2021" 5 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 6 | 7 | [dependencies] 8 | anyhow = "1.0.79" 9 | base36 = "0.0.1" 10 | dotenv = "0.15.0" 11 | frankenstein = { version = "0.30.3", default-features = false, features = ["async-http-client"] } 12 | roux = "2.2.11" 13 | sqlx = { version = "0.7", features = [ "postgres", "runtime-tokio", "tls-native-tls" ] } 14 | tokio = { version = "1.36.0", features = ["full"] } 15 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | use std::{collections::HashSet, env, time::Duration}; 2 | 3 | use frankenstein::{ 4 | AsyncApi, AsyncTelegramApi, GetUpdatesParams, SendMessageParams, UpdateContent, 5 | }; 6 | use roux::{response::BasicThing, submission::SubmissionData, Reddit}; 7 | use sqlx::postgres::PgPoolOptions; 8 | 9 | #[tokio::main] 10 | async fn main() -> anyhow::Result<()> { 11 | dotenv::dotenv().ok(); 12 | 13 | // initializations 14 | let client_id = env::var("REDDIT_CLIENT_ID").unwrap(); 15 | let client_secret = env::var("REDDIT_CLIENT_SECRET").unwrap(); 16 | let username = env::var("REDDIT_USERNAME").unwrap(); 17 | let password = env::var("REDDIT_PASSWORD").unwrap(); 18 | let keywords = env::var("KEYWORDS").unwrap(); 19 | let keywords = keywords.split(",").collect::>(); 20 | let subreddit_name = env::var("SUBREDDIT").unwrap(); 21 | 22 | // database 23 | let pool = PgPoolOptions::new() 24 | .max_connections(5) 25 | .connect(&env::var("DATABASE_URL").unwrap()) 26 | .await?; 27 | 28 | // Run migrations 29 | sqlx::migrate!("./migrations").run(&pool).await?; 30 | println!("Monitoring for keywords: {:?}", keywords); 31 | println!("Monitoring subreddit {}", subreddit_name); 32 | 33 | let subreddit = Reddit::new("macos:dit:0.1.0 (by /u/fcoury)", &client_id, &client_secret) 34 | .username(&username) 35 | .password(&password) 36 | .subreddit(&subreddit_name) 37 | .await?; 38 | 39 | let api = AsyncApi::new(&env::var("TELEGRAM_TOKEN").unwrap()); 40 | 41 | let mut offset = get(&pool, "offset", "0".to_string()) 42 | .await? 43 | .parse::()?; 44 | let mut last_reddit_id: Option> = None; 45 | 46 | loop { 47 | match handle_requests(&pool, &api, offset).await { 48 | Ok(new_offset) => { 49 | offset = new_offset; 50 | println!("Setting new offset to {}", offset); 51 | set(&pool, "offset", &offset.to_string()).await?; 52 | } 53 | Err(e) => { 54 | eprintln!("Error handling requests: {:?}", e); 55 | } 56 | } 57 | 58 | match subreddit.latest(20, None).await { 59 | Ok(posts) => { 60 | let last_id = last_reddit_id.clone(); 61 | let submissions = posts.data.children.iter().filter(|s| { 62 | let id = base36::decode(&s.data.id).unwrap_or(vec![]); 63 | let matches = if let Some(ref last_reddit_id) = last_id { 64 | id.cmp(last_reddit_id) == std::cmp::Ordering::Greater 65 | } else { 66 | true 67 | }; 68 | // matches && contains_any(&s.data.title, keywords.clone()) 69 | matches && sub_matches(s, keywords.clone()) 70 | }); 71 | 72 | last_reddit_id = posts 73 | .data 74 | .children 75 | .iter() 76 | .filter_map(|s| base36::decode(&s.data.id).ok()) 77 | .max(); 78 | 79 | println!("Received {} submissions", posts.data.children.len()); 80 | for s in submissions { 81 | let submission = &s.data; 82 | let subscribers = get_subscribers(&pool).await?; 83 | println!( 84 | "sending message to {} subscribers: {}", 85 | subscribers.len(), 86 | submission.title 87 | ); 88 | for &chat_id in &subscribers { 89 | let mut message = format!("{}", submission.title); 90 | if let Some(ref url) = submission.url { 91 | message = format!("{}\n{}", message, url); 92 | } 93 | let send_message_params = SendMessageParams::builder() 94 | .chat_id(chat_id) 95 | .text(message) 96 | .build(); 97 | let _ = api.send_message(&send_message_params).await; 98 | } 99 | } 100 | } 101 | Err(e) => { 102 | eprintln!("Error fetching posts: {:?}", e); 103 | } 104 | } 105 | 106 | tokio::time::sleep(Duration::from_secs(30)).await; 107 | } 108 | } 109 | 110 | fn sub_matches(sub: &BasicThing, keywords: Vec<&str>) -> bool { 111 | let title = sub.data.title.to_lowercase(); 112 | let text = sub.data.selftext.to_lowercase(); 113 | contains_any(&title, keywords.clone()) || contains_any(&text, keywords.clone()) 114 | } 115 | 116 | fn contains_any(s: &str, keywords: Vec<&str>) -> bool { 117 | keywords.iter().any(|keyword| { 118 | let s = &s.to_lowercase(); 119 | s.contains(&keyword.to_lowercase()) 120 | }) 121 | } 122 | 123 | async fn get(pool: &sqlx::PgPool, key: &str, default: String) -> anyhow::Result { 124 | let row: Option<(String,)> = sqlx::query_as("SELECT value FROM settings WHERE key = $1") 125 | .bind(key) 126 | .fetch_optional(pool) 127 | .await?; 128 | 129 | match row { 130 | Some(x) => Ok(x.0), 131 | None => Ok(default), 132 | } 133 | } 134 | 135 | async fn set(pool: &sqlx::PgPool, key: &str, value: &str) -> anyhow::Result<()> { 136 | sqlx::query( 137 | r#" 138 | INSERT INTO settings (key, value) VALUES ($1, $2) 139 | ON CONFLICT (key) DO UPDATE 140 | SET value = $2 141 | "#, 142 | ) 143 | .bind(key) 144 | .bind(value) 145 | .execute(pool) 146 | .await?; 147 | Ok(()) 148 | } 149 | 150 | async fn get_subscribers(pool: &sqlx::PgPool) -> anyhow::Result> { 151 | let subscribers = sqlx::query_as("SELECT chat_id FROM subscribers") 152 | .fetch_all(pool) 153 | .await? 154 | .into_iter() 155 | .map(|row: (i64,)| row.0) 156 | .collect::>(); 157 | Ok(subscribers) 158 | } 159 | 160 | async fn add_subscriber(pool: &sqlx::PgPool, chat_id: i64) -> anyhow::Result { 161 | let result = 162 | sqlx::query("INSERT INTO subscribers (chat_id) VALUES ($1) ON CONFLICT DO NOTHING") 163 | .bind(chat_id) 164 | .execute(pool) 165 | .await?; 166 | 167 | // Check if a row was inserted 168 | if result.rows_affected() == 0 { 169 | Ok(false) 170 | } else { 171 | Ok(true) 172 | } 173 | } 174 | 175 | async fn remove_subscriber(pool: &sqlx::PgPool, chat_id: i64) -> anyhow::Result<()> { 176 | sqlx::query("DELETE FROM subscribers WHERE chat_id = $1") 177 | .bind(chat_id) 178 | .execute(pool) 179 | .await?; 180 | Ok(()) 181 | } 182 | 183 | async fn handle_requests(pool: &sqlx::PgPool, api: &AsyncApi, offset: i64) -> anyhow::Result { 184 | let get_updates_params = GetUpdatesParams::builder() 185 | .offset(offset) 186 | .timeout(10u32) 187 | .build(); 188 | 189 | let mut new_offset = offset; 190 | if let Ok(response) = api.get_updates(&get_updates_params).await { 191 | for update in response.result { 192 | if let UpdateContent::Message(message) = update.content { 193 | if let Some(text) = message.text { 194 | println!("Message: {:?}", text); 195 | if text == "/subscribe" { 196 | // subscribers.insert(message.chat.id); 197 | let reply = SendMessageParams::builder() 198 | .chat_id(message.chat.id) 199 | .text("Subscribed to mechmarket".to_string()) 200 | .build(); 201 | add_subscriber(&pool, message.chat.id).await?; 202 | let _ = api.send_message(&reply).await; 203 | } else if text == "/unsubscribe" { 204 | let reply = SendMessageParams::builder() 205 | .chat_id(message.chat.id) 206 | .text("Unsubscribed from mechmarket".to_string()) 207 | .build(); 208 | remove_subscriber(&pool, message.chat.id).await?; 209 | let _ = api.send_message(&reply).await; 210 | } 211 | } 212 | } 213 | new_offset = update.update_id as i64 + 1; 214 | } 215 | } 216 | 217 | Ok(new_offset) 218 | } 219 | -------------------------------------------------------------------------------- /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 = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "ahash" 22 | version = "0.8.11" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" 25 | dependencies = [ 26 | "cfg-if", 27 | "getrandom", 28 | "once_cell", 29 | "version_check", 30 | "zerocopy", 31 | ] 32 | 33 | [[package]] 34 | name = "allocator-api2" 35 | version = "0.2.18" 36 | source = "registry+https://github.com/rust-lang/crates.io-index" 37 | checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" 38 | 39 | [[package]] 40 | name = "anyhow" 41 | version = "1.0.79" 42 | source = "registry+https://github.com/rust-lang/crates.io-index" 43 | checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" 44 | 45 | [[package]] 46 | name = "async-trait" 47 | version = "0.1.77" 48 | source = "registry+https://github.com/rust-lang/crates.io-index" 49 | checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" 50 | dependencies = [ 51 | "proc-macro2", 52 | "quote", 53 | "syn 2.0.48", 54 | ] 55 | 56 | [[package]] 57 | name = "atoi" 58 | version = "2.0.0" 59 | source = "registry+https://github.com/rust-lang/crates.io-index" 60 | checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" 61 | dependencies = [ 62 | "num-traits", 63 | ] 64 | 65 | [[package]] 66 | name = "autocfg" 67 | version = "1.1.0" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 70 | 71 | [[package]] 72 | name = "backtrace" 73 | version = "0.3.69" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" 76 | dependencies = [ 77 | "addr2line", 78 | "cc", 79 | "cfg-if", 80 | "libc", 81 | "miniz_oxide", 82 | "object", 83 | "rustc-demangle", 84 | ] 85 | 86 | [[package]] 87 | name = "base-x" 88 | version = "0.2.11" 89 | source = "registry+https://github.com/rust-lang/crates.io-index" 90 | checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 91 | 92 | [[package]] 93 | name = "base36" 94 | version = "0.0.1" 95 | source = "registry+https://github.com/rust-lang/crates.io-index" 96 | checksum = "b9c26bddc1271f7112e5ec797e8eeba6de2de211c1488e506b9500196dbf77c5" 97 | dependencies = [ 98 | "base-x", 99 | "failure", 100 | ] 101 | 102 | [[package]] 103 | name = "base64" 104 | version = "0.21.7" 105 | source = "registry+https://github.com/rust-lang/crates.io-index" 106 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 107 | 108 | [[package]] 109 | name = "base64ct" 110 | version = "1.6.0" 111 | source = "registry+https://github.com/rust-lang/crates.io-index" 112 | checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" 113 | 114 | [[package]] 115 | name = "bitflags" 116 | version = "1.3.2" 117 | source = "registry+https://github.com/rust-lang/crates.io-index" 118 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 119 | 120 | [[package]] 121 | name = "bitflags" 122 | version = "2.4.2" 123 | source = "registry+https://github.com/rust-lang/crates.io-index" 124 | checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" 125 | dependencies = [ 126 | "serde", 127 | ] 128 | 129 | [[package]] 130 | name = "block-buffer" 131 | version = "0.10.4" 132 | source = "registry+https://github.com/rust-lang/crates.io-index" 133 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 134 | dependencies = [ 135 | "generic-array", 136 | ] 137 | 138 | [[package]] 139 | name = "bumpalo" 140 | version = "3.14.0" 141 | source = "registry+https://github.com/rust-lang/crates.io-index" 142 | checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" 143 | 144 | [[package]] 145 | name = "byteorder" 146 | version = "1.5.0" 147 | source = "registry+https://github.com/rust-lang/crates.io-index" 148 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 149 | 150 | [[package]] 151 | name = "bytes" 152 | version = "1.5.0" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 155 | 156 | [[package]] 157 | name = "cc" 158 | version = "1.0.83" 159 | source = "registry+https://github.com/rust-lang/crates.io-index" 160 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 161 | dependencies = [ 162 | "libc", 163 | ] 164 | 165 | [[package]] 166 | name = "cfg-if" 167 | version = "1.0.0" 168 | source = "registry+https://github.com/rust-lang/crates.io-index" 169 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 170 | 171 | [[package]] 172 | name = "const-oid" 173 | version = "0.9.6" 174 | source = "registry+https://github.com/rust-lang/crates.io-index" 175 | checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 176 | 177 | [[package]] 178 | name = "core-foundation" 179 | version = "0.9.4" 180 | source = "registry+https://github.com/rust-lang/crates.io-index" 181 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 182 | dependencies = [ 183 | "core-foundation-sys", 184 | "libc", 185 | ] 186 | 187 | [[package]] 188 | name = "core-foundation-sys" 189 | version = "0.8.6" 190 | source = "registry+https://github.com/rust-lang/crates.io-index" 191 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 192 | 193 | [[package]] 194 | name = "cpufeatures" 195 | version = "0.2.12" 196 | source = "registry+https://github.com/rust-lang/crates.io-index" 197 | checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" 198 | dependencies = [ 199 | "libc", 200 | ] 201 | 202 | [[package]] 203 | name = "crc" 204 | version = "3.2.1" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" 207 | dependencies = [ 208 | "crc-catalog", 209 | ] 210 | 211 | [[package]] 212 | name = "crc-catalog" 213 | version = "2.4.0" 214 | source = "registry+https://github.com/rust-lang/crates.io-index" 215 | checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" 216 | 217 | [[package]] 218 | name = "crossbeam-queue" 219 | version = "0.3.11" 220 | source = "registry+https://github.com/rust-lang/crates.io-index" 221 | checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" 222 | dependencies = [ 223 | "crossbeam-utils", 224 | ] 225 | 226 | [[package]] 227 | name = "crossbeam-utils" 228 | version = "0.8.19" 229 | source = "registry+https://github.com/rust-lang/crates.io-index" 230 | checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" 231 | 232 | [[package]] 233 | name = "crypto-common" 234 | version = "0.1.6" 235 | source = "registry+https://github.com/rust-lang/crates.io-index" 236 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 237 | dependencies = [ 238 | "generic-array", 239 | "typenum", 240 | ] 241 | 242 | [[package]] 243 | name = "der" 244 | version = "0.7.9" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" 247 | dependencies = [ 248 | "const-oid", 249 | "pem-rfc7468", 250 | "zeroize", 251 | ] 252 | 253 | [[package]] 254 | name = "digest" 255 | version = "0.10.7" 256 | source = "registry+https://github.com/rust-lang/crates.io-index" 257 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 258 | dependencies = [ 259 | "block-buffer", 260 | "const-oid", 261 | "crypto-common", 262 | "subtle", 263 | ] 264 | 265 | [[package]] 266 | name = "dit" 267 | version = "0.1.0" 268 | dependencies = [ 269 | "anyhow", 270 | "base36", 271 | "dotenv", 272 | "frankenstein", 273 | "roux", 274 | "sqlx", 275 | "tokio", 276 | ] 277 | 278 | [[package]] 279 | name = "dotenv" 280 | version = "0.15.0" 281 | source = "registry+https://github.com/rust-lang/crates.io-index" 282 | checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" 283 | 284 | [[package]] 285 | name = "dotenvy" 286 | version = "0.15.7" 287 | source = "registry+https://github.com/rust-lang/crates.io-index" 288 | checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" 289 | 290 | [[package]] 291 | name = "either" 292 | version = "1.11.0" 293 | source = "registry+https://github.com/rust-lang/crates.io-index" 294 | checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" 295 | dependencies = [ 296 | "serde", 297 | ] 298 | 299 | [[package]] 300 | name = "encoding_rs" 301 | version = "0.8.33" 302 | source = "registry+https://github.com/rust-lang/crates.io-index" 303 | checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" 304 | dependencies = [ 305 | "cfg-if", 306 | ] 307 | 308 | [[package]] 309 | name = "equivalent" 310 | version = "1.0.1" 311 | source = "registry+https://github.com/rust-lang/crates.io-index" 312 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 313 | 314 | [[package]] 315 | name = "errno" 316 | version = "0.3.8" 317 | source = "registry+https://github.com/rust-lang/crates.io-index" 318 | checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" 319 | dependencies = [ 320 | "libc", 321 | "windows-sys 0.52.0", 322 | ] 323 | 324 | [[package]] 325 | name = "etcetera" 326 | version = "0.8.0" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" 329 | dependencies = [ 330 | "cfg-if", 331 | "home", 332 | "windows-sys 0.48.0", 333 | ] 334 | 335 | [[package]] 336 | name = "event-listener" 337 | version = "2.5.3" 338 | source = "registry+https://github.com/rust-lang/crates.io-index" 339 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 340 | 341 | [[package]] 342 | name = "failure" 343 | version = "0.1.8" 344 | source = "registry+https://github.com/rust-lang/crates.io-index" 345 | checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" 346 | dependencies = [ 347 | "backtrace", 348 | "failure_derive", 349 | ] 350 | 351 | [[package]] 352 | name = "failure_derive" 353 | version = "0.1.8" 354 | source = "registry+https://github.com/rust-lang/crates.io-index" 355 | checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" 356 | dependencies = [ 357 | "proc-macro2", 358 | "quote", 359 | "syn 1.0.109", 360 | "synstructure", 361 | ] 362 | 363 | [[package]] 364 | name = "fastrand" 365 | version = "2.0.1" 366 | source = "registry+https://github.com/rust-lang/crates.io-index" 367 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 368 | 369 | [[package]] 370 | name = "finl_unicode" 371 | version = "1.2.0" 372 | source = "registry+https://github.com/rust-lang/crates.io-index" 373 | checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" 374 | 375 | [[package]] 376 | name = "flume" 377 | version = "0.11.0" 378 | source = "registry+https://github.com/rust-lang/crates.io-index" 379 | checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" 380 | dependencies = [ 381 | "futures-core", 382 | "futures-sink", 383 | "spin 0.9.8", 384 | ] 385 | 386 | [[package]] 387 | name = "fnv" 388 | version = "1.0.7" 389 | source = "registry+https://github.com/rust-lang/crates.io-index" 390 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 391 | 392 | [[package]] 393 | name = "foreign-types" 394 | version = "0.3.2" 395 | source = "registry+https://github.com/rust-lang/crates.io-index" 396 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 397 | dependencies = [ 398 | "foreign-types-shared", 399 | ] 400 | 401 | [[package]] 402 | name = "foreign-types-shared" 403 | version = "0.1.1" 404 | source = "registry+https://github.com/rust-lang/crates.io-index" 405 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 406 | 407 | [[package]] 408 | name = "form_urlencoded" 409 | version = "1.2.1" 410 | source = "registry+https://github.com/rust-lang/crates.io-index" 411 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 412 | dependencies = [ 413 | "percent-encoding", 414 | ] 415 | 416 | [[package]] 417 | name = "frankenstein" 418 | version = "0.30.3" 419 | source = "registry+https://github.com/rust-lang/crates.io-index" 420 | checksum = "837f77b4153320ed2618cade798eddcc9b715b58b5cd394819a16cc388693926" 421 | dependencies = [ 422 | "async-trait", 423 | "reqwest", 424 | "serde", 425 | "serde_json", 426 | "thiserror", 427 | "tokio", 428 | "typed-builder", 429 | ] 430 | 431 | [[package]] 432 | name = "futures-channel" 433 | version = "0.3.30" 434 | source = "registry+https://github.com/rust-lang/crates.io-index" 435 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 436 | dependencies = [ 437 | "futures-core", 438 | "futures-sink", 439 | ] 440 | 441 | [[package]] 442 | name = "futures-core" 443 | version = "0.3.30" 444 | source = "registry+https://github.com/rust-lang/crates.io-index" 445 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 446 | 447 | [[package]] 448 | name = "futures-executor" 449 | version = "0.3.30" 450 | source = "registry+https://github.com/rust-lang/crates.io-index" 451 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 452 | dependencies = [ 453 | "futures-core", 454 | "futures-task", 455 | "futures-util", 456 | ] 457 | 458 | [[package]] 459 | name = "futures-intrusive" 460 | version = "0.5.0" 461 | source = "registry+https://github.com/rust-lang/crates.io-index" 462 | checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" 463 | dependencies = [ 464 | "futures-core", 465 | "lock_api", 466 | "parking_lot", 467 | ] 468 | 469 | [[package]] 470 | name = "futures-io" 471 | version = "0.3.30" 472 | source = "registry+https://github.com/rust-lang/crates.io-index" 473 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 474 | 475 | [[package]] 476 | name = "futures-macro" 477 | version = "0.3.30" 478 | source = "registry+https://github.com/rust-lang/crates.io-index" 479 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 480 | dependencies = [ 481 | "proc-macro2", 482 | "quote", 483 | "syn 2.0.48", 484 | ] 485 | 486 | [[package]] 487 | name = "futures-sink" 488 | version = "0.3.30" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 491 | 492 | [[package]] 493 | name = "futures-task" 494 | version = "0.3.30" 495 | source = "registry+https://github.com/rust-lang/crates.io-index" 496 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 497 | 498 | [[package]] 499 | name = "futures-util" 500 | version = "0.3.30" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 503 | dependencies = [ 504 | "futures-core", 505 | "futures-io", 506 | "futures-macro", 507 | "futures-sink", 508 | "futures-task", 509 | "memchr", 510 | "pin-project-lite", 511 | "pin-utils", 512 | "slab", 513 | ] 514 | 515 | [[package]] 516 | name = "generic-array" 517 | version = "0.14.7" 518 | source = "registry+https://github.com/rust-lang/crates.io-index" 519 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 520 | dependencies = [ 521 | "typenum", 522 | "version_check", 523 | ] 524 | 525 | [[package]] 526 | name = "getrandom" 527 | version = "0.2.12" 528 | source = "registry+https://github.com/rust-lang/crates.io-index" 529 | checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" 530 | dependencies = [ 531 | "cfg-if", 532 | "libc", 533 | "wasi", 534 | ] 535 | 536 | [[package]] 537 | name = "gimli" 538 | version = "0.28.1" 539 | source = "registry+https://github.com/rust-lang/crates.io-index" 540 | checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 541 | 542 | [[package]] 543 | name = "h2" 544 | version = "0.3.24" 545 | source = "registry+https://github.com/rust-lang/crates.io-index" 546 | checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" 547 | dependencies = [ 548 | "bytes", 549 | "fnv", 550 | "futures-core", 551 | "futures-sink", 552 | "futures-util", 553 | "http", 554 | "indexmap", 555 | "slab", 556 | "tokio", 557 | "tokio-util", 558 | "tracing", 559 | ] 560 | 561 | [[package]] 562 | name = "hashbrown" 563 | version = "0.14.3" 564 | source = "registry+https://github.com/rust-lang/crates.io-index" 565 | checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" 566 | dependencies = [ 567 | "ahash", 568 | "allocator-api2", 569 | ] 570 | 571 | [[package]] 572 | name = "hashlink" 573 | version = "0.8.4" 574 | source = "registry+https://github.com/rust-lang/crates.io-index" 575 | checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" 576 | dependencies = [ 577 | "hashbrown", 578 | ] 579 | 580 | [[package]] 581 | name = "heck" 582 | version = "0.4.1" 583 | source = "registry+https://github.com/rust-lang/crates.io-index" 584 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 585 | dependencies = [ 586 | "unicode-segmentation", 587 | ] 588 | 589 | [[package]] 590 | name = "hermit-abi" 591 | version = "0.3.5" 592 | source = "registry+https://github.com/rust-lang/crates.io-index" 593 | checksum = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3" 594 | 595 | [[package]] 596 | name = "hex" 597 | version = "0.4.3" 598 | source = "registry+https://github.com/rust-lang/crates.io-index" 599 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 600 | 601 | [[package]] 602 | name = "hkdf" 603 | version = "0.12.4" 604 | source = "registry+https://github.com/rust-lang/crates.io-index" 605 | checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" 606 | dependencies = [ 607 | "hmac", 608 | ] 609 | 610 | [[package]] 611 | name = "hmac" 612 | version = "0.12.1" 613 | source = "registry+https://github.com/rust-lang/crates.io-index" 614 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 615 | dependencies = [ 616 | "digest", 617 | ] 618 | 619 | [[package]] 620 | name = "home" 621 | version = "0.5.9" 622 | source = "registry+https://github.com/rust-lang/crates.io-index" 623 | checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" 624 | dependencies = [ 625 | "windows-sys 0.52.0", 626 | ] 627 | 628 | [[package]] 629 | name = "http" 630 | version = "0.2.11" 631 | source = "registry+https://github.com/rust-lang/crates.io-index" 632 | checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" 633 | dependencies = [ 634 | "bytes", 635 | "fnv", 636 | "itoa", 637 | ] 638 | 639 | [[package]] 640 | name = "http-body" 641 | version = "0.4.6" 642 | source = "registry+https://github.com/rust-lang/crates.io-index" 643 | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 644 | dependencies = [ 645 | "bytes", 646 | "http", 647 | "pin-project-lite", 648 | ] 649 | 650 | [[package]] 651 | name = "httparse" 652 | version = "1.8.0" 653 | source = "registry+https://github.com/rust-lang/crates.io-index" 654 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 655 | 656 | [[package]] 657 | name = "httpdate" 658 | version = "1.0.3" 659 | source = "registry+https://github.com/rust-lang/crates.io-index" 660 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 661 | 662 | [[package]] 663 | name = "hyper" 664 | version = "0.14.28" 665 | source = "registry+https://github.com/rust-lang/crates.io-index" 666 | checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" 667 | dependencies = [ 668 | "bytes", 669 | "futures-channel", 670 | "futures-core", 671 | "futures-util", 672 | "h2", 673 | "http", 674 | "http-body", 675 | "httparse", 676 | "httpdate", 677 | "itoa", 678 | "pin-project-lite", 679 | "socket2", 680 | "tokio", 681 | "tower-service", 682 | "tracing", 683 | "want", 684 | ] 685 | 686 | [[package]] 687 | name = "hyper-rustls" 688 | version = "0.24.2" 689 | source = "registry+https://github.com/rust-lang/crates.io-index" 690 | checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" 691 | dependencies = [ 692 | "futures-util", 693 | "http", 694 | "hyper", 695 | "rustls", 696 | "tokio", 697 | "tokio-rustls", 698 | ] 699 | 700 | [[package]] 701 | name = "hyper-tls" 702 | version = "0.5.0" 703 | source = "registry+https://github.com/rust-lang/crates.io-index" 704 | checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" 705 | dependencies = [ 706 | "bytes", 707 | "hyper", 708 | "native-tls", 709 | "tokio", 710 | "tokio-native-tls", 711 | ] 712 | 713 | [[package]] 714 | name = "idna" 715 | version = "0.5.0" 716 | source = "registry+https://github.com/rust-lang/crates.io-index" 717 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 718 | dependencies = [ 719 | "unicode-bidi", 720 | "unicode-normalization", 721 | ] 722 | 723 | [[package]] 724 | name = "indexmap" 725 | version = "2.2.3" 726 | source = "registry+https://github.com/rust-lang/crates.io-index" 727 | checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" 728 | dependencies = [ 729 | "equivalent", 730 | "hashbrown", 731 | ] 732 | 733 | [[package]] 734 | name = "ipnet" 735 | version = "2.9.0" 736 | source = "registry+https://github.com/rust-lang/crates.io-index" 737 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 738 | 739 | [[package]] 740 | name = "itertools" 741 | version = "0.12.1" 742 | source = "registry+https://github.com/rust-lang/crates.io-index" 743 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" 744 | dependencies = [ 745 | "either", 746 | ] 747 | 748 | [[package]] 749 | name = "itoa" 750 | version = "1.0.10" 751 | source = "registry+https://github.com/rust-lang/crates.io-index" 752 | checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" 753 | 754 | [[package]] 755 | name = "js-sys" 756 | version = "0.3.68" 757 | source = "registry+https://github.com/rust-lang/crates.io-index" 758 | checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" 759 | dependencies = [ 760 | "wasm-bindgen", 761 | ] 762 | 763 | [[package]] 764 | name = "lazy_static" 765 | version = "1.4.0" 766 | source = "registry+https://github.com/rust-lang/crates.io-index" 767 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 768 | dependencies = [ 769 | "spin 0.5.2", 770 | ] 771 | 772 | [[package]] 773 | name = "libc" 774 | version = "0.2.153" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" 777 | 778 | [[package]] 779 | name = "libm" 780 | version = "0.2.8" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" 783 | 784 | [[package]] 785 | name = "libsqlite3-sys" 786 | version = "0.27.0" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" 789 | dependencies = [ 790 | "cc", 791 | "pkg-config", 792 | "vcpkg", 793 | ] 794 | 795 | [[package]] 796 | name = "linux-raw-sys" 797 | version = "0.4.13" 798 | source = "registry+https://github.com/rust-lang/crates.io-index" 799 | checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" 800 | 801 | [[package]] 802 | name = "lock_api" 803 | version = "0.4.11" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" 806 | dependencies = [ 807 | "autocfg", 808 | "scopeguard", 809 | ] 810 | 811 | [[package]] 812 | name = "log" 813 | version = "0.4.20" 814 | source = "registry+https://github.com/rust-lang/crates.io-index" 815 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 816 | 817 | [[package]] 818 | name = "maybe-async" 819 | version = "0.2.9" 820 | source = "registry+https://github.com/rust-lang/crates.io-index" 821 | checksum = "afc95a651c82daf7004c824405aa1019723644950d488571bd718e3ed84646ed" 822 | dependencies = [ 823 | "proc-macro2", 824 | "quote", 825 | "syn 2.0.48", 826 | ] 827 | 828 | [[package]] 829 | name = "md-5" 830 | version = "0.10.6" 831 | source = "registry+https://github.com/rust-lang/crates.io-index" 832 | checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" 833 | dependencies = [ 834 | "cfg-if", 835 | "digest", 836 | ] 837 | 838 | [[package]] 839 | name = "memchr" 840 | version = "2.7.1" 841 | source = "registry+https://github.com/rust-lang/crates.io-index" 842 | checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" 843 | 844 | [[package]] 845 | name = "mime" 846 | version = "0.3.17" 847 | source = "registry+https://github.com/rust-lang/crates.io-index" 848 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 849 | 850 | [[package]] 851 | name = "mime_guess" 852 | version = "2.0.4" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" 855 | dependencies = [ 856 | "mime", 857 | "unicase", 858 | ] 859 | 860 | [[package]] 861 | name = "minimal-lexical" 862 | version = "0.2.1" 863 | source = "registry+https://github.com/rust-lang/crates.io-index" 864 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 865 | 866 | [[package]] 867 | name = "miniz_oxide" 868 | version = "0.7.2" 869 | source = "registry+https://github.com/rust-lang/crates.io-index" 870 | checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" 871 | dependencies = [ 872 | "adler", 873 | ] 874 | 875 | [[package]] 876 | name = "mio" 877 | version = "0.8.10" 878 | source = "registry+https://github.com/rust-lang/crates.io-index" 879 | checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" 880 | dependencies = [ 881 | "libc", 882 | "wasi", 883 | "windows-sys 0.48.0", 884 | ] 885 | 886 | [[package]] 887 | name = "native-tls" 888 | version = "0.2.11" 889 | source = "registry+https://github.com/rust-lang/crates.io-index" 890 | checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" 891 | dependencies = [ 892 | "lazy_static", 893 | "libc", 894 | "log", 895 | "openssl", 896 | "openssl-probe", 897 | "openssl-sys", 898 | "schannel", 899 | "security-framework", 900 | "security-framework-sys", 901 | "tempfile", 902 | ] 903 | 904 | [[package]] 905 | name = "nom" 906 | version = "7.1.3" 907 | source = "registry+https://github.com/rust-lang/crates.io-index" 908 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 909 | dependencies = [ 910 | "memchr", 911 | "minimal-lexical", 912 | ] 913 | 914 | [[package]] 915 | name = "num-bigint-dig" 916 | version = "0.8.4" 917 | source = "registry+https://github.com/rust-lang/crates.io-index" 918 | checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" 919 | dependencies = [ 920 | "byteorder", 921 | "lazy_static", 922 | "libm", 923 | "num-integer", 924 | "num-iter", 925 | "num-traits", 926 | "rand", 927 | "smallvec", 928 | "zeroize", 929 | ] 930 | 931 | [[package]] 932 | name = "num-integer" 933 | version = "0.1.46" 934 | source = "registry+https://github.com/rust-lang/crates.io-index" 935 | checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 936 | dependencies = [ 937 | "num-traits", 938 | ] 939 | 940 | [[package]] 941 | name = "num-iter" 942 | version = "0.1.44" 943 | source = "registry+https://github.com/rust-lang/crates.io-index" 944 | checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" 945 | dependencies = [ 946 | "autocfg", 947 | "num-integer", 948 | "num-traits", 949 | ] 950 | 951 | [[package]] 952 | name = "num-traits" 953 | version = "0.2.18" 954 | source = "registry+https://github.com/rust-lang/crates.io-index" 955 | checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" 956 | dependencies = [ 957 | "autocfg", 958 | "libm", 959 | ] 960 | 961 | [[package]] 962 | name = "num_cpus" 963 | version = "1.16.0" 964 | source = "registry+https://github.com/rust-lang/crates.io-index" 965 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 966 | dependencies = [ 967 | "hermit-abi", 968 | "libc", 969 | ] 970 | 971 | [[package]] 972 | name = "object" 973 | version = "0.32.2" 974 | source = "registry+https://github.com/rust-lang/crates.io-index" 975 | checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 976 | dependencies = [ 977 | "memchr", 978 | ] 979 | 980 | [[package]] 981 | name = "once_cell" 982 | version = "1.19.0" 983 | source = "registry+https://github.com/rust-lang/crates.io-index" 984 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 985 | 986 | [[package]] 987 | name = "openssl" 988 | version = "0.10.63" 989 | source = "registry+https://github.com/rust-lang/crates.io-index" 990 | checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" 991 | dependencies = [ 992 | "bitflags 2.4.2", 993 | "cfg-if", 994 | "foreign-types", 995 | "libc", 996 | "once_cell", 997 | "openssl-macros", 998 | "openssl-sys", 999 | ] 1000 | 1001 | [[package]] 1002 | name = "openssl-macros" 1003 | version = "0.1.1" 1004 | source = "registry+https://github.com/rust-lang/crates.io-index" 1005 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 1006 | dependencies = [ 1007 | "proc-macro2", 1008 | "quote", 1009 | "syn 2.0.48", 1010 | ] 1011 | 1012 | [[package]] 1013 | name = "openssl-probe" 1014 | version = "0.1.5" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1017 | 1018 | [[package]] 1019 | name = "openssl-sys" 1020 | version = "0.9.99" 1021 | source = "registry+https://github.com/rust-lang/crates.io-index" 1022 | checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" 1023 | dependencies = [ 1024 | "cc", 1025 | "libc", 1026 | "pkg-config", 1027 | "vcpkg", 1028 | ] 1029 | 1030 | [[package]] 1031 | name = "parking_lot" 1032 | version = "0.12.1" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1035 | dependencies = [ 1036 | "lock_api", 1037 | "parking_lot_core", 1038 | ] 1039 | 1040 | [[package]] 1041 | name = "parking_lot_core" 1042 | version = "0.9.9" 1043 | source = "registry+https://github.com/rust-lang/crates.io-index" 1044 | checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" 1045 | dependencies = [ 1046 | "cfg-if", 1047 | "libc", 1048 | "redox_syscall", 1049 | "smallvec", 1050 | "windows-targets 0.48.5", 1051 | ] 1052 | 1053 | [[package]] 1054 | name = "paste" 1055 | version = "1.0.14" 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" 1057 | checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" 1058 | 1059 | [[package]] 1060 | name = "pem-rfc7468" 1061 | version = "0.7.0" 1062 | source = "registry+https://github.com/rust-lang/crates.io-index" 1063 | checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" 1064 | dependencies = [ 1065 | "base64ct", 1066 | ] 1067 | 1068 | [[package]] 1069 | name = "percent-encoding" 1070 | version = "2.3.1" 1071 | source = "registry+https://github.com/rust-lang/crates.io-index" 1072 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1073 | 1074 | [[package]] 1075 | name = "pin-project-lite" 1076 | version = "0.2.13" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 1079 | 1080 | [[package]] 1081 | name = "pin-utils" 1082 | version = "0.1.0" 1083 | source = "registry+https://github.com/rust-lang/crates.io-index" 1084 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1085 | 1086 | [[package]] 1087 | name = "pkcs1" 1088 | version = "0.7.5" 1089 | source = "registry+https://github.com/rust-lang/crates.io-index" 1090 | checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" 1091 | dependencies = [ 1092 | "der", 1093 | "pkcs8", 1094 | "spki", 1095 | ] 1096 | 1097 | [[package]] 1098 | name = "pkcs8" 1099 | version = "0.10.2" 1100 | source = "registry+https://github.com/rust-lang/crates.io-index" 1101 | checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 1102 | dependencies = [ 1103 | "der", 1104 | "spki", 1105 | ] 1106 | 1107 | [[package]] 1108 | name = "pkg-config" 1109 | version = "0.3.30" 1110 | source = "registry+https://github.com/rust-lang/crates.io-index" 1111 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 1112 | 1113 | [[package]] 1114 | name = "ppv-lite86" 1115 | version = "0.2.17" 1116 | source = "registry+https://github.com/rust-lang/crates.io-index" 1117 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1118 | 1119 | [[package]] 1120 | name = "proc-macro2" 1121 | version = "1.0.78" 1122 | source = "registry+https://github.com/rust-lang/crates.io-index" 1123 | checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" 1124 | dependencies = [ 1125 | "unicode-ident", 1126 | ] 1127 | 1128 | [[package]] 1129 | name = "quote" 1130 | version = "1.0.35" 1131 | source = "registry+https://github.com/rust-lang/crates.io-index" 1132 | checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" 1133 | dependencies = [ 1134 | "proc-macro2", 1135 | ] 1136 | 1137 | [[package]] 1138 | name = "rand" 1139 | version = "0.8.5" 1140 | source = "registry+https://github.com/rust-lang/crates.io-index" 1141 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1142 | dependencies = [ 1143 | "libc", 1144 | "rand_chacha", 1145 | "rand_core", 1146 | ] 1147 | 1148 | [[package]] 1149 | name = "rand_chacha" 1150 | version = "0.3.1" 1151 | source = "registry+https://github.com/rust-lang/crates.io-index" 1152 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1153 | dependencies = [ 1154 | "ppv-lite86", 1155 | "rand_core", 1156 | ] 1157 | 1158 | [[package]] 1159 | name = "rand_core" 1160 | version = "0.6.4" 1161 | source = "registry+https://github.com/rust-lang/crates.io-index" 1162 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1163 | dependencies = [ 1164 | "getrandom", 1165 | ] 1166 | 1167 | [[package]] 1168 | name = "redox_syscall" 1169 | version = "0.4.1" 1170 | source = "registry+https://github.com/rust-lang/crates.io-index" 1171 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 1172 | dependencies = [ 1173 | "bitflags 1.3.2", 1174 | ] 1175 | 1176 | [[package]] 1177 | name = "reqwest" 1178 | version = "0.11.24" 1179 | source = "registry+https://github.com/rust-lang/crates.io-index" 1180 | checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" 1181 | dependencies = [ 1182 | "base64", 1183 | "bytes", 1184 | "encoding_rs", 1185 | "futures-core", 1186 | "futures-util", 1187 | "h2", 1188 | "http", 1189 | "http-body", 1190 | "hyper", 1191 | "hyper-rustls", 1192 | "hyper-tls", 1193 | "ipnet", 1194 | "js-sys", 1195 | "log", 1196 | "mime", 1197 | "mime_guess", 1198 | "native-tls", 1199 | "once_cell", 1200 | "percent-encoding", 1201 | "pin-project-lite", 1202 | "rustls", 1203 | "rustls-pemfile", 1204 | "serde", 1205 | "serde_json", 1206 | "serde_urlencoded", 1207 | "sync_wrapper", 1208 | "system-configuration", 1209 | "tokio", 1210 | "tokio-native-tls", 1211 | "tokio-rustls", 1212 | "tokio-util", 1213 | "tower-service", 1214 | "url", 1215 | "wasm-bindgen", 1216 | "wasm-bindgen-futures", 1217 | "wasm-streams", 1218 | "web-sys", 1219 | "webpki-roots", 1220 | "winreg", 1221 | ] 1222 | 1223 | [[package]] 1224 | name = "ring" 1225 | version = "0.17.7" 1226 | source = "registry+https://github.com/rust-lang/crates.io-index" 1227 | checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" 1228 | dependencies = [ 1229 | "cc", 1230 | "getrandom", 1231 | "libc", 1232 | "spin 0.9.8", 1233 | "untrusted", 1234 | "windows-sys 0.48.0", 1235 | ] 1236 | 1237 | [[package]] 1238 | name = "roux" 1239 | version = "2.2.11" 1240 | source = "registry+https://github.com/rust-lang/crates.io-index" 1241 | checksum = "8b7e5e243b15f5c5af223bf21dfa5f6e36deb54e5154d63ee2f75a4784935087" 1242 | dependencies = [ 1243 | "maybe-async", 1244 | "reqwest", 1245 | "serde", 1246 | "serde_json", 1247 | ] 1248 | 1249 | [[package]] 1250 | name = "rsa" 1251 | version = "0.9.6" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" 1254 | dependencies = [ 1255 | "const-oid", 1256 | "digest", 1257 | "num-bigint-dig", 1258 | "num-integer", 1259 | "num-traits", 1260 | "pkcs1", 1261 | "pkcs8", 1262 | "rand_core", 1263 | "signature", 1264 | "spki", 1265 | "subtle", 1266 | "zeroize", 1267 | ] 1268 | 1269 | [[package]] 1270 | name = "rustc-demangle" 1271 | version = "0.1.23" 1272 | source = "registry+https://github.com/rust-lang/crates.io-index" 1273 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 1274 | 1275 | [[package]] 1276 | name = "rustix" 1277 | version = "0.38.31" 1278 | source = "registry+https://github.com/rust-lang/crates.io-index" 1279 | checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" 1280 | dependencies = [ 1281 | "bitflags 2.4.2", 1282 | "errno", 1283 | "libc", 1284 | "linux-raw-sys", 1285 | "windows-sys 0.52.0", 1286 | ] 1287 | 1288 | [[package]] 1289 | name = "rustls" 1290 | version = "0.21.10" 1291 | source = "registry+https://github.com/rust-lang/crates.io-index" 1292 | checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" 1293 | dependencies = [ 1294 | "log", 1295 | "ring", 1296 | "rustls-webpki", 1297 | "sct", 1298 | ] 1299 | 1300 | [[package]] 1301 | name = "rustls-pemfile" 1302 | version = "1.0.4" 1303 | source = "registry+https://github.com/rust-lang/crates.io-index" 1304 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 1305 | dependencies = [ 1306 | "base64", 1307 | ] 1308 | 1309 | [[package]] 1310 | name = "rustls-webpki" 1311 | version = "0.101.7" 1312 | source = "registry+https://github.com/rust-lang/crates.io-index" 1313 | checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" 1314 | dependencies = [ 1315 | "ring", 1316 | "untrusted", 1317 | ] 1318 | 1319 | [[package]] 1320 | name = "ryu" 1321 | version = "1.0.16" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" 1324 | 1325 | [[package]] 1326 | name = "schannel" 1327 | version = "0.1.23" 1328 | source = "registry+https://github.com/rust-lang/crates.io-index" 1329 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 1330 | dependencies = [ 1331 | "windows-sys 0.52.0", 1332 | ] 1333 | 1334 | [[package]] 1335 | name = "scopeguard" 1336 | version = "1.2.0" 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" 1338 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1339 | 1340 | [[package]] 1341 | name = "sct" 1342 | version = "0.7.1" 1343 | source = "registry+https://github.com/rust-lang/crates.io-index" 1344 | checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" 1345 | dependencies = [ 1346 | "ring", 1347 | "untrusted", 1348 | ] 1349 | 1350 | [[package]] 1351 | name = "security-framework" 1352 | version = "2.9.2" 1353 | source = "registry+https://github.com/rust-lang/crates.io-index" 1354 | checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" 1355 | dependencies = [ 1356 | "bitflags 1.3.2", 1357 | "core-foundation", 1358 | "core-foundation-sys", 1359 | "libc", 1360 | "security-framework-sys", 1361 | ] 1362 | 1363 | [[package]] 1364 | name = "security-framework-sys" 1365 | version = "2.9.1" 1366 | source = "registry+https://github.com/rust-lang/crates.io-index" 1367 | checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" 1368 | dependencies = [ 1369 | "core-foundation-sys", 1370 | "libc", 1371 | ] 1372 | 1373 | [[package]] 1374 | name = "serde" 1375 | version = "1.0.196" 1376 | source = "registry+https://github.com/rust-lang/crates.io-index" 1377 | checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" 1378 | dependencies = [ 1379 | "serde_derive", 1380 | ] 1381 | 1382 | [[package]] 1383 | name = "serde_derive" 1384 | version = "1.0.196" 1385 | source = "registry+https://github.com/rust-lang/crates.io-index" 1386 | checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" 1387 | dependencies = [ 1388 | "proc-macro2", 1389 | "quote", 1390 | "syn 2.0.48", 1391 | ] 1392 | 1393 | [[package]] 1394 | name = "serde_json" 1395 | version = "1.0.113" 1396 | source = "registry+https://github.com/rust-lang/crates.io-index" 1397 | checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" 1398 | dependencies = [ 1399 | "itoa", 1400 | "ryu", 1401 | "serde", 1402 | ] 1403 | 1404 | [[package]] 1405 | name = "serde_urlencoded" 1406 | version = "0.7.1" 1407 | source = "registry+https://github.com/rust-lang/crates.io-index" 1408 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1409 | dependencies = [ 1410 | "form_urlencoded", 1411 | "itoa", 1412 | "ryu", 1413 | "serde", 1414 | ] 1415 | 1416 | [[package]] 1417 | name = "sha1" 1418 | version = "0.10.6" 1419 | source = "registry+https://github.com/rust-lang/crates.io-index" 1420 | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 1421 | dependencies = [ 1422 | "cfg-if", 1423 | "cpufeatures", 1424 | "digest", 1425 | ] 1426 | 1427 | [[package]] 1428 | name = "sha2" 1429 | version = "0.10.8" 1430 | source = "registry+https://github.com/rust-lang/crates.io-index" 1431 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1432 | dependencies = [ 1433 | "cfg-if", 1434 | "cpufeatures", 1435 | "digest", 1436 | ] 1437 | 1438 | [[package]] 1439 | name = "signal-hook-registry" 1440 | version = "1.4.1" 1441 | source = "registry+https://github.com/rust-lang/crates.io-index" 1442 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 1443 | dependencies = [ 1444 | "libc", 1445 | ] 1446 | 1447 | [[package]] 1448 | name = "signature" 1449 | version = "2.2.0" 1450 | source = "registry+https://github.com/rust-lang/crates.io-index" 1451 | checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 1452 | dependencies = [ 1453 | "digest", 1454 | "rand_core", 1455 | ] 1456 | 1457 | [[package]] 1458 | name = "slab" 1459 | version = "0.4.9" 1460 | source = "registry+https://github.com/rust-lang/crates.io-index" 1461 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1462 | dependencies = [ 1463 | "autocfg", 1464 | ] 1465 | 1466 | [[package]] 1467 | name = "smallvec" 1468 | version = "1.13.1" 1469 | source = "registry+https://github.com/rust-lang/crates.io-index" 1470 | checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" 1471 | 1472 | [[package]] 1473 | name = "socket2" 1474 | version = "0.5.5" 1475 | source = "registry+https://github.com/rust-lang/crates.io-index" 1476 | checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" 1477 | dependencies = [ 1478 | "libc", 1479 | "windows-sys 0.48.0", 1480 | ] 1481 | 1482 | [[package]] 1483 | name = "spin" 1484 | version = "0.5.2" 1485 | source = "registry+https://github.com/rust-lang/crates.io-index" 1486 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 1487 | 1488 | [[package]] 1489 | name = "spin" 1490 | version = "0.9.8" 1491 | source = "registry+https://github.com/rust-lang/crates.io-index" 1492 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1493 | dependencies = [ 1494 | "lock_api", 1495 | ] 1496 | 1497 | [[package]] 1498 | name = "spki" 1499 | version = "0.7.3" 1500 | source = "registry+https://github.com/rust-lang/crates.io-index" 1501 | checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 1502 | dependencies = [ 1503 | "base64ct", 1504 | "der", 1505 | ] 1506 | 1507 | [[package]] 1508 | name = "sqlformat" 1509 | version = "0.2.3" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" 1512 | dependencies = [ 1513 | "itertools", 1514 | "nom", 1515 | "unicode_categories", 1516 | ] 1517 | 1518 | [[package]] 1519 | name = "sqlx" 1520 | version = "0.7.4" 1521 | source = "registry+https://github.com/rust-lang/crates.io-index" 1522 | checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" 1523 | dependencies = [ 1524 | "sqlx-core", 1525 | "sqlx-macros", 1526 | "sqlx-mysql", 1527 | "sqlx-postgres", 1528 | "sqlx-sqlite", 1529 | ] 1530 | 1531 | [[package]] 1532 | name = "sqlx-core" 1533 | version = "0.7.4" 1534 | source = "registry+https://github.com/rust-lang/crates.io-index" 1535 | checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" 1536 | dependencies = [ 1537 | "ahash", 1538 | "atoi", 1539 | "byteorder", 1540 | "bytes", 1541 | "crc", 1542 | "crossbeam-queue", 1543 | "either", 1544 | "event-listener", 1545 | "futures-channel", 1546 | "futures-core", 1547 | "futures-intrusive", 1548 | "futures-io", 1549 | "futures-util", 1550 | "hashlink", 1551 | "hex", 1552 | "indexmap", 1553 | "log", 1554 | "memchr", 1555 | "native-tls", 1556 | "once_cell", 1557 | "paste", 1558 | "percent-encoding", 1559 | "serde", 1560 | "serde_json", 1561 | "sha2", 1562 | "smallvec", 1563 | "sqlformat", 1564 | "thiserror", 1565 | "tokio", 1566 | "tokio-stream", 1567 | "tracing", 1568 | "url", 1569 | ] 1570 | 1571 | [[package]] 1572 | name = "sqlx-macros" 1573 | version = "0.7.4" 1574 | source = "registry+https://github.com/rust-lang/crates.io-index" 1575 | checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" 1576 | dependencies = [ 1577 | "proc-macro2", 1578 | "quote", 1579 | "sqlx-core", 1580 | "sqlx-macros-core", 1581 | "syn 1.0.109", 1582 | ] 1583 | 1584 | [[package]] 1585 | name = "sqlx-macros-core" 1586 | version = "0.7.4" 1587 | source = "registry+https://github.com/rust-lang/crates.io-index" 1588 | checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" 1589 | dependencies = [ 1590 | "dotenvy", 1591 | "either", 1592 | "heck", 1593 | "hex", 1594 | "once_cell", 1595 | "proc-macro2", 1596 | "quote", 1597 | "serde", 1598 | "serde_json", 1599 | "sha2", 1600 | "sqlx-core", 1601 | "sqlx-mysql", 1602 | "sqlx-postgres", 1603 | "sqlx-sqlite", 1604 | "syn 1.0.109", 1605 | "tempfile", 1606 | "tokio", 1607 | "url", 1608 | ] 1609 | 1610 | [[package]] 1611 | name = "sqlx-mysql" 1612 | version = "0.7.4" 1613 | source = "registry+https://github.com/rust-lang/crates.io-index" 1614 | checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" 1615 | dependencies = [ 1616 | "atoi", 1617 | "base64", 1618 | "bitflags 2.4.2", 1619 | "byteorder", 1620 | "bytes", 1621 | "crc", 1622 | "digest", 1623 | "dotenvy", 1624 | "either", 1625 | "futures-channel", 1626 | "futures-core", 1627 | "futures-io", 1628 | "futures-util", 1629 | "generic-array", 1630 | "hex", 1631 | "hkdf", 1632 | "hmac", 1633 | "itoa", 1634 | "log", 1635 | "md-5", 1636 | "memchr", 1637 | "once_cell", 1638 | "percent-encoding", 1639 | "rand", 1640 | "rsa", 1641 | "serde", 1642 | "sha1", 1643 | "sha2", 1644 | "smallvec", 1645 | "sqlx-core", 1646 | "stringprep", 1647 | "thiserror", 1648 | "tracing", 1649 | "whoami", 1650 | ] 1651 | 1652 | [[package]] 1653 | name = "sqlx-postgres" 1654 | version = "0.7.4" 1655 | source = "registry+https://github.com/rust-lang/crates.io-index" 1656 | checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" 1657 | dependencies = [ 1658 | "atoi", 1659 | "base64", 1660 | "bitflags 2.4.2", 1661 | "byteorder", 1662 | "crc", 1663 | "dotenvy", 1664 | "etcetera", 1665 | "futures-channel", 1666 | "futures-core", 1667 | "futures-io", 1668 | "futures-util", 1669 | "hex", 1670 | "hkdf", 1671 | "hmac", 1672 | "home", 1673 | "itoa", 1674 | "log", 1675 | "md-5", 1676 | "memchr", 1677 | "once_cell", 1678 | "rand", 1679 | "serde", 1680 | "serde_json", 1681 | "sha2", 1682 | "smallvec", 1683 | "sqlx-core", 1684 | "stringprep", 1685 | "thiserror", 1686 | "tracing", 1687 | "whoami", 1688 | ] 1689 | 1690 | [[package]] 1691 | name = "sqlx-sqlite" 1692 | version = "0.7.4" 1693 | source = "registry+https://github.com/rust-lang/crates.io-index" 1694 | checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" 1695 | dependencies = [ 1696 | "atoi", 1697 | "flume", 1698 | "futures-channel", 1699 | "futures-core", 1700 | "futures-executor", 1701 | "futures-intrusive", 1702 | "futures-util", 1703 | "libsqlite3-sys", 1704 | "log", 1705 | "percent-encoding", 1706 | "serde", 1707 | "sqlx-core", 1708 | "tracing", 1709 | "url", 1710 | "urlencoding", 1711 | ] 1712 | 1713 | [[package]] 1714 | name = "stringprep" 1715 | version = "0.1.4" 1716 | source = "registry+https://github.com/rust-lang/crates.io-index" 1717 | checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" 1718 | dependencies = [ 1719 | "finl_unicode", 1720 | "unicode-bidi", 1721 | "unicode-normalization", 1722 | ] 1723 | 1724 | [[package]] 1725 | name = "subtle" 1726 | version = "2.5.0" 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" 1728 | checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" 1729 | 1730 | [[package]] 1731 | name = "syn" 1732 | version = "1.0.109" 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" 1734 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1735 | dependencies = [ 1736 | "proc-macro2", 1737 | "quote", 1738 | "unicode-ident", 1739 | ] 1740 | 1741 | [[package]] 1742 | name = "syn" 1743 | version = "2.0.48" 1744 | source = "registry+https://github.com/rust-lang/crates.io-index" 1745 | checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" 1746 | dependencies = [ 1747 | "proc-macro2", 1748 | "quote", 1749 | "unicode-ident", 1750 | ] 1751 | 1752 | [[package]] 1753 | name = "sync_wrapper" 1754 | version = "0.1.2" 1755 | source = "registry+https://github.com/rust-lang/crates.io-index" 1756 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 1757 | 1758 | [[package]] 1759 | name = "synstructure" 1760 | version = "0.12.6" 1761 | source = "registry+https://github.com/rust-lang/crates.io-index" 1762 | checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" 1763 | dependencies = [ 1764 | "proc-macro2", 1765 | "quote", 1766 | "syn 1.0.109", 1767 | "unicode-xid", 1768 | ] 1769 | 1770 | [[package]] 1771 | name = "system-configuration" 1772 | version = "0.5.1" 1773 | source = "registry+https://github.com/rust-lang/crates.io-index" 1774 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 1775 | dependencies = [ 1776 | "bitflags 1.3.2", 1777 | "core-foundation", 1778 | "system-configuration-sys", 1779 | ] 1780 | 1781 | [[package]] 1782 | name = "system-configuration-sys" 1783 | version = "0.5.0" 1784 | source = "registry+https://github.com/rust-lang/crates.io-index" 1785 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 1786 | dependencies = [ 1787 | "core-foundation-sys", 1788 | "libc", 1789 | ] 1790 | 1791 | [[package]] 1792 | name = "tempfile" 1793 | version = "3.10.0" 1794 | source = "registry+https://github.com/rust-lang/crates.io-index" 1795 | checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" 1796 | dependencies = [ 1797 | "cfg-if", 1798 | "fastrand", 1799 | "rustix", 1800 | "windows-sys 0.52.0", 1801 | ] 1802 | 1803 | [[package]] 1804 | name = "thiserror" 1805 | version = "1.0.57" 1806 | source = "registry+https://github.com/rust-lang/crates.io-index" 1807 | checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" 1808 | dependencies = [ 1809 | "thiserror-impl", 1810 | ] 1811 | 1812 | [[package]] 1813 | name = "thiserror-impl" 1814 | version = "1.0.57" 1815 | source = "registry+https://github.com/rust-lang/crates.io-index" 1816 | checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" 1817 | dependencies = [ 1818 | "proc-macro2", 1819 | "quote", 1820 | "syn 2.0.48", 1821 | ] 1822 | 1823 | [[package]] 1824 | name = "tinyvec" 1825 | version = "1.6.0" 1826 | source = "registry+https://github.com/rust-lang/crates.io-index" 1827 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1828 | dependencies = [ 1829 | "tinyvec_macros", 1830 | ] 1831 | 1832 | [[package]] 1833 | name = "tinyvec_macros" 1834 | version = "0.1.1" 1835 | source = "registry+https://github.com/rust-lang/crates.io-index" 1836 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1837 | 1838 | [[package]] 1839 | name = "tokio" 1840 | version = "1.36.0" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" 1843 | dependencies = [ 1844 | "backtrace", 1845 | "bytes", 1846 | "libc", 1847 | "mio", 1848 | "num_cpus", 1849 | "parking_lot", 1850 | "pin-project-lite", 1851 | "signal-hook-registry", 1852 | "socket2", 1853 | "tokio-macros", 1854 | "windows-sys 0.48.0", 1855 | ] 1856 | 1857 | [[package]] 1858 | name = "tokio-macros" 1859 | version = "2.2.0" 1860 | source = "registry+https://github.com/rust-lang/crates.io-index" 1861 | checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" 1862 | dependencies = [ 1863 | "proc-macro2", 1864 | "quote", 1865 | "syn 2.0.48", 1866 | ] 1867 | 1868 | [[package]] 1869 | name = "tokio-native-tls" 1870 | version = "0.3.1" 1871 | source = "registry+https://github.com/rust-lang/crates.io-index" 1872 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1873 | dependencies = [ 1874 | "native-tls", 1875 | "tokio", 1876 | ] 1877 | 1878 | [[package]] 1879 | name = "tokio-rustls" 1880 | version = "0.24.1" 1881 | source = "registry+https://github.com/rust-lang/crates.io-index" 1882 | checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" 1883 | dependencies = [ 1884 | "rustls", 1885 | "tokio", 1886 | ] 1887 | 1888 | [[package]] 1889 | name = "tokio-stream" 1890 | version = "0.1.15" 1891 | source = "registry+https://github.com/rust-lang/crates.io-index" 1892 | checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" 1893 | dependencies = [ 1894 | "futures-core", 1895 | "pin-project-lite", 1896 | "tokio", 1897 | ] 1898 | 1899 | [[package]] 1900 | name = "tokio-util" 1901 | version = "0.7.10" 1902 | source = "registry+https://github.com/rust-lang/crates.io-index" 1903 | checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" 1904 | dependencies = [ 1905 | "bytes", 1906 | "futures-core", 1907 | "futures-sink", 1908 | "pin-project-lite", 1909 | "tokio", 1910 | "tracing", 1911 | ] 1912 | 1913 | [[package]] 1914 | name = "tower-service" 1915 | version = "0.3.2" 1916 | source = "registry+https://github.com/rust-lang/crates.io-index" 1917 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1918 | 1919 | [[package]] 1920 | name = "tracing" 1921 | version = "0.1.40" 1922 | source = "registry+https://github.com/rust-lang/crates.io-index" 1923 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1924 | dependencies = [ 1925 | "log", 1926 | "pin-project-lite", 1927 | "tracing-attributes", 1928 | "tracing-core", 1929 | ] 1930 | 1931 | [[package]] 1932 | name = "tracing-attributes" 1933 | version = "0.1.27" 1934 | source = "registry+https://github.com/rust-lang/crates.io-index" 1935 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 1936 | dependencies = [ 1937 | "proc-macro2", 1938 | "quote", 1939 | "syn 2.0.48", 1940 | ] 1941 | 1942 | [[package]] 1943 | name = "tracing-core" 1944 | version = "0.1.32" 1945 | source = "registry+https://github.com/rust-lang/crates.io-index" 1946 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1947 | dependencies = [ 1948 | "once_cell", 1949 | ] 1950 | 1951 | [[package]] 1952 | name = "try-lock" 1953 | version = "0.2.5" 1954 | source = "registry+https://github.com/rust-lang/crates.io-index" 1955 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1956 | 1957 | [[package]] 1958 | name = "typed-builder" 1959 | version = "0.18.1" 1960 | source = "registry+https://github.com/rust-lang/crates.io-index" 1961 | checksum = "444d8748011b93cb168770e8092458cb0f8854f931ff82fdf6ddfbd72a9c933e" 1962 | dependencies = [ 1963 | "typed-builder-macro", 1964 | ] 1965 | 1966 | [[package]] 1967 | name = "typed-builder-macro" 1968 | version = "0.18.1" 1969 | source = "registry+https://github.com/rust-lang/crates.io-index" 1970 | checksum = "563b3b88238ec95680aef36bdece66896eaa7ce3c0f1b4f39d38fb2435261352" 1971 | dependencies = [ 1972 | "proc-macro2", 1973 | "quote", 1974 | "syn 2.0.48", 1975 | ] 1976 | 1977 | [[package]] 1978 | name = "typenum" 1979 | version = "1.17.0" 1980 | source = "registry+https://github.com/rust-lang/crates.io-index" 1981 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 1982 | 1983 | [[package]] 1984 | name = "unicase" 1985 | version = "2.7.0" 1986 | source = "registry+https://github.com/rust-lang/crates.io-index" 1987 | checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" 1988 | dependencies = [ 1989 | "version_check", 1990 | ] 1991 | 1992 | [[package]] 1993 | name = "unicode-bidi" 1994 | version = "0.3.15" 1995 | source = "registry+https://github.com/rust-lang/crates.io-index" 1996 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 1997 | 1998 | [[package]] 1999 | name = "unicode-ident" 2000 | version = "1.0.12" 2001 | source = "registry+https://github.com/rust-lang/crates.io-index" 2002 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 2003 | 2004 | [[package]] 2005 | name = "unicode-normalization" 2006 | version = "0.1.22" 2007 | source = "registry+https://github.com/rust-lang/crates.io-index" 2008 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 2009 | dependencies = [ 2010 | "tinyvec", 2011 | ] 2012 | 2013 | [[package]] 2014 | name = "unicode-segmentation" 2015 | version = "1.11.0" 2016 | source = "registry+https://github.com/rust-lang/crates.io-index" 2017 | checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" 2018 | 2019 | [[package]] 2020 | name = "unicode-xid" 2021 | version = "0.2.4" 2022 | source = "registry+https://github.com/rust-lang/crates.io-index" 2023 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" 2024 | 2025 | [[package]] 2026 | name = "unicode_categories" 2027 | version = "0.1.1" 2028 | source = "registry+https://github.com/rust-lang/crates.io-index" 2029 | checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" 2030 | 2031 | [[package]] 2032 | name = "untrusted" 2033 | version = "0.9.0" 2034 | source = "registry+https://github.com/rust-lang/crates.io-index" 2035 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 2036 | 2037 | [[package]] 2038 | name = "url" 2039 | version = "2.5.0" 2040 | source = "registry+https://github.com/rust-lang/crates.io-index" 2041 | checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" 2042 | dependencies = [ 2043 | "form_urlencoded", 2044 | "idna", 2045 | "percent-encoding", 2046 | ] 2047 | 2048 | [[package]] 2049 | name = "urlencoding" 2050 | version = "2.1.3" 2051 | source = "registry+https://github.com/rust-lang/crates.io-index" 2052 | checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" 2053 | 2054 | [[package]] 2055 | name = "vcpkg" 2056 | version = "0.2.15" 2057 | source = "registry+https://github.com/rust-lang/crates.io-index" 2058 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 2059 | 2060 | [[package]] 2061 | name = "version_check" 2062 | version = "0.9.4" 2063 | source = "registry+https://github.com/rust-lang/crates.io-index" 2064 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2065 | 2066 | [[package]] 2067 | name = "want" 2068 | version = "0.3.1" 2069 | source = "registry+https://github.com/rust-lang/crates.io-index" 2070 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 2071 | dependencies = [ 2072 | "try-lock", 2073 | ] 2074 | 2075 | [[package]] 2076 | name = "wasi" 2077 | version = "0.11.0+wasi-snapshot-preview1" 2078 | source = "registry+https://github.com/rust-lang/crates.io-index" 2079 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2080 | 2081 | [[package]] 2082 | name = "wasite" 2083 | version = "0.1.0" 2084 | source = "registry+https://github.com/rust-lang/crates.io-index" 2085 | checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" 2086 | 2087 | [[package]] 2088 | name = "wasm-bindgen" 2089 | version = "0.2.91" 2090 | source = "registry+https://github.com/rust-lang/crates.io-index" 2091 | checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" 2092 | dependencies = [ 2093 | "cfg-if", 2094 | "wasm-bindgen-macro", 2095 | ] 2096 | 2097 | [[package]] 2098 | name = "wasm-bindgen-backend" 2099 | version = "0.2.91" 2100 | source = "registry+https://github.com/rust-lang/crates.io-index" 2101 | checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" 2102 | dependencies = [ 2103 | "bumpalo", 2104 | "log", 2105 | "once_cell", 2106 | "proc-macro2", 2107 | "quote", 2108 | "syn 2.0.48", 2109 | "wasm-bindgen-shared", 2110 | ] 2111 | 2112 | [[package]] 2113 | name = "wasm-bindgen-futures" 2114 | version = "0.4.41" 2115 | source = "registry+https://github.com/rust-lang/crates.io-index" 2116 | checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" 2117 | dependencies = [ 2118 | "cfg-if", 2119 | "js-sys", 2120 | "wasm-bindgen", 2121 | "web-sys", 2122 | ] 2123 | 2124 | [[package]] 2125 | name = "wasm-bindgen-macro" 2126 | version = "0.2.91" 2127 | source = "registry+https://github.com/rust-lang/crates.io-index" 2128 | checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" 2129 | dependencies = [ 2130 | "quote", 2131 | "wasm-bindgen-macro-support", 2132 | ] 2133 | 2134 | [[package]] 2135 | name = "wasm-bindgen-macro-support" 2136 | version = "0.2.91" 2137 | source = "registry+https://github.com/rust-lang/crates.io-index" 2138 | checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" 2139 | dependencies = [ 2140 | "proc-macro2", 2141 | "quote", 2142 | "syn 2.0.48", 2143 | "wasm-bindgen-backend", 2144 | "wasm-bindgen-shared", 2145 | ] 2146 | 2147 | [[package]] 2148 | name = "wasm-bindgen-shared" 2149 | version = "0.2.91" 2150 | source = "registry+https://github.com/rust-lang/crates.io-index" 2151 | checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" 2152 | 2153 | [[package]] 2154 | name = "wasm-streams" 2155 | version = "0.4.0" 2156 | source = "registry+https://github.com/rust-lang/crates.io-index" 2157 | checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" 2158 | dependencies = [ 2159 | "futures-util", 2160 | "js-sys", 2161 | "wasm-bindgen", 2162 | "wasm-bindgen-futures", 2163 | "web-sys", 2164 | ] 2165 | 2166 | [[package]] 2167 | name = "web-sys" 2168 | version = "0.3.68" 2169 | source = "registry+https://github.com/rust-lang/crates.io-index" 2170 | checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" 2171 | dependencies = [ 2172 | "js-sys", 2173 | "wasm-bindgen", 2174 | ] 2175 | 2176 | [[package]] 2177 | name = "webpki-roots" 2178 | version = "0.25.4" 2179 | source = "registry+https://github.com/rust-lang/crates.io-index" 2180 | checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" 2181 | 2182 | [[package]] 2183 | name = "whoami" 2184 | version = "1.5.1" 2185 | source = "registry+https://github.com/rust-lang/crates.io-index" 2186 | checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" 2187 | dependencies = [ 2188 | "redox_syscall", 2189 | "wasite", 2190 | ] 2191 | 2192 | [[package]] 2193 | name = "windows-sys" 2194 | version = "0.48.0" 2195 | source = "registry+https://github.com/rust-lang/crates.io-index" 2196 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 2197 | dependencies = [ 2198 | "windows-targets 0.48.5", 2199 | ] 2200 | 2201 | [[package]] 2202 | name = "windows-sys" 2203 | version = "0.52.0" 2204 | source = "registry+https://github.com/rust-lang/crates.io-index" 2205 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2206 | dependencies = [ 2207 | "windows-targets 0.52.0", 2208 | ] 2209 | 2210 | [[package]] 2211 | name = "windows-targets" 2212 | version = "0.48.5" 2213 | source = "registry+https://github.com/rust-lang/crates.io-index" 2214 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2215 | dependencies = [ 2216 | "windows_aarch64_gnullvm 0.48.5", 2217 | "windows_aarch64_msvc 0.48.5", 2218 | "windows_i686_gnu 0.48.5", 2219 | "windows_i686_msvc 0.48.5", 2220 | "windows_x86_64_gnu 0.48.5", 2221 | "windows_x86_64_gnullvm 0.48.5", 2222 | "windows_x86_64_msvc 0.48.5", 2223 | ] 2224 | 2225 | [[package]] 2226 | name = "windows-targets" 2227 | version = "0.52.0" 2228 | source = "registry+https://github.com/rust-lang/crates.io-index" 2229 | checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" 2230 | dependencies = [ 2231 | "windows_aarch64_gnullvm 0.52.0", 2232 | "windows_aarch64_msvc 0.52.0", 2233 | "windows_i686_gnu 0.52.0", 2234 | "windows_i686_msvc 0.52.0", 2235 | "windows_x86_64_gnu 0.52.0", 2236 | "windows_x86_64_gnullvm 0.52.0", 2237 | "windows_x86_64_msvc 0.52.0", 2238 | ] 2239 | 2240 | [[package]] 2241 | name = "windows_aarch64_gnullvm" 2242 | version = "0.48.5" 2243 | source = "registry+https://github.com/rust-lang/crates.io-index" 2244 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2245 | 2246 | [[package]] 2247 | name = "windows_aarch64_gnullvm" 2248 | version = "0.52.0" 2249 | source = "registry+https://github.com/rust-lang/crates.io-index" 2250 | checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" 2251 | 2252 | [[package]] 2253 | name = "windows_aarch64_msvc" 2254 | version = "0.48.5" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2257 | 2258 | [[package]] 2259 | name = "windows_aarch64_msvc" 2260 | version = "0.52.0" 2261 | source = "registry+https://github.com/rust-lang/crates.io-index" 2262 | checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" 2263 | 2264 | [[package]] 2265 | name = "windows_i686_gnu" 2266 | version = "0.48.5" 2267 | source = "registry+https://github.com/rust-lang/crates.io-index" 2268 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2269 | 2270 | [[package]] 2271 | name = "windows_i686_gnu" 2272 | version = "0.52.0" 2273 | source = "registry+https://github.com/rust-lang/crates.io-index" 2274 | checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" 2275 | 2276 | [[package]] 2277 | name = "windows_i686_msvc" 2278 | version = "0.48.5" 2279 | source = "registry+https://github.com/rust-lang/crates.io-index" 2280 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2281 | 2282 | [[package]] 2283 | name = "windows_i686_msvc" 2284 | version = "0.52.0" 2285 | source = "registry+https://github.com/rust-lang/crates.io-index" 2286 | checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" 2287 | 2288 | [[package]] 2289 | name = "windows_x86_64_gnu" 2290 | version = "0.48.5" 2291 | source = "registry+https://github.com/rust-lang/crates.io-index" 2292 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2293 | 2294 | [[package]] 2295 | name = "windows_x86_64_gnu" 2296 | version = "0.52.0" 2297 | source = "registry+https://github.com/rust-lang/crates.io-index" 2298 | checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" 2299 | 2300 | [[package]] 2301 | name = "windows_x86_64_gnullvm" 2302 | version = "0.48.5" 2303 | source = "registry+https://github.com/rust-lang/crates.io-index" 2304 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2305 | 2306 | [[package]] 2307 | name = "windows_x86_64_gnullvm" 2308 | version = "0.52.0" 2309 | source = "registry+https://github.com/rust-lang/crates.io-index" 2310 | checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" 2311 | 2312 | [[package]] 2313 | name = "windows_x86_64_msvc" 2314 | version = "0.48.5" 2315 | source = "registry+https://github.com/rust-lang/crates.io-index" 2316 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2317 | 2318 | [[package]] 2319 | name = "windows_x86_64_msvc" 2320 | version = "0.52.0" 2321 | source = "registry+https://github.com/rust-lang/crates.io-index" 2322 | checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" 2323 | 2324 | [[package]] 2325 | name = "winreg" 2326 | version = "0.50.0" 2327 | source = "registry+https://github.com/rust-lang/crates.io-index" 2328 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" 2329 | dependencies = [ 2330 | "cfg-if", 2331 | "windows-sys 0.48.0", 2332 | ] 2333 | 2334 | [[package]] 2335 | name = "zerocopy" 2336 | version = "0.7.32" 2337 | source = "registry+https://github.com/rust-lang/crates.io-index" 2338 | checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" 2339 | dependencies = [ 2340 | "zerocopy-derive", 2341 | ] 2342 | 2343 | [[package]] 2344 | name = "zerocopy-derive" 2345 | version = "0.7.32" 2346 | source = "registry+https://github.com/rust-lang/crates.io-index" 2347 | checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" 2348 | dependencies = [ 2349 | "proc-macro2", 2350 | "quote", 2351 | "syn 2.0.48", 2352 | ] 2353 | 2354 | [[package]] 2355 | name = "zeroize" 2356 | version = "1.7.0" 2357 | source = "registry+https://github.com/rust-lang/crates.io-index" 2358 | checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" 2359 | --------------------------------------------------------------------------------