diff options
author | Vladislav Stepanov <8uk.8ak@gmail.com> | 2023-04-14 23:18:58 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 20:18:58 +0100 |
commit | c05d2850420a2c163b8f62c33a6cef7c0ae1ad8d (patch) | |
tree | 2c44a44eda7e76fa74e78ac1fd02f55c1ed4d804 | |
parent | 03dd3ddf8b8c0ad254850cd940728c888dd7a80c (diff) |
Workspace reorder (#868)
* Try different workspace structure
Move main crate (atuin) to be on the same level with other crates in
this workspace
* extract common dependencies to the workspace definition
* fix base64 v0.21 deprecation warning
* questionable: update deps & fix chrono deprecations
possible panic sites are unchanged, they're just more visible now
* Revert "questionable: update deps & fix chrono deprecations"
This reverts commit 993e60f8dea81a1625a04285a617959ad09a0866.
-rw-r--r-- | Cargo.lock | 325 | ||||
-rw-r--r-- | Cargo.toml | 107 | ||||
-rw-r--r-- | atuin-client/Cargo.toml | 58 | ||||
-rw-r--r-- | atuin-client/src/encryption.rs | 8 | ||||
-rw-r--r-- | atuin-common/Cargo.toml | 19 | ||||
-rw-r--r-- | atuin-server/Cargo.toml | 48 | ||||
-rw-r--r-- | atuin/Cargo.toml | 86 | ||||
-rw-r--r-- | atuin/src/command/client.rs (renamed from src/command/client.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/history.rs (renamed from src/command/client/history.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/import.rs (renamed from src/command/client/import.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search.rs (renamed from src/command/client/search.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/cursor.rs (renamed from src/command/client/search/cursor.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/duration.rs (renamed from src/command/client/search/duration.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/engines.rs (renamed from src/command/client/search/engines.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/engines/db.rs (renamed from src/command/client/search/engines/db.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/engines/skim.rs (renamed from src/command/client/search/engines/skim.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/history_list.rs (renamed from src/command/client/search/history_list.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/search/interactive.rs (renamed from src/command/client/search/interactive.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/stats.rs (renamed from src/command/client/stats.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/sync.rs (renamed from src/command/client/sync.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/sync/login.rs (renamed from src/command/client/sync/login.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/sync/logout.rs (renamed from src/command/client/sync/logout.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/sync/register.rs (renamed from src/command/client/sync/register.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/client/sync/status.rs (renamed from src/command/client/sync/status.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/contributors.rs (renamed from src/command/contributors.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/init.rs (renamed from src/command/init.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/mod.rs (renamed from src/command/mod.rs) | 0 | ||||
-rw-r--r-- | atuin/src/command/server.rs (renamed from src/command/server.rs) | 0 | ||||
-rw-r--r-- | atuin/src/main.rs (renamed from src/main.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/.github/ISSUE_TEMPLATE/bug_report.md (renamed from src/ratatui/.github/ISSUE_TEMPLATE/bug_report.md) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/.github/ISSUE_TEMPLATE/config.yml (renamed from src/ratatui/.github/ISSUE_TEMPLATE/config.yml) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/.github/ISSUE_TEMPLATE/feature_request.md (renamed from src/ratatui/.github/ISSUE_TEMPLATE/feature_request.md) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/.github/workflows/cd.yml (renamed from src/ratatui/.github/workflows/cd.yml) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/.github/workflows/ci.yml (renamed from src/ratatui/.github/workflows/ci.yml) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/.gitignore (renamed from src/ratatui/.gitignore) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/LICENSE (renamed from src/ratatui/LICENSE) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/README.md (renamed from src/ratatui/README.md) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/backend/crossterm.rs (renamed from src/ratatui/backend/crossterm.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/backend/mod.rs (renamed from src/ratatui/backend/mod.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/backend/termion.rs (renamed from src/ratatui/backend/termion.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/buffer.rs (renamed from src/ratatui/buffer.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/layout.rs (renamed from src/ratatui/layout.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/mod.rs (renamed from src/ratatui/mod.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/style.rs (renamed from src/ratatui/style.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/symbols.rs (renamed from src/ratatui/symbols.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/terminal.rs (renamed from src/ratatui/terminal.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/text.rs (renamed from src/ratatui/text.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/barchart.rs (renamed from src/ratatui/widgets/barchart.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/block.rs (renamed from src/ratatui/widgets/block.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/canvas/line.rs (renamed from src/ratatui/widgets/canvas/line.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/canvas/map.rs (renamed from src/ratatui/widgets/canvas/map.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/canvas/mod.rs (renamed from src/ratatui/widgets/canvas/mod.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/canvas/points.rs (renamed from src/ratatui/widgets/canvas/points.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/canvas/rectangle.rs (renamed from src/ratatui/widgets/canvas/rectangle.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/canvas/world.rs (renamed from src/ratatui/widgets/canvas/world.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/chart.rs (renamed from src/ratatui/widgets/chart.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/clear.rs (renamed from src/ratatui/widgets/clear.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/gauge.rs (renamed from src/ratatui/widgets/gauge.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/list.rs (renamed from src/ratatui/widgets/list.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/mod.rs (renamed from src/ratatui/widgets/mod.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/paragraph.rs (renamed from src/ratatui/widgets/paragraph.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/reflow.rs (renamed from src/ratatui/widgets/reflow.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/sparkline.rs (renamed from src/ratatui/widgets/sparkline.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/table.rs (renamed from src/ratatui/widgets/table.rs) | 0 | ||||
-rw-r--r-- | atuin/src/ratatui/widgets/tabs.rs (renamed from src/ratatui/widgets/tabs.rs) | 0 | ||||
-rw-r--r-- | atuin/src/shell/atuin.bash (renamed from src/shell/atuin.bash) | 0 | ||||
-rw-r--r-- | atuin/src/shell/atuin.fish (renamed from src/shell/atuin.fish) | 0 | ||||
-rw-r--r-- | atuin/src/shell/atuin.nu (renamed from src/shell/atuin.nu) | 0 | ||||
-rw-r--r-- | atuin/src/shell/atuin.zsh (renamed from src/shell/atuin.zsh) | 0 |
69 files changed, 363 insertions, 288 deletions
@@ -45,7 +45,7 @@ checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -76,7 +76,7 @@ dependencies = [ "atuin-client", "atuin-common", "atuin-server", - "base64 0.20.0", + "base64 0.21.0", "bitflags", "cassowary", "chrono", @@ -114,7 +114,7 @@ version = "14.0.0" dependencies = [ "async-trait", "atuin-common", - "base64 0.20.0", + "base64 0.21.0", "chrono", "clap", "config", @@ -249,12 +249,6 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" - -[[package]] -name = "base64" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" @@ -343,49 +337,54 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.18" +version = "4.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335867764ed2de42325fafe6d18b8af74ba97ee0c590fa016f157535b42ab04b" +checksum = "906f7fe1da4185b7a282b2bc90172a496f9def1aca4545fe7526810741591e14" dependencies = [ - "atty", - "bitflags", + "clap_builder", "clap_derive", - "clap_lex", "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "351f9ad9688141ed83dfd8f5fb998a06225ef444b48ff4dc43de6d409b7fd10b" +dependencies = [ + "bitflags", + "clap_lex", + "is-terminal", "strsim", "termcolor", ] [[package]] name = "clap_complete" -version = "4.0.3" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe581a2035db4174cdbdc91265e1aba50f381577f0510d0ad36c7bc59cc84a3" +checksum = "01c22dcfb410883764b29953103d9ef7bb8fe21b3fa1158bc99986c2067294bd" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.0.18" +version = "4.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a1b0f6422af32d5da0c58e2703320f379216ee70198241c84173a8c5ac28f3" +checksum = "81d7dc0031c3a59a04fc2ba395c8e2dd463cba1859275f065d225f6122221b45" dependencies = [ "heck", - "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 2.0.14", ] [[package]] name = "clap_lex" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" -dependencies = [ - "os_str_bytes", -] +checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" [[package]] name = "colored" @@ -414,16 +413,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.1" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89eab4d20ce20cea182308bca13088fecea9c05f6776cf287205d41a0ed3c847" +checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" dependencies = [ "encode_unicode", + "lazy_static", "libc", - "once_cell", - "terminal_size", "unicode-width", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -468,9 +466,9 @@ checksum = "2d0165d2900ae6778e36e80bbc4da3b5eefccee9ba939761f9c2882a5d9af3ff" [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ "cfg-if", "crossbeam-utils", @@ -498,9 +496,9 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f67c7faacd4db07a939f55d66a983a5355358a1f17d32cc9a8d01d1266b9ce" +checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" dependencies = [ "bitflags", "crossterm_winapi", @@ -626,13 +624,13 @@ dependencies = [ [[package]] name = "errno" -version = "0.2.8" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ "errno-dragonfly", "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -681,7 +679,7 @@ dependencies = [ "futures-core", "futures-sink", "pin-project", - "spin 0.9.4", + "spin 0.9.8", ] [[package]] @@ -751,7 +749,7 @@ checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -868,12 +866,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" [[package]] name = "hex" @@ -1024,12 +1019,13 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.1" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfddc9561e8baf264e0e45e197fd7696320026eb10a8180340debc27b18f535b" +checksum = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729" dependencies = [ "console", "number_prefix", + "portable-atomic", "unicode-width", ] @@ -1054,12 +1050,13 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.3" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" dependencies = [ + "hermit-abi 0.3.1", "libc", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] @@ -1070,14 +1067,14 @@ checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" [[package]] name = "is-terminal" -version = "0.4.1" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.1", "io-lifetimes", "rustix", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] @@ -1112,9 +1109,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.138" +version = "0.2.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8" +checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" [[package]] name = "libsodium-sys" @@ -1141,9 +1138,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.1.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f" [[package]] name = "lock_api" @@ -1184,7 +1181,7 @@ dependencies = [ "proc-macro2", "quote", "regex-syntax", - "syn", + "syn 1.0.99", ] [[package]] @@ -1373,12 +1370,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "os_str_bytes" -version = "6.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" - -[[package]] name = "overload" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1487,7 +1478,7 @@ checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.99", ] [[package]] @@ -1509,49 +1500,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - -[[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "portable-atomic" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] +checksum = "26f6a7b87c2e435a3241addceeeff740ff8b7e76b74c13bf9acb17fa454ea00b" [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "ppv-lite86" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ "proc-macro2", ] @@ -1710,9 +1683,20 @@ dependencies = [ [[package]] name = "rpassword" -version = "7.0.0" +version = "7.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +dependencies = [ + "libc", + "rtoolbox", + "winapi", +] + +[[package]] +name = "rtoolbox" +version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b763cb66df1c928432cc35053f8bd4cec3335d8559fc16010017d16b3c1680" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" dependencies = [ "libc", "winapi", @@ -1735,16 +1719,16 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.36.5" +version = "0.37.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588" +checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] @@ -1873,7 +1857,7 @@ checksum = "81fa1584d3d1bcacd84c277 |