diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index c6d3b37..686716b 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -108,6 +108,7 @@ jobs: container: ghcr.io/biliup/manylinux2014-cross:i686 - os: ubuntu target: aarch64 + manylinux: 2_28 # FIXME: look https://github.com/briansmith/ring/issues/1728 - os: ubuntu target: armv7 interpreter: 3.7 3.8 3.9 3.10 3.11 @@ -120,16 +121,18 @@ jobs: manylinux: musllinux_1_1 - os: ubuntu target: ppc64le - container: ghcr.io/biliup/manylinux2014-cross:ppc64le interpreter: 3.7 3.8 3.9 3.10 3.11 - os: ubuntu target: s390x - container: ghcr.io/biliup/manylinux2014-cross:s390x interpreter: 3.7 3.8 3.9 3.10 3.11 exclude: # Windows on arm64 only supports Python 3.11+ - os: windows target: aarch64 + # FIXME: look https://github.com/briansmith/ring/issues/1728 + - os: ubuntu + target: aarch64 + manylinux: auto runs-on: ${{ matrix.os }}-latest steps: diff --git a/.gitignore b/.gitignore index d981d15..a7c075d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,7 @@ .idea *.mp4 *.flv -*.json *.exe *.png *.part data.db* -!sqlx-data.json diff --git a/.sqlx/query-21c221edcfacc6ddf7af24d8371f03bff3d75fdfb04e2e6b310ce0ab89e89efc.json b/.sqlx/query-21c221edcfacc6ddf7af24d8371f03bff3d75fdfb04e2e6b310ce0ab89e89efc.json new file mode 100644 index 0000000..a3a30ad --- /dev/null +++ b/.sqlx/query-21c221edcfacc6ddf7af24d8371f03bff3d75fdfb04e2e6b310ce0ab89e89efc.json @@ -0,0 +1,56 @@ +{ + "db_name": "SQLite", + "query": "\n select\n id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id\n from\n live_streamers\n where\n url=$1\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "url!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "remark!", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "filename!", + "ordinal": 3, + "type_info": "Text" + }, + { + "name": "split_time", + "ordinal": 4, + "type_info": "Int64" + }, + { + "name": "split_size", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "upload_id", + "ordinal": 6, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + false, + false, + false, + true, + true, + true + ] + }, + "hash": "21c221edcfacc6ddf7af24d8371f03bff3d75fdfb04e2e6b310ce0ab89e89efc" +} diff --git a/.sqlx/query-244489f42e7a598ba2a62514bbf98df40e7a0e337df28d6cf2bb59d298e80c5f.json b/.sqlx/query-244489f42e7a598ba2a62514bbf98df40e7a0e337df28d6cf2bb59d298e80c5f.json new file mode 100644 index 0000000..ce2d450 --- /dev/null +++ b/.sqlx/query-244489f42e7a598ba2a62514bbf98df40e7a0e337df28d6cf2bb59d298e80c5f.json @@ -0,0 +1,140 @@ +{ + "db_name": "SQLite", + "query": "select id,\n template_name as \"template_name!\",\n user,\n copyright as \"copyright!: u8\",\n \"source\" as \"source!\",\n tid as \"tid!: u16\",\n cover as \"cover!\",\n title as \"title!\",\n \"desc\" as \"desc!\",\n \"dynamic\" as \"dynamic!\",\n tag as \"tag!\",\n dtime as \"dtime: u32\",\n interactive as \"interactive!: u8\",\n mission_id as \"mission_id: u32\",\n dolby as \"dolby!: u8\",\n lossless_music as \"lossless_music!: u8\",\n no_reprint as \"no_reprint!: u8\",\n open_elec as \"open_elec!: u8\",\n up_selection_reply as \"up_selection_reply!: bool\",\n up_close_reply as \"up_close_reply!: bool\",\n up_close_danmu as \"up_close_danmu!: bool\"\n from upload_streamers", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "template_name!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "user", + "ordinal": 2, + "type_info": "Int64" + }, + { + "name": "copyright!: u8", + "ordinal": 3, + "type_info": "Int64" + }, + { + "name": "source!", + "ordinal": 4, + "type_info": "Text" + }, + { + "name": "tid!: u16", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "cover!", + "ordinal": 6, + "type_info": "Text" + }, + { + "name": "title!", + "ordinal": 7, + "type_info": "Text" + }, + { + "name": "desc!", + "ordinal": 8, + "type_info": "Text" + }, + { + "name": "dynamic!", + "ordinal": 9, + "type_info": "Text" + }, + { + "name": "tag!", + "ordinal": 10, + "type_info": "Text" + }, + { + "name": "dtime: u32", + "ordinal": 11, + "type_info": "Int64" + }, + { + "name": "interactive!: u8", + "ordinal": 12, + "type_info": "Int64" + }, + { + "name": "mission_id: u32", + "ordinal": 13, + "type_info": "Int64" + }, + { + "name": "dolby!: u8", + "ordinal": 14, + "type_info": "Int64" + }, + { + "name": "lossless_music!: u8", + "ordinal": 15, + "type_info": "Int64" + }, + { + "name": "no_reprint!: u8", + "ordinal": 16, + "type_info": "Int64" + }, + { + "name": "open_elec!: u8", + "ordinal": 17, + "type_info": "Int64" + }, + { + "name": "up_selection_reply!: bool", + "ordinal": 18, + "type_info": "Int64" + }, + { + "name": "up_close_reply!: bool", + "ordinal": 19, + "type_info": "Int64" + }, + { + "name": "up_close_danmu!: bool", + "ordinal": 20, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 0 + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "244489f42e7a598ba2a62514bbf98df40e7a0e337df28d6cf2bb59d298e80c5f" +} diff --git a/.sqlx/query-29f8fa25bd2febaf16f128b46391474b34bcba311abc3e17f1b14ad5f04cfba1.json b/.sqlx/query-29f8fa25bd2febaf16f128b46391474b34bcba311abc3e17f1b14ad5f04cfba1.json new file mode 100644 index 0000000..c71d9e7 --- /dev/null +++ b/.sqlx/query-29f8fa25bd2febaf16f128b46391474b34bcba311abc3e17f1b14ad5f04cfba1.json @@ -0,0 +1,140 @@ +{ + "db_name": "SQLite", + "query": "insert into upload_streamers(\n template_name,\n user,\n copyright,\n source,\n tid,\n cover,\n title,\n 'desc',\n dynamic,\n tag,\n dtime,\n interactive,\n mission_id,\n dolby,\n lossless_music,\n no_reprint,\n open_elec,\n up_selection_reply,\n up_close_reply,\n up_close_danmu\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)\n returning\n id,\n template_name as \"template_name!\",\n user as \"user!\",\n copyright as \"copyright!: u8\",\n source as \"source!\",\n tid as \"tid!: u16\",\n cover as \"cover!\",\n title as \"title!\",\n \"desc\" as \"desc!\",\n dynamic as \"dynamic!\",\n tag as \"tag!\",\n dtime as \"dtime: u32\",\n interactive as \"interactive!: u8\",\n mission_id as \"mission_id: u32\",\n dolby as \"dolby!: u8\",\n lossless_music as \"lossless_music!: u8\",\n no_reprint as \"no_reprint!: u8\",\n open_elec as \"open_elec!: u8\",\n up_selection_reply as \"up_selection_reply!: bool\",\n up_close_reply as \"up_close_reply!: bool\",\n up_close_danmu as \"up_close_danmu!: bool\"", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "template_name!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "user!", + "ordinal": 2, + "type_info": "Int64" + }, + { + "name": "copyright!: u8", + "ordinal": 3, + "type_info": "Int64" + }, + { + "name": "source!", + "ordinal": 4, + "type_info": "Text" + }, + { + "name": "tid!: u16", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "cover!", + "ordinal": 6, + "type_info": "Text" + }, + { + "name": "title!", + "ordinal": 7, + "type_info": "Text" + }, + { + "name": "desc!", + "ordinal": 8, + "type_info": "Text" + }, + { + "name": "dynamic!", + "ordinal": 9, + "type_info": "Text" + }, + { + "name": "tag!", + "ordinal": 10, + "type_info": "Text" + }, + { + "name": "dtime: u32", + "ordinal": 11, + "type_info": "Int64" + }, + { + "name": "interactive!: u8", + "ordinal": 12, + "type_info": "Int64" + }, + { + "name": "mission_id: u32", + "ordinal": 13, + "type_info": "Int64" + }, + { + "name": "dolby!: u8", + "ordinal": 14, + "type_info": "Int64" + }, + { + "name": "lossless_music!: u8", + "ordinal": 15, + "type_info": "Int64" + }, + { + "name": "no_reprint!: u8", + "ordinal": 16, + "type_info": "Int64" + }, + { + "name": "open_elec!: u8", + "ordinal": 17, + "type_info": "Int64" + }, + { + "name": "up_selection_reply!: bool", + "ordinal": 18, + "type_info": "Int64" + }, + { + "name": "up_close_reply!: bool", + "ordinal": 19, + "type_info": "Int64" + }, + { + "name": "up_close_danmu!: bool", + "ordinal": 20, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 20 + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "29f8fa25bd2febaf16f128b46391474b34bcba311abc3e17f1b14ad5f04cfba1" +} diff --git a/.sqlx/query-31f077ea44a55127371192f9ac33007dfcb08cbdb36dacd702d9d694d8e946d5.json b/.sqlx/query-31f077ea44a55127371192f9ac33007dfcb08cbdb36dacd702d9d694d8e946d5.json new file mode 100644 index 0000000..835f06f --- /dev/null +++ b/.sqlx/query-31f077ea44a55127371192f9ac33007dfcb08cbdb36dacd702d9d694d8e946d5.json @@ -0,0 +1,56 @@ +{ + "db_name": "SQLite", + "query": "\n select\n id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id\n from\n live_streamers\n where\n id=$1\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "url!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "remark!", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "filename!", + "ordinal": 3, + "type_info": "Text" + }, + { + "name": "split_time", + "ordinal": 4, + "type_info": "Int64" + }, + { + "name": "split_size", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "upload_id", + "ordinal": 6, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + false, + false, + false, + true, + true, + true + ] + }, + "hash": "31f077ea44a55127371192f9ac33007dfcb08cbdb36dacd702d9d694d8e946d5" +} diff --git a/.sqlx/query-495927728f70e22287a0d8290c4f1c12390a6c999bf07fc012aa15f267241d3b.json b/.sqlx/query-495927728f70e22287a0d8290c4f1c12390a6c999bf07fc012aa15f267241d3b.json new file mode 100644 index 0000000..3c3a3cb --- /dev/null +++ b/.sqlx/query-495927728f70e22287a0d8290c4f1c12390a6c999bf07fc012aa15f267241d3b.json @@ -0,0 +1,12 @@ +{ + "db_name": "SQLite", + "query": "\n delete from users\n where id = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Right": 1 + }, + "nullable": [] + }, + "hash": "495927728f70e22287a0d8290c4f1c12390a6c999bf07fc012aa15f267241d3b" +} diff --git a/.sqlx/query-af3fa362cf5b5cb5947ed9293a285e206139375fd36cdfbd3680975c775878ad.json b/.sqlx/query-af3fa362cf5b5cb5947ed9293a285e206139375fd36cdfbd3680975c775878ad.json new file mode 100644 index 0000000..032c8ad --- /dev/null +++ b/.sqlx/query-af3fa362cf5b5cb5947ed9293a285e206139375fd36cdfbd3680975c775878ad.json @@ -0,0 +1,38 @@ +{ + "db_name": "SQLite", + "query": "\n insert into users (name, value, platform)\n values ($1, $2, $3)\n returning id, name as \"name!\", value as \"value!\", platform as \"platform!\"\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "name!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "value!", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "platform!", + "ordinal": 3, + "type_info": "Text" + } + ], + "parameters": { + "Right": 3 + }, + "nullable": [ + false, + false, + false, + false + ] + }, + "hash": "af3fa362cf5b5cb5947ed9293a285e206139375fd36cdfbd3680975c775878ad" +} diff --git a/.sqlx/query-c285bb895810306ffb0858fee4f18efb55d357c383329b748c63310e114e6f43.json b/.sqlx/query-c285bb895810306ffb0858fee4f18efb55d357c383329b748c63310e114e6f43.json new file mode 100644 index 0000000..8aa7e32 --- /dev/null +++ b/.sqlx/query-c285bb895810306ffb0858fee4f18efb55d357c383329b748c63310e114e6f43.json @@ -0,0 +1,56 @@ +{ + "db_name": "SQLite", + "query": "\n select id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id from live_streamers\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "url!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "remark!", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "filename!", + "ordinal": 3, + "type_info": "Text" + }, + { + "name": "split_time", + "ordinal": 4, + "type_info": "Int64" + }, + { + "name": "split_size", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "upload_id", + "ordinal": 6, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 0 + }, + "nullable": [ + false, + false, + false, + false, + true, + true, + true + ] + }, + "hash": "c285bb895810306ffb0858fee4f18efb55d357c383329b748c63310e114e6f43" +} diff --git a/.sqlx/query-f1b122f50176726821ad702bd803348b27e7dd14f8c5d1d759f803bb2bf458f6.json b/.sqlx/query-f1b122f50176726821ad702bd803348b27e7dd14f8c5d1d759f803bb2bf458f6.json new file mode 100644 index 0000000..7c66a9f --- /dev/null +++ b/.sqlx/query-f1b122f50176726821ad702bd803348b27e7dd14f8c5d1d759f803bb2bf458f6.json @@ -0,0 +1,56 @@ +{ + "db_name": "SQLite", + "query": "\n insert into live_streamers (url, remark, filename, split_time, split_size, upload_id)\n values ($1 , $2 , $3, $4 , $5, $6)\n returning id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "url!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "remark!", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "filename!", + "ordinal": 3, + "type_info": "Text" + }, + { + "name": "split_time", + "ordinal": 4, + "type_info": "Int64" + }, + { + "name": "split_size", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "upload_id", + "ordinal": 6, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 6 + }, + "nullable": [ + false, + false, + false, + false, + true, + true, + true + ] + }, + "hash": "f1b122f50176726821ad702bd803348b27e7dd14f8c5d1d759f803bb2bf458f6" +} diff --git a/.sqlx/query-f689c99cd87d324b7bae6f8b299d3bdf541324588021897cb8ca2594e428806c.json b/.sqlx/query-f689c99cd87d324b7bae6f8b299d3bdf541324588021897cb8ca2594e428806c.json new file mode 100644 index 0000000..13a74b0 --- /dev/null +++ b/.sqlx/query-f689c99cd87d324b7bae6f8b299d3bdf541324588021897cb8ca2594e428806c.json @@ -0,0 +1,140 @@ +{ + "db_name": "SQLite", + "query": "\n select\n id, template_name as \"template_name!\", user, copyright as \"copyright!: u8\", source as \"source!\", tid as \"tid!: u16\", cover as \"cover!\", title as \"title!\", desc as \"desc!\", dynamic as \"dynamic!\", tag as \"tag!\", dtime as \"dtime: u32\", interactive as \"interactive!: u8\", mission_id as \"mission_id: u32\", dolby as \"dolby!: u8\", lossless_music as \"lossless_music!: u8\", no_reprint as \"no_reprint!: u8\", open_elec as \"open_elec!: u8\", up_selection_reply as \"up_selection_reply!: bool\", up_close_reply as \"up_close_reply!: bool\", up_close_danmu as \"up_close_danmu!: bool\"\n from upload_streamers\n where\n id = $1\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "template_name!", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "user", + "ordinal": 2, + "type_info": "Int64" + }, + { + "name": "copyright!: u8", + "ordinal": 3, + "type_info": "Int64" + }, + { + "name": "source!", + "ordinal": 4, + "type_info": "Text" + }, + { + "name": "tid!: u16", + "ordinal": 5, + "type_info": "Int64" + }, + { + "name": "cover!", + "ordinal": 6, + "type_info": "Text" + }, + { + "name": "title!", + "ordinal": 7, + "type_info": "Text" + }, + { + "name": "desc!", + "ordinal": 8, + "type_info": "Text" + }, + { + "name": "dynamic!", + "ordinal": 9, + "type_info": "Text" + }, + { + "name": "tag!", + "ordinal": 10, + "type_info": "Text" + }, + { + "name": "dtime: u32", + "ordinal": 11, + "type_info": "Int64" + }, + { + "name": "interactive!: u8", + "ordinal": 12, + "type_info": "Int64" + }, + { + "name": "mission_id: u32", + "ordinal": 13, + "type_info": "Int64" + }, + { + "name": "dolby!: u8", + "ordinal": 14, + "type_info": "Int64" + }, + { + "name": "lossless_music!: u8", + "ordinal": 15, + "type_info": "Int64" + }, + { + "name": "no_reprint!: u8", + "ordinal": 16, + "type_info": "Int64" + }, + { + "name": "open_elec!: u8", + "ordinal": 17, + "type_info": "Int64" + }, + { + "name": "up_selection_reply!: bool", + "ordinal": 18, + "type_info": "Int64" + }, + { + "name": "up_close_reply!: bool", + "ordinal": 19, + "type_info": "Int64" + }, + { + "name": "up_close_danmu!: bool", + "ordinal": 20, + "type_info": "Int64" + } + ], + "parameters": { + "Right": 1 + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + true, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "f689c99cd87d324b7bae6f8b299d3bdf541324588021897cb8ca2594e428806c" +} diff --git a/.sqlx/query-fdcd73e1871f34a1d168c12607af22a5031955df6288b09f2f055b3d3e004093.json b/.sqlx/query-fdcd73e1871f34a1d168c12607af22a5031955df6288b09f2f055b3d3e004093.json new file mode 100644 index 0000000..7f78094 --- /dev/null +++ b/.sqlx/query-fdcd73e1871f34a1d168c12607af22a5031955df6288b09f2f055b3d3e004093.json @@ -0,0 +1,38 @@ +{ + "db_name": "SQLite", + "query": "\n select *\n from users\n ", + "describe": { + "columns": [ + { + "name": "id", + "ordinal": 0, + "type_info": "Int64" + }, + { + "name": "name", + "ordinal": 1, + "type_info": "Text" + }, + { + "name": "value", + "ordinal": 2, + "type_info": "Text" + }, + { + "name": "platform", + "ordinal": 3, + "type_info": "Text" + } + ], + "parameters": { + "Right": 0 + }, + "nullable": [ + false, + false, + false, + false + ] + }, + "hash": "fdcd73e1871f34a1d168c12607af22a5031955df6288b09f2f055b3d3e004093" +} diff --git a/Cargo.lock b/Cargo.lock index 35f7cbe..bf4ecb0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -17,39 +17,24 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "adler32" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if", + "getrandom", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -77,64 +62,63 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.2" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "async-compression" -version = "0.4.1" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b74f44609f0f91493e3082d3734d98497e094777144380ea4db9f9905dd5b6" +checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5" dependencies = [ "flate2", "futures-core", @@ -145,24 +129,34 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.72" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] name = "atoi" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" dependencies = [ "num-traits", ] +[[package]] +name = "atomic-write-file" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436" +dependencies = [ + "nix", + "rand", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -171,18 +165,19 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.19" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a1de45611fdb535bfde7b7de4fd54f4fd2b17b1737c0a59b69bf9b92074b8c" +checksum = "d09dbe0e490df5da9d69b36dca48a76635288a82f92eca90024883a56202026d" dependencies = [ "async-trait", "axum-core", - "bitflags 1.3.2", "bytes", "futures-util", - "http", - "http-body", - "hyper", + "http 1.0.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.1.0", + "hyper-util", "itoa", "matchit", "memchr", @@ -199,45 +194,50 @@ dependencies = [ "tower", "tower-layer", "tower-service", + "tracing", ] [[package]] name = "axum-core" -version = "0.3.4" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "e87c8503f93e6d144ee5690907ba22db7ba79ab001a932ab99034f0fe836b3df" dependencies = [ "async-trait", "bytes", "futures-util", - "http", - "http-body", + "http 1.0.0", + "http-body 1.0.0", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "sync_wrapper", "tower-layer", "tower-service", + "tracing", ] [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", "cfg-if", "libc", - "miniz_oxide 0.7.1", + "miniz_oxide", "object", "rustc-demangle", ] [[package]] name = "base64" -version = "0.21.2" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -257,14 +257,13 @@ dependencies = [ "bytes", "chrono", "clap", - "cookie", - "cookie_store 0.19.1", + "cookie 0.17.0", "dialoguer", "futures", "glob", "humantime", "image", - "indexmap 1.9.3", + "indexmap", "indicatif", "m3u8-rs", "md-5", @@ -285,7 +284,7 @@ dependencies = [ "serde_yaml", "sqlx", "thiserror", - "time 0.3.23", + "time", "tokio", "tower-http", "tracing", @@ -295,6 +294,12 @@ dependencies = [ "url", ] +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + [[package]] name = "bitflags" version = "1.3.2" @@ -303,9 +308,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +dependencies = [ + "serde", +] [[package]] name = "block-buffer" @@ -318,33 +326,36 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cc" -version = "1.0.79" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -352,43 +363,35 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "checked_int_cast" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cc5e6b5ab06331c33589842070416baa137e8b0eb912b008cfd4a78ada7919" - [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", "num-traits", - "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.48.5", ] [[package]] name = "clap" -version = "4.3.19" +version = "4.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d" +checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.19" +version = "4.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1" +checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" dependencies = [ "anstream", "anstyle", @@ -398,21 +401,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.3.12" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] name = "clap_lex" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "color_quant" @@ -441,9 +444,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "cookie" @@ -452,7 +455,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" dependencies = [ "percent-encoding", - "time 0.3.23", + "time", + "version_check", +] + +[[package]] +name = "cookie" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +dependencies = [ + "percent-encoding", + "time", "version_check", ] @@ -462,39 +476,39 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa" dependencies = [ - "cookie", + "cookie 0.16.2", "idna 0.2.3", "log", "publicsuffix", "serde", "serde_derive", "serde_json", - "time 0.3.23", + "time", "url", ] [[package]] name = "cookie_store" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5a18f35792056f8c7c2de9c002e7e4fe44c7b5f66e7d99f46468dbb730a7ea7" +checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" dependencies = [ - "cookie", + "cookie 0.17.0", "idna 0.3.0", "log", "publicsuffix", "serde", "serde_derive", "serde_json", - "time 0.3.23", + "time", "url", ] [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -502,15 +516,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -526,9 +540,9 @@ dependencies = [ [[package]] name = "crc-catalog" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" @@ -541,9 +555,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2" dependencies = [ "cfg-if", "crossbeam-utils", @@ -551,9 +565,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -562,22 +576,20 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "adc6598521bb5a83d491e8c1fe51db7296019d2ca3cb93cc6c2a20369a4d78a2" dependencies = [ "cfg-if", "crossbeam-utils", @@ -585,13 +597,19 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c" dependencies = [ "cfg-if", ] +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + [[package]] name = "crypto-common" version = "0.1.6" @@ -603,35 +621,35 @@ dependencies = [ ] [[package]] -name = "deflate" -version = "0.8.6" +name = "der" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ - "adler32", - "byteorder", + "const-oid", + "pem-rfc7468", + "zeroize", ] [[package]] -name = "der" -version = "0.7.7" +name = "deranged" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", + "powerfmt", ] [[package]] name = "dialoguer" -version = "0.10.4" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" dependencies = [ "console", "shell-words", "tempfile", + "thiserror", "zeroize", ] @@ -644,6 +662,7 @@ dependencies = [ "block-buffer", "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -669,9 +688,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.32" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] @@ -684,23 +703,23 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "errno-dragonfly", "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "etcetera" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" dependencies = [ - "cc", - "libc", + "cfg-if", + "home", + "windows-sys 0.48.0", ] [[package]] @@ -709,31 +728,61 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "exr" +version = "1.71.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8" +dependencies = [ + "bit_field", + "flume", + "half", + "lebe", + "miniz_oxide", + "rayon-core", + "smallvec", + "zune-inflate", +] + [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fdeflate" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "finl_unicode" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", - "miniz_oxide 0.7.1", + "miniz_oxide", ] [[package]] name = "flume" -version = "0.10.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ "futures-core", "futures-sink", - "pin-project", "spin 0.9.8", ] @@ -760,18 +809,18 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] [[package]] name = "futures" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -784,9 +833,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -794,15 +843,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -811,49 +860,49 @@ dependencies = [ [[package]] name = "futures-intrusive" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.11.2", + "parking_lot 0.12.1", ] [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -879,22 +928,22 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "wasm-bindgen", ] [[package]] name = "gif" -version = "0.11.4" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" +checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" dependencies = [ "color_quant", "weezl", @@ -902,9 +951,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -914,17 +963,17 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" -version = "0.3.20" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes", "fnv", "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 1.9.3", + "http 0.2.11", + "indexmap", "slab", "tokio", "tokio-util", @@ -932,28 +981,50 @@ dependencies = [ ] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "h2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d308f63daf4181410c242d34c11f928dcb3aa105852019e043c9d1f4e4368a" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 1.0.0", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" +dependencies = [ + "crunchy", +] [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash 0.8.3", + "ahash", "allocator-api2", ] [[package]] name = "hashlink" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312f66718a2d7789ffef4f4b7b213138ed9f1eb3aa1d0d82fc99f88fb3ffd26f" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.0", + "hashbrown", ] [[package]] @@ -967,9 +1038,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -977,11 +1048,49 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http" -version = "0.2.9" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea" dependencies = [ "bytes", "fnv", @@ -990,20 +1099,37 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", + "http 0.2.11", "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.0.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840" +dependencies = [ + "bytes", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", + "pin-project-lite", +] [[package]] name = "httparse" @@ -1013,9 +1139,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -1025,17 +1151,17 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.22", + "http 0.2.11", + "http-body 0.4.6", "httparse", "httpdate", "itoa", @@ -1047,45 +1173,69 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5aa53871fc917b1a9ed87b683a5d86db645e23acb32c2e0785a353e522fb75" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.0", + "http 1.0.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "tokio", +] + [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", - "rustls 0.21.5", + "http 0.2.11", + "hyper 0.14.28", + "rustls", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls", ] [[package]] -name = "hyper-tls" -version = "0.5.0" +name = "hyper-util" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "bdea9aac0dbe5a9240d68cfd9501e2db94222c6dc06843e06640b9e07f0fdc67" dependencies = [ "bytes", - "hyper", - "native-tls", + "futures-channel", + "futures-util", + "http 1.0.0", + "http-body 1.0.0", + "hyper 1.1.0", + "pin-project-lite", + "socket2", "tokio", - "tokio-native-tls", + "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -1120,9 +1270,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1130,48 +1280,38 @@ dependencies = [ [[package]] name = "image" -version = "0.23.14" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" dependencies = [ "bytemuck", "byteorder", "color_quant", + "exr", "gif", "jpeg-decoder", - "num-iter", "num-rational", "num-traits", "png", - "scoped_threadpool", + "qoi", "tiff", ] [[package]] name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown", ] [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" dependencies = [ "console", "instant", @@ -1182,9 +1322,9 @@ dependencies = [ [[package]] name = "indoc" -version = "1.0.9" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" +checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" [[package]] name = "instant" @@ -1200,50 +1340,39 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" - -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix", - "windows-sys 0.48.0", -] +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "itertools" -version = "0.10.5" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jpeg-decoder" -version = "0.1.22" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" +checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" dependencies = [ "rayon", ] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] @@ -1257,23 +1386,29 @@ dependencies = [ "spin 0.5.2", ] +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + [[package]] name = "libc" -version = "0.2.147" +version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" [[package]] name = "libm" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libsqlite3-sys" -version = "0.24.2" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" +checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" dependencies = [ "cc", "pkg-config", @@ -1282,15 +1417,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.3" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -1298,15 +1433,15 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "m3u8-rs" -version = "5.0.4" +version = "5.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39af8845edca961e3286dcbafeb9e6407d3df6a616ef086847162d46f438d75" +checksum = "0c1d7ba86f7ea62f17f4310c55e93244619ddc7dadfc7e565de1967e4e41e6e7" dependencies = [ "chrono", "nom", @@ -1329,33 +1464,25 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matchit" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest", ] [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -1388,25 +1515,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" -dependencies = [ - "adler32", -] - -[[package]] -name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] - [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1414,16 +1522,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", + "simd-adler32", ] [[package]] name = "mio" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.48.0", ] @@ -1445,6 +1554,17 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.4.1", + "cfg-if", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -1505,9 +1625,9 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", "num-integer", @@ -1516,9 +1636,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", "libm", @@ -1551,26 +1671,26 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.31.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "cfg-if", "foreign-types", "libc", @@ -1587,7 +1707,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] @@ -1598,18 +1718,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.26.0+1.1.1u" +version = "300.2.1+3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37" +checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" dependencies = [ "cc", "libc", @@ -1642,7 +1762,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.8", + "parking_lot_core 0.9.9", ] [[package]] @@ -1661,15 +1781,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "smallvec", - "windows-targets 0.48.1", + "windows-targets 0.48.5", ] [[package]] @@ -1689,35 +1809,35 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -1748,27 +1868,34 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "png" -version = "0.16.8" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" dependencies = [ "bitflags 1.3.2", "crc32fast", - "deflate", - "miniz_oxide 0.3.7", + "fdeflate", + "flate2", + "miniz_oxide", ] [[package]] name = "portable-atomic" -version = "1.4.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc55135a600d700580e406b4de0d59cb9ad25e344a3a091a97ded2622ec4ec6" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" @@ -1778,9 +1905,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "2de98502f212cfcea8d0bb305bd0f49d7ebdd75b64ba0a68f937d888f4e0d6db" dependencies = [ "unicode-ident", ] @@ -1803,14 +1930,14 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.18.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109" +checksum = "e82ad98ce1991c9c70c3464ba4187337b9c45fcbbb060d46dca15f0c075e14e2" dependencies = [ "cfg-if", "indoc", "libc", - "memoffset 0.8.0", + "memoffset", "parking_lot 0.12.1", "pyo3-build-config", "pyo3-ffi", @@ -1820,9 +1947,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.18.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3" +checksum = "5503d0b3aee2c7a8dbb389cd87cd9649f675d4c7f60ca33699a3e3859d81a891" dependencies = [ "once_cell", "target-lexicon", @@ -1830,9 +1957,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.18.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c" +checksum = "18a79e8d80486a00d11c0dcb27cd2aa17c022cc95c677b461f01797226ba8f41" dependencies = [ "libc", "pyo3-build-config", @@ -1840,42 +1967,51 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.18.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d" +checksum = "1f4b0dc7eaa578604fab11c8c7ff8934c71249c61d4def8e272c76ed879f03d4" dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 1.0.109", + "syn 2.0.46", ] [[package]] name = "pyo3-macros-backend" -version = "0.18.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918" +checksum = "816a4f709e29ddab2e3cdfe94600d554c5556cad0ddfeea95c47b580c3247fa4" dependencies = [ + "heck", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.46", +] + +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", ] [[package]] name = "qrcode" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d2f1455f3630c6e5107b4f2b94e74d76dea80736de0981fd27644216cff57f" +checksum = "166f136dfdb199f98186f3649cf7a0536534a61417a1a30221b492b4fb60ce3f" dependencies = [ - "checked_int_cast", "image", ] [[package]] name = "quote" -version = "1.0.32" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -1912,9 +2048,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -1922,14 +2058,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -1943,23 +2077,23 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "regex" -version = "1.9.1" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.3", - "regex-syntax 0.7.4", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", ] [[package]] @@ -1973,13 +2107,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.4", + "regex-syntax 0.8.2", ] [[package]] @@ -1990,47 +2124,45 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" dependencies = [ "async-compression", "base64", "bytes", - "cookie", + "cookie 0.16.2", "cookie_store 0.16.2", "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.22", + "http 0.2.11", + "http-body 0.4.6", + "hyper 0.14.28", "hyper-rustls", - "hyper-tls", "ipnet", "js-sys", "log", "mime", "mime_guess", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.5", + "rustls", "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", - "tokio-native-tls", - "tokio-rustls 0.24.1", + "tokio-rustls", "tokio-util", "tower-service", "url", @@ -2044,13 +2176,13 @@ dependencies = [ [[package]] name = "reqwest-middleware" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4531c89d50effe1fac90d095c8b133c20c5c714204feee0bfc3fd158e784209d" +checksum = "88a3e86aa6053e59030e7ce2d2a3b258dd08fc2d337d52f73f6cb480f5858690" dependencies = [ "anyhow", "async-trait", - "http", + "http 0.2.11", "reqwest", "serde", "task-local-extensions", @@ -2059,17 +2191,17 @@ dependencies = [ [[package]] name = "reqwest-retry" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d0fd6ef4c6d23790399fe15efc8d12cd9f3d4133958f9bd7801ee5cbaec6c4" +checksum = "9af20b65c2ee9746cc575acb6bd28a05ffc0d15e25c992a8f4462d8686aacb4f" dependencies = [ "anyhow", "async-trait", "chrono", "futures", "getrandom", - "http", - "hyper", + "http 0.2.11", + "hyper 0.14.28", "parking_lot 0.11.2", "reqwest", "reqwest-middleware", @@ -2082,22 +2214,21 @@ dependencies = [ [[package]] name = "reqwest_cookie_store" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06b407c05de7a0f7e4cc2a56af5e9bd6468e509124e81078ce1f8bc2ed3536bf" +checksum = "ba529055ea150e42e4eb9c11dcd380a41025ad4d594b0cb4904ef28b037e1061" dependencies = [ "bytes", - "cookie", - "cookie_store 0.19.1", + "cookie_store 0.20.0", "reqwest", "url", ] [[package]] name = "retry-policies" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e09bbcb5003282bcb688f0bae741b278e9c7e8f378f561522c9806c58e075d9b" +checksum = "17dd00bff1d737c40dbcd47d4375281bf4c17933f9eef0a185fc7bacca23ecbd" dependencies = [ "anyhow", "chrono", @@ -2106,31 +2237,28 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" +version = "0.17.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" dependencies = [ "cc", + "getrandom", "libc", - "once_cell", - "spin 0.5.2", + "spin 0.9.8", "untrusted", - "web-sys", - "winapi", + "windows-sys 0.48.0", ] [[package]] name = "rsa" -version = "0.9.2" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab43bb47d23c1a631b4b680199a45255dce26fa9ab2fa902581f624ff13e6a8" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" dependencies = [ - "byteorder", "const-oid", "digest", "num-bigint-dig", "num-integer", - "num-iter", "num-traits", "pkcs1", "pkcs8", @@ -2149,34 +2277,22 @@ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustix" -version = "0.38.4" +version = "0.38.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.20.8" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" -dependencies = [ - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", "ring", @@ -2186,18 +2302,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ "base64", ] [[package]] name = "rustls-webpki" -version = "0.101.1" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring", "untrusted", @@ -2211,25 +2327,19 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] -[[package]] -name = "scoped_threadpool" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" - [[package]] name = "scopeguard" version = "1.2.0" @@ -2238,9 +2348,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring", "untrusted", @@ -2271,29 +2381,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.175" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b" +checksum = "0b114498256798c94a0689e1a15fec6005dee8ac1f41de56404b67afc2a4b773" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.175" +version = "1.0.194" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4" +checksum = "a3385e45322e8f9931410f01b3031ec534c3947d0e94c18049af4d9f9907d4e0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] name = "serde_json" -version = "1.0.103" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" +checksum = "6fbd975230bada99c8bb618e0c365c2eefa219158d5c6c29610fd09ff1833257" dependencies = [ "itoa", "ryu", @@ -2324,22 +2434,33 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.25" +version = "0.9.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" +checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38" dependencies = [ - "indexmap 2.0.0", + "indexmap", "itoa", "ryu", "serde", "unsafe-libyaml", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -2348,9 +2469,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -2361,48 +2482,45 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - [[package]] name = "signature" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest", "rand_core", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "socket2" -version = "0.4.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -2422,9 +2540,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der", @@ -2432,9 +2550,9 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" +checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ "itertools", "nom", @@ -2443,23 +2561,25 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.6.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188" +checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf" dependencies = [ "sqlx-core", "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", ] [[package]] name = "sqlx-core" -version = "0.6.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029" +checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd" dependencies = [ - "ahash 0.7.6", + "ahash", "atoi", - "bitflags 1.3.2", "byteorder", "bytes", "crc", @@ -2467,43 +2587,54 @@ dependencies = [ "dotenvy", "either", "event-listener", - "flume", "futures-channel", "futures-core", - "futures-executor", "futures-intrusive", + "futures-io", "futures-util", "hashlink", "hex", - "indexmap 1.9.3", - "itoa", - "libc", - "libsqlite3-sys", + "indexmap", "log", "memchr", "once_cell", "paste", "percent-encoding", - "rustls 0.20.8", + "rustls", "rustls-pemfile", "serde", + "serde_json", "sha2", "smallvec", "sqlformat", - "sqlx-rt", - "stringprep", "thiserror", + "tokio", "tokio-stream", + "tracing", "url", "webpki-roots", ] [[package]] name = "sqlx-macros" -version = "0.6.3" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 1.0.109", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9" +checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841" dependencies = [ + "atomic-write-file", "dotenvy", "either", "heck", @@ -2515,22 +2646,116 @@ dependencies = [ "serde_json", "sha2", "sqlx-core", - "sqlx-rt", + "sqlx-mysql", + "sqlx-sqlite", "syn 1.0.109", + "tempfile", + "tokio", "url", ] [[package]] -name = "sqlx-rt" -version = "0.6.3" +name = "sqlx-mysql" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024" +checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" dependencies = [ - "native-tls", + "atoi", + "base64", + "bitflags 2.4.1", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", "once_cell", - "tokio", - "tokio-native-tls", - "tokio-rustls 0.23.4", + "percent-encoding", + "rand", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" +dependencies = [ + "atoi", + "base64", + "bitflags 2.4.1", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand", + "serde", + "serde_json", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "sqlx-core", + "tracing", + "url", + "urlencoding", ] [[package]] @@ -2543,19 +2768,21 @@ dependencies = [ "pyo3", "serde", "serde_json", - "time 0.3.23", + "time", "tokio", "tracing", "tracing-appender", "tracing-subscriber", + "typed-builder", ] [[package]] name = "stringprep" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3737bde7edce97102e0e2b15365bf7a20bfdb5f60f4f9e8d7004258a51a8da" +checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" dependencies = [ + "finl_unicode", "unicode-bidi", "unicode-normalization", ] @@ -2585,9 +2812,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.27" +version = "2.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" +checksum = "89456b690ff72fddcecf231caedbe615c59480c93358a93dfae7fc29e3ebbf0e" dependencies = [ "proc-macro2", "quote", @@ -2600,11 +2827,32 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "target-lexicon" -version = "0.12.10" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "task-local-extensions" @@ -2617,35 +2865,35 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.7.0" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] @@ -2660,35 +2908,26 @@ dependencies = [ [[package]] name = "tiff" -version = "0.6.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437" +checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" dependencies = [ + "flate2", "jpeg-decoder", - "miniz_oxide 0.4.4", "weezl", ] [[package]] name = "time" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.3.23" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ + "deranged", "itoa", "libc", "num_threads", + "powerfmt", "serde", "time-core", "time-macros", @@ -2696,15 +2935,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" dependencies = [ "time-core", ] @@ -2726,19 +2965,16 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.1", "pin-project-lite", - "signal-hook-registry", "socket2", "tokio-macros", "windows-sys 0.48.0", @@ -2746,34 +2982,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.8", - "tokio", - "webpki", + "syn 2.0.46", ] [[package]] @@ -2782,7 +2997,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.5", + "rustls", "tokio", ] @@ -2799,9 +3014,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -2829,17 +3044,15 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.3.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +checksum = "09e12e6351354851911bdf8c2b8f2ab15050c567d70a8b9a37ae7b8301a4080d" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", + "http 1.0.0", + "http-body 1.0.0", + "http-body-util", "pin-project-lite", "tower-layer", "tower-service", @@ -2859,11 +3072,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -2872,31 +3084,32 @@ dependencies = [ [[package]] name = "tracing-appender" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "time 0.3.23", + "thiserror", + "time", "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -2904,20 +3117,20 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -2926,7 +3139,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time 0.3.23", + "time", "tracing", "tracing-core", "tracing-log", @@ -2934,26 +3147,35 @@ dependencies = [ [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typed-builder" -version = "0.11.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a126a40dbff39e8320900cd61b8de053a2706e1f782cd27145792feb8fd41e" +checksum = "e47c0496149861b7c95198088cbf36645016b1a0734cf350c50e2a38e070f38a" +dependencies = [ + "typed-builder-macro", +] + +[[package]] +name = "typed-builder-macro" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "982ee4197351b5c9782847ef5ec1fdcaf50503fb19d68f9771adae314e72b492" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.46", ] [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typeshare" @@ -2979,24 +3201,24 @@ dependencies = [ [[package]] name = "unicase" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" dependencies = [ "version_check", ] [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -3015,9 +3237,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode_categories" @@ -3027,33 +3249,39 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "unindent" -version = "0.1.11" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" +checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce" [[package]] name = "unsafe-libyaml" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa" +checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" [[package]] name = "untrusted" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna 0.4.0", + "idna 0.5.0", "percent-encoding", ] +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + [[package]] name = "utf8parse" version = "0.2.1" @@ -3087,12 +3315,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3101,9 +3323,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3111,24 +3333,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" dependencies = [ "cfg-if", "js-sys", @@ -3138,9 +3360,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3148,28 +3370,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.46", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasm-streams" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" dependencies = [ "futures-util", "js-sys", @@ -3195,32 +3417,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" dependencies = [ "js-sys", "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" [[package]] name = "weezl" @@ -3228,6 +3437,12 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" +[[package]] +name = "whoami" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" + [[package]] name = "winapi" version = "0.3.9" @@ -3251,12 +3466,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.52.0", ] [[package]] @@ -3274,7 +3489,16 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", ] [[package]] @@ -3294,17 +3518,32 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", ] [[package]] @@ -3315,9 +3554,15 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" [[package]] name = "windows_aarch64_msvc" @@ -3327,9 +3572,15 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" [[package]] name = "windows_i686_gnu" @@ -3339,9 +3590,15 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" [[package]] name = "windows_i686_msvc" @@ -3351,9 +3608,15 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" [[package]] name = "windows_x86_64_gnu" @@ -3363,9 +3626,15 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" [[package]] name = "windows_x86_64_gnullvm" @@ -3375,9 +3644,15 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" [[package]] name = "windows_x86_64_msvc" @@ -3387,21 +3662,57 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.46", ] [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" + +[[package]] +name = "zune-inflate" +version = "0.2.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] diff --git a/crates/biliup/Cargo.toml b/crates/biliup/Cargo.toml index 985b48d..f5cd8f2 100644 --- a/crates/biliup/Cargo.toml +++ b/crates/biliup/Cargo.toml @@ -17,9 +17,8 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9.17" serde_urlencoded = "0.7" -reqwest_cookie_store = "0.5.0" -cookie_store = "0.19.0" -tokio = { version = "1", features = ["full"] } +reqwest_cookie_store = "0.6.0" +tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "local-time"] } rsa = "0.9.2" @@ -28,60 +27,35 @@ md-5 = "0.10.5" rand = "0.8.4" url = "2.2.2" thiserror = "1.0" -cookie = "0.16.1" + +# FIXME: cookie 0.18.0 与 reqest_cookie_store 0.6.0 不兼容 +cookie = "0.17.0" + bytes = "1.1.0" futures = "0.3.17" -typed-builder = "0.11.0" +typed-builder = "0.18.0" reqwest-middleware = "0.2.0" -reqwest-retry = "0.2.1" +reqwest-retry = "0.3.0" clap = { version = "4", features = ["derive"] } time = "0.3" - anyhow = "1.0" -#clap = { version = "3.0.0", features = ["derive"] } -#tracing = "0.1" -#tracing-subscriber = "0.3" -#serde = { version = "1.0", features = ["derive"] } -#serde_json = "1.0" glob = "0.3.0" -#tokio = { version = "1", features = ["full"] } -#stream-gears = {path="../stream-gears"} -#bytes = "1.1.0" -qrcode = "0.12.0" +qrcode = "0.13.0" indicatif = "0.17.0" -image = "0.23" -#futures = "0.3.17" -dialoguer = "0.10.3" - - +image = "0.24" +dialoguer = "0.11.0" m3u8-rs = "5.0.3" nom = "7" - - chrono = "0.4" byteorder = "1.4.3" -indexmap = "1.9.2" +indexmap = "2.1.0" regex = "1.6.0" async-trait = "0.1.57" humantime = "2.1.0" -axum = "0.6.1" -tower-http = { version = "0.3.0", features = ["cors"] } -#[features] -#default = ["default-tls"] -#rustls-tls = ["reqwest/rustls-tls"] -#default-tls = ["reqwest/default-tls"] - - - -# Rustls / ring supported platforms -# ref: https://github.com/briansmith/ring/blob/c58b615f7087b13f2412b1f2b0f3bd9c6a632b60/build.rs#L216 -[target.'cfg(any(target_arch="x86_64", target_arch="aarch64", target_arch="x86", target_arch="arm"))'.dependencies] +axum = "0.7.3" +tower-http = { version = "0.5.0", features = ["cors"] } reqwest = { version = "0.11", default-features = false, features = ["json", "stream", "blocking", "deflate", "gzip", "rustls-tls"] } -sqlx = { version = "0.6", features = [ "runtime-tokio-rustls", "sqlite", "offline" ] } - -[target.'cfg(not(any(target_arch="x86_64", target_arch="aarch64", target_arch="x86", target_arch="arm")))'.dependencies] -reqwest = { version = "0.11", features = ["json", "stream", "blocking", "deflate", "gzip"] } -sqlx = { version = "0.6", features = [ "runtime-tokio-native-tls", "sqlite", "offline" ] } +sqlx = { version = "0.7", features = [ "runtime-tokio-rustls", "sqlite" ] } [build-dependencies] native-tls = { version = "0.2.11", features = ["vendored"] } diff --git a/crates/biliup/src/client.rs b/crates/biliup/src/client.rs index 36c8ac9..8922bc3 100644 --- a/crates/biliup/src/client.rs +++ b/crates/biliup/src/client.rs @@ -63,7 +63,7 @@ pub struct StatefulClient { impl StatefulClient { pub fn new(headers: HeaderMap) -> Self { - let cookie_store = cookie_store::CookieStore::default(); + let cookie_store = reqwest_cookie_store::CookieStore::default(); let cookie_store = CookieStoreMutex::new(cookie_store); let cookie_store = Arc::new(cookie_store); StatefulClient { diff --git a/crates/biliup/src/downloader/extractor.rs b/crates/biliup/src/downloader/extractor.rs index 57178a0..6960918 100644 --- a/crates/biliup/src/downloader/extractor.rs +++ b/crates/biliup/src/downloader/extractor.rs @@ -51,12 +51,14 @@ pub enum Extension { Ts, } +pub type CallbackFn = Box; + impl Site { pub async fn download( &mut self, fmt_file_name: &str, segment: Segmentable, - hook: Option>, + hook: Option, ) -> downloader::error::Result<()> { let fmt_file_name = fmt_file_name.replace("{title}", &self.title); self.client diff --git a/crates/biliup/src/downloader/extractor/huya.rs b/crates/biliup/src/downloader/extractor/huya.rs index cb77716..975fa36 100644 --- a/crates/biliup/src/downloader/extractor/huya.rs +++ b/crates/biliup/src/downloader/extractor/huya.rs @@ -33,7 +33,7 @@ impl SiteDefinition for HuyaLive { let game = stream["data"][0].take(); let game_stream_info = game["gameStreamInfoList"] .as_array() - .and_then(|game_stream_info_list| game_stream_info_list.get(0)) + .and_then(|game_stream_info_list| game_stream_info_list.first()) .ok_or_else(|| { crate::downloader::error::Error::Custom(format!("Not online: {game}")) })?; diff --git a/crates/biliup/src/downloader/util.rs b/crates/biliup/src/downloader/util.rs index bd647b1..d40efe0 100644 --- a/crates/biliup/src/downloader/util.rs +++ b/crates/biliup/src/downloader/util.rs @@ -5,6 +5,8 @@ use std::path::{Path, PathBuf}; use std::time::Duration; use tracing::{error, info}; +use super::extractor::CallbackFn; + #[derive(Debug)] pub enum Segment { Time(Duration, Duration), @@ -99,16 +101,12 @@ pub struct LifecycleFile { pub fmt_file_name: String, pub file_name: String, pub path: PathBuf, - pub hook: Box, + pub hook: CallbackFn, pub extension: &'static str, } impl LifecycleFile { - pub fn new( - fmt_file_name: &str, - extension: &'static str, - hook: Option>, - ) -> Self { + pub fn new(fmt_file_name: &str, extension: &'static str, hook: Option) -> Self { let hook: Box = if let Some(hook) = hook { hook } else { diff --git a/crates/biliup/src/server/api/endpoints.rs b/crates/biliup/src/server/api/endpoints.rs index d5f3b9c..7de928d 100644 --- a/crates/biliup/src/server/api/endpoints.rs +++ b/crates/biliup/src/server/api/endpoints.rs @@ -6,7 +6,7 @@ use crate::server::core::live_streamers::{ use crate::server::core::upload_streamers::{DynUploadStreamersRepository, StudioEntity}; use crate::server::core::users::{DynUsersRepository, User}; use crate::server::errors::AppResult; -use crate::uploader::bilibili::Studio; + use axum::extract::{Path, State}; use axum::{Extension, Json}; diff --git a/crates/biliup/src/server/api/router.rs b/crates/biliup/src/server/api/router.rs index 91fb762..10465ac 100644 --- a/crates/biliup/src/server/api/router.rs +++ b/crates/biliup/src/server/api/router.rs @@ -10,8 +10,8 @@ use crate::server::api::endpoints::{ use crate::server::core::download_actor::DownloadActorHandle; use crate::server::infrastructure::service_register::ServiceRegister; -use anyhow::Context; +use anyhow::Context; use axum::routing::{delete, get, post, put}; use axum::{http, Extension, Router}; @@ -21,7 +21,7 @@ use crate::server::api::bilibili_endpoints::{ use crate::server::core::main_loop::spawn_main_loop; use axum::http::HeaderValue; use std::net::SocketAddr; -use std::time::Duration; + use tower_http::cors::{AllowMethods, CorsLayer}; use tracing::info; @@ -118,8 +118,9 @@ impl ApplicationController { // run our app with hyper // `axum::Server` is a re-export of `hyper::Server` info!("routes initialized, listening on {}", addr); - axum::Server::bind(addr) - .serve(app.into_make_service()) + let listener = tokio::net::TcpListener::bind(addr).await?; + + axum::serve(listener, app) .await .context("error while starting API server")?; diff --git a/crates/biliup/src/server/core/download_actor.rs b/crates/biliup/src/server/core/download_actor.rs index 46aa8d6..75a6b30 100644 --- a/crates/biliup/src/server/core/download_actor.rs +++ b/crates/biliup/src/server/core/download_actor.rs @@ -1,7 +1,7 @@ use crate::client::StatelessClient; use crate::downloader::extractor::{find_extractor, SiteDefinition}; -use crate::downloader::util::{LifecycleFile, Segmentable}; +use crate::downloader::util::Segmentable; use crate::server::core::live_streamers::{DynLiveStreamersService, LiveStreamerDto}; use crate::server::core::upload_actor::UploadActorHandle; use crate::server::core::util::{logging_spawn, AnyMap, Cycle}; @@ -9,7 +9,6 @@ use crate::server::core::StreamStatus; use indexmap::indexmap; -use crate::server::core::upload_streamers::DynUploadStreamersRepository; use std::collections::HashMap; use std::error::Error; use std::ops::DerefMut; @@ -42,11 +41,7 @@ async fn start_monitor( }) = live_streamers_service.get_streamer_by_url(&url).await { - ( - filename, - split_size, - split_time.map(|s| Duration::from_secs(s)), - ) + (filename, split_size, split_time.map(Duration::from_secs)) } else { ("./video/%Y-%m-%d/%H_%M_%S{title}".to_string(), None, None) }; @@ -135,7 +130,9 @@ impl DownloadActor { url: String, // client: StatelessClient, ) { - let Some(extractor) = find_extractor(&url) else { return; }; + let Some(extractor) = find_extractor(&url) else { + return; + }; let _entry = map .entry(extractor.as_any().type_id()) .and_modify(|(cy, _)| cy.insert(url.clone(), StreamStatus::Idle)) diff --git a/crates/biliup/src/server/core/main_loop.rs b/crates/biliup/src/server/core/main_loop.rs index 8556710..f31429f 100644 --- a/crates/biliup/src/server/core/main_loop.rs +++ b/crates/biliup/src/server/core/main_loop.rs @@ -55,7 +55,7 @@ pub fn spawn_main_loop() -> (ServerHandle, JoinHandle<()>) { async fn main_loop(mut recv: Receiver) -> Result<()> { while let Some(msg) = recv.recv().await { match msg { - ToMain::NewRecording(site, task) => {} + ToMain::NewRecording(_site, _task) => {} ToMain::FileClosed(_) => {} } } @@ -77,13 +77,9 @@ async fn recording( split_time, .. }) = - live_streamers_service.get_streamer_by_url(&url).await + live_streamers_service.get_streamer_by_url(url).await { - ( - filename, - split_size, - split_time.map(|s| Duration::from_secs(s)), - ) + (filename, split_size, split_time.map(Duration::from_secs)) } else { ("./video/%Y-%m-%d/%H_%M_%S{title}".to_string(), None, None) }; @@ -121,5 +117,5 @@ async fn recording( Ok::<_, Box>(()) } }); - task.change(&url, StreamStatus::Working); + task.change(url, StreamStatus::Working); } diff --git a/crates/biliup/src/server/core/upload_actor.rs b/crates/biliup/src/server/core/upload_actor.rs index a276f3b..fd62ee5 100644 --- a/crates/biliup/src/server/core/upload_actor.rs +++ b/crates/biliup/src/server/core/upload_actor.rs @@ -7,7 +7,6 @@ use crate::uploader::VideoFile; use futures::StreamExt; use std::path::{Path, PathBuf}; -use crate::server::core::upload_streamers::DynUploadStreamersRepository; use std::time::Instant; use tokio::sync::mpsc; use tracing::{error, info}; diff --git a/crates/biliup/src/server/errors.rs b/crates/biliup/src/server/errors.rs index 9b76106..0c08ae6 100644 --- a/crates/biliup/src/server/errors.rs +++ b/crates/biliup/src/server/errors.rs @@ -90,7 +90,7 @@ pub struct ApiError { impl ApiError { pub fn new(message: String) -> Self { - let mut errors: Vec> = Vec::new(); + let errors: Vec> = Vec::new(); // errors.push(HashMap::from([ // (String::from("resource"), "Issue".to_string()), // (String::from("field"), "title".to_string()), diff --git a/crates/biliup/src/server/infrastructure/live_streamers_service.rs b/crates/biliup/src/server/infrastructure/live_streamers_service.rs index b261b96..9237dcc 100644 --- a/crates/biliup/src/server/infrastructure/live_streamers_service.rs +++ b/crates/biliup/src/server/infrastructure/live_streamers_service.rs @@ -1,6 +1,6 @@ use crate::server::core::live_streamers::{ - AddLiveStreamerDto, DynDownloadRecordsRepository, DynLiveStreamersRepository, LiveStreamerDto, - LiveStreamerEntity, LiveStreamersService, + AddLiveStreamerDto, DynLiveStreamersRepository, LiveStreamerDto, LiveStreamerEntity, + LiveStreamersService, }; use crate::server::core::upload_streamers::DynUploadStreamersRepository; use crate::uploader::bilibili::Studio; @@ -49,7 +49,11 @@ impl LiveStreamersService for ConduitLiveStreamersService { } async fn get_studio_by_url(&self, url: &str) -> anyhow::Result> { - let LiveStreamerEntity{ upload_id: Some(upload_id), .. } = self.repository.get_streamer_by_url(url).await? else { + let LiveStreamerEntity { + upload_id: Some(upload_id), + .. + } = self.repository.get_streamer_by_url(url).await? + else { return Ok(None); }; Ok(Some( diff --git a/crates/biliup/src/server/infrastructure/repositories/download_records_repository.rs b/crates/biliup/src/server/infrastructure/repositories/download_records_repository.rs index 54fb352..802bda8 100644 --- a/crates/biliup/src/server/infrastructure/repositories/download_records_repository.rs +++ b/crates/biliup/src/server/infrastructure/repositories/download_records_repository.rs @@ -1,9 +1,8 @@ use crate::server::core::live_streamers::{DownloadRecords, DownloadRecordsRepository}; -use crate::server::core::users::{User, UsersRepository}; + use crate::server::infrastructure::connection_pool::ConnectionPool; use async_trait::async_trait; -#[derive(Clone)] pub struct SqliteDownloadRecordsRepository { pool: ConnectionPool, } diff --git a/crates/biliup/src/server/infrastructure/repositories/upload_records_repository.rs b/crates/biliup/src/server/infrastructure/repositories/upload_records_repository.rs index 6406d19..340d050 100644 --- a/crates/biliup/src/server/infrastructure/repositories/upload_records_repository.rs +++ b/crates/biliup/src/server/infrastructure/repositories/upload_records_repository.rs @@ -1,5 +1,5 @@ use crate::server::core::upload_streamers::{UploadRecords, UploadRecordsRepository}; -use crate::server::core::users::{User, UsersRepository}; + use crate::server::infrastructure::connection_pool::ConnectionPool; use async_trait::async_trait; @@ -16,11 +16,11 @@ impl SqliteUploadRecordsRepository { #[async_trait] impl UploadRecordsRepository for SqliteUploadRecordsRepository { - async fn create(&self, entity: UploadRecords) -> anyhow::Result { + async fn create(&self, _entity: UploadRecords) -> anyhow::Result { todo!() } - async fn delete(&self, id: i64) -> anyhow::Result<()> { + async fn delete(&self, _id: i64) -> anyhow::Result<()> { todo!() } @@ -28,7 +28,7 @@ impl UploadRecordsRepository for SqliteUploadRecordsRepository { todo!() } - async fn get_by_id(&self, id: i64) -> anyhow::Result { + async fn get_by_id(&self, _id: i64) -> anyhow::Result { todo!() } } diff --git a/crates/biliup/src/server/infrastructure/repositories/upload_streamers_repository.rs b/crates/biliup/src/server/infrastructure/repositories/upload_streamers_repository.rs index 41f6384..d9c458d 100644 --- a/crates/biliup/src/server/infrastructure/repositories/upload_streamers_repository.rs +++ b/crates/biliup/src/server/infrastructure/repositories/upload_streamers_repository.rs @@ -1,9 +1,9 @@ use crate::server::core::upload_streamers::{StudioEntity, UploadStreamersRepository}; use crate::server::infrastructure::connection_pool::ConnectionPool; -use crate::uploader::bilibili::Studio; + use anyhow::Context; use async_trait::async_trait; -use sqlx::{query_as, query_file_as}; +use sqlx::query_as; #[derive(Clone)] pub struct SqliteUploadStreamersRepository { @@ -101,7 +101,8 @@ impl UploadStreamersRepository for SqliteUploadStreamersRepository { } async fn get_streamers(&self) -> anyhow::Result> { - query_as!(StudioEntity, + query_as!( + StudioEntity, r#"select id, template_name as "template_name!", user, @@ -125,9 +126,9 @@ impl UploadStreamersRepository for SqliteUploadStreamersRepository { up_close_danmu as "up_close_danmu!: bool" from upload_streamers"# ) - .fetch_all(&self.pool) - .await - .context("an unexpected error occurred retrieving streamers") + .fetch_all(&self.pool) + .await + .context("an unexpected error occurred retrieving streamers") } async fn get_streamer_by_id(&self, id: i64) -> anyhow::Result { diff --git a/crates/biliup/src/server/infrastructure/repositories/users_repository.rs b/crates/biliup/src/server/infrastructure/repositories/users_repository.rs index 97895e2..f0330ca 100644 --- a/crates/biliup/src/server/infrastructure/repositories/users_repository.rs +++ b/crates/biliup/src/server/infrastructure/repositories/users_repository.rs @@ -61,11 +61,11 @@ impl UsersRepository for SqliteUsersStreamersRepository { Ok(()) } - async fn update_user(&self, user: User) -> anyhow::Result { + async fn update_user(&self, _user: User) -> anyhow::Result { todo!() } - async fn get_user_by_id(&self, id: i64) -> anyhow::Result { + async fn get_user_by_id(&self, _id: i64) -> anyhow::Result { todo!() } } diff --git a/crates/biliup/src/server/infrastructure/repositories/videos_repository.rs b/crates/biliup/src/server/infrastructure/repositories/videos_repository.rs index 3c8c711..52f7632 100644 --- a/crates/biliup/src/server/infrastructure/repositories/videos_repository.rs +++ b/crates/biliup/src/server/infrastructure/repositories/videos_repository.rs @@ -1,5 +1,5 @@ use crate::server::core::live_streamers::{Videos, VideosRepository}; -use crate::server::core::users::{User, UsersRepository}; + use crate::server::infrastructure::connection_pool::ConnectionPool; use async_trait::async_trait; diff --git a/crates/biliup/src/uploader/bilibili.rs b/crates/biliup/src/uploader/bilibili.rs index 8ab74d1..699229c 100644 --- a/crates/biliup/src/uploader/bilibili.rs +++ b/crates/biliup/src/uploader/bilibili.rs @@ -85,7 +85,6 @@ pub struct Studio { // #[clap(long, default_value = "0")] // pub act_reserve_create: u8, - /// 是否开启杜比音效, 0-关闭 1-开启 #[clap(long, default_value = "0")] #[serde(default)] @@ -146,7 +145,7 @@ impl Archive { 0 => format!("\x1b[1;92m{}\x1b[0m", self.state_desc), -2 => format!("\x1b[1;91m{}\x1b[0m", self.state_desc), -30 => format!("\x1b[1;93m{}\x1b[0m", self.state_desc), - _ => format!("{}", self.desc), + _ => self.desc.to_string(), }; format!("{}\t{}\t{}", self.bvid, self.title, status_string) } diff --git a/crates/biliup/src/uploader/credential.rs b/crates/biliup/src/uploader/credential.rs index 21ec255..8869994 100644 --- a/crates/biliup/src/uploader/credential.rs +++ b/crates/biliup/src/uploader/credential.rs @@ -519,6 +519,7 @@ impl Credential { ) .domain("bilibili.com") .finish(); + store .insert_raw(&cookie, &Url::parse("https://bilibili.com/").unwrap()) .unwrap(); diff --git a/crates/bin/downloader.rs b/crates/bin/downloader.rs index 7160779..33fe313 100644 --- a/crates/bin/downloader.rs +++ b/crates/bin/downloader.rs @@ -12,7 +12,7 @@ use bytes::{Buf, BufMut, Bytes, BytesMut}; use std::io::{BufReader, BufWriter, ErrorKind, Read}; use std::path::PathBuf; -use tracing::{warn, error, info}; +use tracing::{error, info, warn}; pub async fn download( url: &str, diff --git a/crates/bin/uploader.rs b/crates/bin/uploader.rs index 3020ce9..b2377f3 100644 --- a/crates/bin/uploader.rs +++ b/crates/bin/uploader.rs @@ -157,7 +157,7 @@ pub async fn list( let bilibili = login_by_cookies(user_cookie).await?; bilibili - .all_archives(&status) + .all_archives(status) .await? .iter() .for_each(|arc| println!("{}", arc.to_string_pretty())); diff --git a/crates/stream-gears/Cargo.toml b/crates/stream-gears/Cargo.toml index ad044a0..1b30462 100644 --- a/crates/stream-gears/Cargo.toml +++ b/crates/stream-gears/Cargo.toml @@ -9,10 +9,10 @@ name = "stream_gears" crate-type = ["cdylib", "lib"] [dependencies] -pyo3 = { version = "0.18.0", features = ["extension-module"] } +pyo3 = { version = "0.20.0", features = ["extension-module"] } serde = "1" serde_json = "1.0" -tokio = { version = "1", features = ["full"] } +tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tracing = "0.1" tracing-subscriber = "0.3" tracing-appender = "0.2" @@ -20,10 +20,11 @@ anyhow = "1.0" futures = "0.3.21" biliup = { path = "../biliup"} time = "0.3" +typed-builder = "0.18.0" -#[target.'cfg(all(target_arch="aarch64", target_os="linux"))'.dependencies] -#downloader = { path = "../downloader", default-features = false , features = ["rustls-tls"] } -# -# -#[target.'cfg(not(all(target_arch="aarch64", target_os="linux")))'.dependencies] -#downloader = { path = "../downloader" } +# [target.'cfg(all(target_arch="aarch64", target_os="linux"))'.dependencies] +# downloader = { path = "../downloader", default-features = false , features = ["rustls-tls"] } + + +# [target.'cfg(not(all(target_arch="aarch64", target_os="linux")))'.dependencies] +# downloader = { path = "../downloader" } diff --git a/crates/stream-gears/src/lib.rs b/crates/stream-gears/src/lib.rs index 8f0573e..d2f366d 100644 --- a/crates/stream-gears/src/lib.rs +++ b/crates/stream-gears/src/lib.rs @@ -3,7 +3,7 @@ mod uploader; use pyo3::prelude::*; use time::macros::format_description; -use uploader::PyCredit; +use uploader::{PyCredit, StudioPre}; use std::collections::HashMap; use std::path::PathBuf; @@ -157,6 +157,7 @@ fn login_by_web_qrcode(sess_data: String, dede_user_id: String) -> PyResult, @@ -205,27 +206,29 @@ fn upload( let collector = formatting_layer.with(file_layer); tracing::subscriber::with_default(collector, || -> PyResult<()> { - match rt.block_on(uploader::upload( - video_path, - cookie_file, - line, - limit, - title, - tid, - tag, - copyright, - source, - desc, - dynamic, - cover, - dtime, - dolby, - lossless_music, - no_reprint, - open_elec, - desc_v2, - )) { - Ok(_res) => Ok(()), + let studio_pre = StudioPre::builder() + .video_path(video_path) + .cookie_file(cookie_file) + .line(line) + .limit(limit) + .title(title) + .tid(tid) + .tag(tag) + .copyright(copyright) + .source(source) + .desc(desc) + .dynamic(dynamic) + .cover(cover) + .dtime(dtime) + .dolby(dolby) + .lossless_music(lossless_music) + .no_reprint(no_reprint) + .open_elec(open_elec) + .desc_v2_credit(desc_v2) + .build(); + + match rt.block_on(uploader::upload(studio_pre)) { + Ok(res) => Ok(()), // Ok(_) => { }, Err(err) => Err(pyo3::exceptions::PyRuntimeError::new_err(format!( "{}, {}", @@ -239,7 +242,7 @@ fn upload( /// A Python module implemented in Rust. #[pymodule] -fn stream_gears(_py: Python, m: &PyModule) -> PyResult<()> { +fn stream_gears(py: Python, m: &PyModule) -> PyResult<()> { // let file_appender = tracing_appender::rolling::daily("", "upload.log"); // let (non_blocking, _guard) = tracing_appender::non_blocking(file_appender); // tracing_subscriber::fmt() diff --git a/crates/stream-gears/src/uploader.rs b/crates/stream-gears/src/uploader.rs index 8ebed90..d2c93ce 100644 --- a/crates/stream-gears/src/uploader.rs +++ b/crates/stream-gears/src/uploader.rs @@ -13,6 +13,8 @@ use std::path::PathBuf; use std::time::Instant; use tracing::info; +use typed_builder::TypedBuilder; + #[pyclass] #[derive(Clone, PartialEq, Eq, PartialOrd, Ord)] pub enum UploadLine { @@ -35,7 +37,8 @@ pub struct PyCredit { biz_id: Option, } -pub async fn upload( +#[derive(TypedBuilder)] +pub struct StudioPre { video_path: Vec, cookie_file: PathBuf, line: Option, @@ -54,11 +57,34 @@ pub async fn upload( no_reprint: u8, open_elec: u8, desc_v2_credit: Vec, -) -> Result { +} + +pub async fn upload(studio_pre: StudioPre) -> Result { // let file = std::fs::File::options() // .read(true) // .write(true) // .open(&cookie_file); + let StudioPre { + video_path, + cookie_file, + line, + limit, + title, + tid, + tag, + copyright, + source, + desc, + dynamic, + cover, + dtime, + dolby, + lossless_music, + no_reprint, + open_elec, + desc_v2_credit, + } = studio_pre; + let bilibili = login_by_cookies(&cookie_file).await; let bilibili = if let Err(Kind::IO(_)) = bilibili { bilibili @@ -66,6 +92,7 @@ pub async fn upload( } else { bilibili? }; + let client = StatelessClient::default(); let mut videos = Vec::new(); let line = match line { @@ -106,6 +133,7 @@ pub async fn upload( ); videos.push(video); } + let mut desc_v2 = Vec::new(); for credit in desc_v2_credit { desc_v2.push(Credit { @@ -114,6 +142,7 @@ pub async fn upload( biz_id: credit.biz_id, }); } + let mut studio: Studio = Studio::builder() .desc(desc) .dtime(dtime) @@ -131,6 +160,7 @@ pub async fn upload( .open_elec(open_elec) .desc_v2(Some(desc_v2)) .build(); + if !studio.cover.is_empty() { let url = bilibili .cover_up( @@ -141,6 +171,7 @@ pub async fn upload( println!("{url}"); studio.cover = url; } + Ok(bilibili.submit(&studio).await?) // Ok(videos) } diff --git a/sqlx-data.json b/sqlx-data.json deleted file mode 100644 index a8b7a18..0000000 --- a/sqlx-data.json +++ /dev/null @@ -1,715 +0,0 @@ -{ - "db": "SQLite", - "21c221edcfacc6ddf7af24d8371f03bff3d75fdfb04e2e6b310ce0ab89e89efc": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "url!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "remark!", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "filename!", - "ordinal": 3, - "type_info": "Text" - }, - { - "name": "split_time", - "ordinal": 4, - "type_info": "Int64" - }, - { - "name": "split_size", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "upload_id", - "ordinal": 6, - "type_info": "Int64" - } - ], - "nullable": [ - false, - false, - false, - false, - true, - true, - true - ], - "parameters": { - "Right": 1 - } - }, - "query": "\n select\n id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id\n from\n live_streamers\n where\n url=$1\n " - }, - "244489f42e7a598ba2a62514bbf98df40e7a0e337df28d6cf2bb59d298e80c5f": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "template_name!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "user", - "ordinal": 2, - "type_info": "Int64" - }, - { - "name": "copyright!: u8", - "ordinal": 3, - "type_info": "Int64" - }, - { - "name": "source!", - "ordinal": 4, - "type_info": "Text" - }, - { - "name": "tid!: u16", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "cover!", - "ordinal": 6, - "type_info": "Text" - }, - { - "name": "title!", - "ordinal": 7, - "type_info": "Text" - }, - { - "name": "desc!", - "ordinal": 8, - "type_info": "Text" - }, - { - "name": "dynamic!", - "ordinal": 9, - "type_info": "Text" - }, - { - "name": "tag!", - "ordinal": 10, - "type_info": "Text" - }, - { - "name": "dtime: u32", - "ordinal": 11, - "type_info": "Int64" - }, - { - "name": "interactive!: u8", - "ordinal": 12, - "type_info": "Int64" - }, - { - "name": "mission_id: u32", - "ordinal": 13, - "type_info": "Int64" - }, - { - "name": "dolby!: u8", - "ordinal": 14, - "type_info": "Int64" - }, - { - "name": "lossless_music!: u8", - "ordinal": 15, - "type_info": "Int64" - }, - { - "name": "no_reprint!: u8", - "ordinal": 16, - "type_info": "Int64" - }, - { - "name": "open_elec!: u8", - "ordinal": 17, - "type_info": "Int64" - }, - { - "name": "up_selection_reply!: bool", - "ordinal": 18, - "type_info": "Int64" - }, - { - "name": "up_close_reply!: bool", - "ordinal": 19, - "type_info": "Int64" - }, - { - "name": "up_close_danmu!: bool", - "ordinal": 20, - "type_info": "Int64" - } - ], - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false - ], - "parameters": { - "Right": 0 - } - }, - "query": "select id,\n template_name as \"template_name!\",\n user,\n copyright as \"copyright!: u8\",\n \"source\" as \"source!\",\n tid as \"tid!: u16\",\n cover as \"cover!\",\n title as \"title!\",\n \"desc\" as \"desc!\",\n \"dynamic\" as \"dynamic!\",\n tag as \"tag!\",\n dtime as \"dtime: u32\",\n interactive as \"interactive!: u8\",\n mission_id as \"mission_id: u32\",\n dolby as \"dolby!: u8\",\n lossless_music as \"lossless_music!: u8\",\n no_reprint as \"no_reprint!: u8\",\n open_elec as \"open_elec!: u8\",\n up_selection_reply as \"up_selection_reply!: bool\",\n up_close_reply as \"up_close_reply!: bool\",\n up_close_danmu as \"up_close_danmu!: bool\"\n from upload_streamers" - }, - "29f8fa25bd2febaf16f128b46391474b34bcba311abc3e17f1b14ad5f04cfba1": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "template_name!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "user!", - "ordinal": 2, - "type_info": "Int64" - }, - { - "name": "copyright!: u8", - "ordinal": 3, - "type_info": "Int64" - }, - { - "name": "source!", - "ordinal": 4, - "type_info": "Text" - }, - { - "name": "tid!: u16", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "cover!", - "ordinal": 6, - "type_info": "Text" - }, - { - "name": "title!", - "ordinal": 7, - "type_info": "Text" - }, - { - "name": "desc!", - "ordinal": 8, - "type_info": "Text" - }, - { - "name": "dynamic!", - "ordinal": 9, - "type_info": "Text" - }, - { - "name": "tag!", - "ordinal": 10, - "type_info": "Text" - }, - { - "name": "dtime: u32", - "ordinal": 11, - "type_info": "Int64" - }, - { - "name": "interactive!: u8", - "ordinal": 12, - "type_info": "Int64" - }, - { - "name": "mission_id: u32", - "ordinal": 13, - "type_info": "Int64" - }, - { - "name": "dolby!: u8", - "ordinal": 14, - "type_info": "Int64" - }, - { - "name": "lossless_music!: u8", - "ordinal": 15, - "type_info": "Int64" - }, - { - "name": "no_reprint!: u8", - "ordinal": 16, - "type_info": "Int64" - }, - { - "name": "open_elec!: u8", - "ordinal": 17, - "type_info": "Int64" - }, - { - "name": "up_selection_reply!: bool", - "ordinal": 18, - "type_info": "Int64" - }, - { - "name": "up_close_reply!: bool", - "ordinal": 19, - "type_info": "Int64" - }, - { - "name": "up_close_danmu!: bool", - "ordinal": 20, - "type_info": "Int64" - } - ], - "nullable": [ - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "parameters": { - "Right": 20 - } - }, - "query": "insert into upload_streamers(\n template_name,\n user,\n copyright,\n source,\n tid,\n cover,\n title,\n 'desc',\n dynamic,\n tag,\n dtime,\n interactive,\n mission_id,\n dolby,\n lossless_music,\n no_reprint,\n open_elec,\n up_selection_reply,\n up_close_reply,\n up_close_danmu\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20)\n returning\n id,\n template_name as \"template_name!\",\n user as \"user!\",\n copyright as \"copyright!: u8\",\n source as \"source!\",\n tid as \"tid!: u16\",\n cover as \"cover!\",\n title as \"title!\",\n \"desc\" as \"desc!\",\n dynamic as \"dynamic!\",\n tag as \"tag!\",\n dtime as \"dtime: u32\",\n interactive as \"interactive!: u8\",\n mission_id as \"mission_id: u32\",\n dolby as \"dolby!: u8\",\n lossless_music as \"lossless_music!: u8\",\n no_reprint as \"no_reprint!: u8\",\n open_elec as \"open_elec!: u8\",\n up_selection_reply as \"up_selection_reply!: bool\",\n up_close_reply as \"up_close_reply!: bool\",\n up_close_danmu as \"up_close_danmu!: bool\"" - }, - "31f077ea44a55127371192f9ac33007dfcb08cbdb36dacd702d9d694d8e946d5": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "url!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "remark!", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "filename!", - "ordinal": 3, - "type_info": "Text" - }, - { - "name": "split_time", - "ordinal": 4, - "type_info": "Int64" - }, - { - "name": "split_size", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "upload_id", - "ordinal": 6, - "type_info": "Int64" - } - ], - "nullable": [ - false, - false, - false, - false, - true, - true, - true - ], - "parameters": { - "Right": 1 - } - }, - "query": "\n select\n id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id\n from\n live_streamers\n where\n id=$1\n " - }, - "495927728f70e22287a0d8290c4f1c12390a6c999bf07fc012aa15f267241d3b": { - "describe": { - "columns": [], - "nullable": [], - "parameters": { - "Right": 1 - } - }, - "query": "\n delete from users\n where id = $1\n " - }, - "af3fa362cf5b5cb5947ed9293a285e206139375fd36cdfbd3680975c775878ad": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "name!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "value!", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "platform!", - "ordinal": 3, - "type_info": "Text" - } - ], - "nullable": [ - false, - true, - true, - true - ], - "parameters": { - "Right": 3 - } - }, - "query": "\n insert into users (name, value, platform)\n values ($1, $2, $3)\n returning id, name as \"name!\", value as \"value!\", platform as \"platform!\"\n " - }, - "c285bb895810306ffb0858fee4f18efb55d357c383329b748c63310e114e6f43": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "url!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "remark!", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "filename!", - "ordinal": 3, - "type_info": "Text" - }, - { - "name": "split_time", - "ordinal": 4, - "type_info": "Int64" - }, - { - "name": "split_size", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "upload_id", - "ordinal": 6, - "type_info": "Int64" - } - ], - "nullable": [ - false, - false, - false, - false, - true, - true, - true - ], - "parameters": { - "Right": 0 - } - }, - "query": "\n select id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id from live_streamers\n " - }, - "f1b122f50176726821ad702bd803348b27e7dd14f8c5d1d759f803bb2bf458f6": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "url!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "remark!", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "filename!", - "ordinal": 3, - "type_info": "Text" - }, - { - "name": "split_time", - "ordinal": 4, - "type_info": "Int64" - }, - { - "name": "split_size", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "upload_id", - "ordinal": 6, - "type_info": "Int64" - } - ], - "nullable": [ - false, - true, - true, - true, - true, - true, - true - ], - "parameters": { - "Right": 6 - } - }, - "query": "\n insert into live_streamers (url, remark, filename, split_time, split_size, upload_id)\n values ($1 , $2 , $3, $4 , $5, $6)\n returning id, url as \"url!\", remark as \"remark!\", filename as \"filename!\", split_time, split_size, upload_id\n " - }, - "f689c99cd87d324b7bae6f8b299d3bdf541324588021897cb8ca2594e428806c": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "template_name!", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "user", - "ordinal": 2, - "type_info": "Int64" - }, - { - "name": "copyright!: u8", - "ordinal": 3, - "type_info": "Int64" - }, - { - "name": "source!", - "ordinal": 4, - "type_info": "Text" - }, - { - "name": "tid!: u16", - "ordinal": 5, - "type_info": "Int64" - }, - { - "name": "cover!", - "ordinal": 6, - "type_info": "Text" - }, - { - "name": "title!", - "ordinal": 7, - "type_info": "Text" - }, - { - "name": "desc!", - "ordinal": 8, - "type_info": "Text" - }, - { - "name": "dynamic!", - "ordinal": 9, - "type_info": "Text" - }, - { - "name": "tag!", - "ordinal": 10, - "type_info": "Text" - }, - { - "name": "dtime: u32", - "ordinal": 11, - "type_info": "Int64" - }, - { - "name": "interactive!: u8", - "ordinal": 12, - "type_info": "Int64" - }, - { - "name": "mission_id: u32", - "ordinal": 13, - "type_info": "Int64" - }, - { - "name": "dolby!: u8", - "ordinal": 14, - "type_info": "Int64" - }, - { - "name": "lossless_music!: u8", - "ordinal": 15, - "type_info": "Int64" - }, - { - "name": "no_reprint!: u8", - "ordinal": 16, - "type_info": "Int64" - }, - { - "name": "open_elec!: u8", - "ordinal": 17, - "type_info": "Int64" - }, - { - "name": "up_selection_reply!: bool", - "ordinal": 18, - "type_info": "Int64" - }, - { - "name": "up_close_reply!: bool", - "ordinal": 19, - "type_info": "Int64" - }, - { - "name": "up_close_danmu!: bool", - "ordinal": 20, - "type_info": "Int64" - } - ], - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false - ], - "parameters": { - "Right": 1 - } - }, - "query": "\n select\n id, template_name as \"template_name!\", user, copyright as \"copyright!: u8\", source as \"source!\", tid as \"tid!: u16\", cover as \"cover!\", title as \"title!\", desc as \"desc!\", dynamic as \"dynamic!\", tag as \"tag!\", dtime as \"dtime: u32\", interactive as \"interactive!: u8\", mission_id as \"mission_id: u32\", dolby as \"dolby!: u8\", lossless_music as \"lossless_music!: u8\", no_reprint as \"no_reprint!: u8\", open_elec as \"open_elec!: u8\", up_selection_reply as \"up_selection_reply!: bool\", up_close_reply as \"up_close_reply!: bool\", up_close_danmu as \"up_close_danmu!: bool\"\n from upload_streamers\n where\n id = $1\n " - }, - "fdcd73e1871f34a1d168c12607af22a5031955df6288b09f2f055b3d3e004093": { - "describe": { - "columns": [ - { - "name": "id", - "ordinal": 0, - "type_info": "Int64" - }, - { - "name": "name", - "ordinal": 1, - "type_info": "Text" - }, - { - "name": "value", - "ordinal": 2, - "type_info": "Text" - }, - { - "name": "platform", - "ordinal": 3, - "type_info": "Text" - } - ], - "nullable": [ - false, - false, - false, - false - ], - "parameters": { - "Right": 0 - } - }, - "query": "\n select *\n from users\n " - } -} \ No newline at end of file