From c9950beec225503f35cd3ffdd7ec1206ba662816 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 10 May 2017 21:39:05 -0600 Subject: [PATCH 01/16] Convert to cookbook based build --- .gitignore | 5 - .gitmodules | 129 +- Cargo.lock | 2365 ---------------------- Cargo.toml | 74 - Makefile | 12 +- bootloader | 2 +- cookbook | 2 +- docgen | 1 - drivers | 1 - filesystem.toml | 175 ++ filesystem/etc/group | 1 - filesystem/etc/hostname | 1 - filesystem/etc/init.d/00_base | 3 - filesystem/etc/init.d/10_net | 5 - filesystem/etc/init.d/20_orbital | 1 - filesystem/etc/init.d/30_console | 2 - filesystem/etc/installer.toml | 45 - filesystem/etc/issue | 6 - filesystem/etc/motd | 2 - filesystem/etc/net/dns | 1 - filesystem/etc/net/ip | 1 - filesystem/etc/net/ip_router | 1 - filesystem/etc/net/ip_subnet | 1 - filesystem/etc/net/mac | 1 - filesystem/etc/passwd | 2 - filesystem/etc/pcid.toml | 41 - filesystem/etc/pkg.d/50_redox | 1 - filesystem/home/user/LICENSE | 1 - filesystem/home/user/README.md | 1 - filesystem/root/LICENSE | 1 - filesystem/root/README.md | 1 - filesystem/ui | 1 - initfs/etc/pcid.toml => initfs.toml | 32 + initfs/etc/init.rc | 9 - installer | 2 +- kernel | 2 +- krustc.sh | 21 - krustdoc.sh | 2 - libc-artifacts | 1 - libs/event | 1 - libs/extra | 1 - libs/jpeg-decoder | 1 - libs/mio | 1 - libs/orbclient | 1 - libs/orbfont | 1 - libs/orbimage | 1 - libs/orbtk | 1 - libs/pager | 1 - libs/ralloc | 1 - libs/ransid | 1 - libs/same-file | 1 - libs/syscall | 1 - libs/tar | 1 - libs/termion | 1 - mk/config.mk | 15 +- mk/disk.mk | 4 +- mk/doc.mk | 13 - mk/filesystem.mk | 14 +- mk/initfs.mk | 20 +- mk/kernel.mk | 21 +- mk/userspace/coreutils.mk | 46 - mk/userspace/drivers.mk | 15 - mk/userspace/extrautils.mk | 21 - mk/userspace/installer.mk | 7 - mk/userspace/ion.mk | 11 - mk/userspace/mod.mk | 49 - mk/userspace/netutils.mk | 14 - mk/userspace/orbutils.mk | 15 - mk/userspace/pkgutils.mk | 7 - mk/userspace/schemes.mk | 25 - mk/userspace/userutils.mk | 13 - paper/redox.tex | 84 - programs/acid | 1 - programs/binutils | 1 - programs/contain/Cargo.toml | 6 - programs/contain/src/chroot.rs | 172 -- programs/contain/src/main.rs | 97 - programs/coreutils | 1 - programs/extrautils | 1 - programs/games | 1 - programs/init | 1 - programs/ion | 1 - programs/netutils | 1 - programs/orbterm | 1 - programs/orbutils | 1 - programs/pkgutils | 1 - programs/smith | 1 - programs/sodium | 1 - programs/timeout/Cargo.toml | 8 - programs/timeout/src/main.rs | 44 - programs/userutils | 1 - res/fonts/DejaVuSansMono-Bold.ttf | Bin 331992 -> 0 bytes res/fonts/DejaVuSansMono-BoldOblique.ttf | Bin 253580 -> 0 bytes res/fonts/DejaVuSansMono-LICENSE | 187 -- res/fonts/DejaVuSansMono-Oblique.ttf | Bin 251932 -> 0 bytes res/fonts/DejaVuSansMono.ttf | Bin 340712 -> 0 bytes rustc.sh | 21 - rustdoc.sh | 2 - rustfmt.toml | 5 - schemes/ethernetd/Cargo.toml | 8 - schemes/ethernetd/src/main.rs | 110 - schemes/ethernetd/src/scheme.rs | 164 -- schemes/ipd/Cargo.toml | 8 - schemes/ipd/src/interface/ethernet.rs | 155 -- schemes/ipd/src/interface/loopback.rs | 50 - schemes/ipd/src/interface/mod.rs | 19 - schemes/ipd/src/main.rs | 341 ---- schemes/orbital | 1 - schemes/ptyd/Cargo.toml | 6 - schemes/ptyd/src/main.rs | 414 ---- schemes/randd/Cargo.toml | 7 - schemes/randd/src/main.rs | 92 - schemes/redoxfs | 1 - schemes/tcpd/Cargo.toml | 9 - schemes/tcpd/src/main.rs | 937 --------- schemes/udpd/Cargo.toml | 9 - schemes/udpd/src/main.rs | 586 ------ 117 files changed, 246 insertions(+), 6591 deletions(-) delete mode 100644 Cargo.lock delete mode 100644 Cargo.toml delete mode 160000 docgen delete mode 160000 drivers create mode 100644 filesystem.toml delete mode 100644 filesystem/etc/group delete mode 100644 filesystem/etc/hostname delete mode 100644 filesystem/etc/init.d/00_base delete mode 100644 filesystem/etc/init.d/10_net delete mode 100644 filesystem/etc/init.d/20_orbital delete mode 100644 filesystem/etc/init.d/30_console delete mode 100644 filesystem/etc/installer.toml delete mode 100644 filesystem/etc/issue delete mode 100644 filesystem/etc/motd delete mode 100644 filesystem/etc/net/dns delete mode 100644 filesystem/etc/net/ip delete mode 100644 filesystem/etc/net/ip_router delete mode 100644 filesystem/etc/net/ip_subnet delete mode 100644 filesystem/etc/net/mac delete mode 100644 filesystem/etc/passwd delete mode 100644 filesystem/etc/pcid.toml delete mode 100644 filesystem/etc/pkg.d/50_redox delete mode 120000 filesystem/home/user/LICENSE delete mode 120000 filesystem/home/user/README.md delete mode 120000 filesystem/root/LICENSE delete mode 120000 filesystem/root/README.md delete mode 160000 filesystem/ui rename initfs/etc/pcid.toml => initfs.toml (56%) delete mode 100644 initfs/etc/init.rc delete mode 100755 krustc.sh delete mode 100755 krustdoc.sh delete mode 160000 libc-artifacts delete mode 160000 libs/event delete mode 160000 libs/extra delete mode 160000 libs/jpeg-decoder delete mode 160000 libs/mio delete mode 160000 libs/orbclient delete mode 160000 libs/orbfont delete mode 160000 libs/orbimage delete mode 160000 libs/orbtk delete mode 160000 libs/pager delete mode 160000 libs/ralloc delete mode 160000 libs/ransid delete mode 160000 libs/same-file delete mode 160000 libs/syscall delete mode 160000 libs/tar delete mode 160000 libs/termion delete mode 100644 mk/doc.mk delete mode 100644 mk/userspace/coreutils.mk delete mode 100644 mk/userspace/drivers.mk delete mode 100644 mk/userspace/extrautils.mk delete mode 100644 mk/userspace/installer.mk delete mode 100644 mk/userspace/ion.mk delete mode 100644 mk/userspace/mod.mk delete mode 100644 mk/userspace/netutils.mk delete mode 100644 mk/userspace/orbutils.mk delete mode 100644 mk/userspace/pkgutils.mk delete mode 100644 mk/userspace/schemes.mk delete mode 100644 mk/userspace/userutils.mk delete mode 100644 paper/redox.tex delete mode 160000 programs/acid delete mode 160000 programs/binutils delete mode 100644 programs/contain/Cargo.toml delete mode 100644 programs/contain/src/chroot.rs delete mode 100644 programs/contain/src/main.rs delete mode 160000 programs/coreutils delete mode 160000 programs/extrautils delete mode 160000 programs/games delete mode 160000 programs/init delete mode 160000 programs/ion delete mode 160000 programs/netutils delete mode 160000 programs/orbterm delete mode 160000 programs/orbutils delete mode 160000 programs/pkgutils delete mode 160000 programs/smith delete mode 160000 programs/sodium delete mode 100644 programs/timeout/Cargo.toml delete mode 100644 programs/timeout/src/main.rs delete mode 160000 programs/userutils delete mode 100644 res/fonts/DejaVuSansMono-Bold.ttf delete mode 100644 res/fonts/DejaVuSansMono-BoldOblique.ttf delete mode 100644 res/fonts/DejaVuSansMono-LICENSE delete mode 100644 res/fonts/DejaVuSansMono-Oblique.ttf delete mode 100644 res/fonts/DejaVuSansMono.ttf delete mode 100755 rustc.sh delete mode 100755 rustdoc.sh delete mode 100644 rustfmt.toml delete mode 100644 schemes/ethernetd/Cargo.toml delete mode 100644 schemes/ethernetd/src/main.rs delete mode 100644 schemes/ethernetd/src/scheme.rs delete mode 100644 schemes/ipd/Cargo.toml delete mode 100644 schemes/ipd/src/interface/ethernet.rs delete mode 100644 schemes/ipd/src/interface/loopback.rs delete mode 100644 schemes/ipd/src/interface/mod.rs delete mode 100644 schemes/ipd/src/main.rs delete mode 160000 schemes/orbital delete mode 100644 schemes/ptyd/Cargo.toml delete mode 100644 schemes/ptyd/src/main.rs delete mode 100644 schemes/randd/Cargo.toml delete mode 100644 schemes/randd/src/main.rs delete mode 160000 schemes/redoxfs delete mode 100644 schemes/tcpd/Cargo.toml delete mode 100644 schemes/tcpd/src/main.rs delete mode 100644 schemes/udpd/Cargo.toml delete mode 100644 schemes/udpd/src/main.rs diff --git a/.gitignore b/.gitignore index a3e3243..378eac2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ build -target -initfs/bin -filesystem/bin -filesystem/ref -filesystem/sbin diff --git a/.gitmodules b/.gitmodules index 3eeeb4d..16b9f4f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,123 +1,18 @@ -[submodule "rust"] - path = rust - url = https://github.com/redox-os/rust.git -[submodule "ion"] - path = programs/ion - url = https://github.com/redox-os/ion.git -[submodule "programs/coreutils"] - path = programs/coreutils - url = https://github.com/redox-os/coreutils.git -[submodule "schemes/redoxfs"] - path = schemes/redoxfs - url = https://github.com/redox-os/redoxfs -[submodule "programs/extrautils"] - path = programs/extrautils - url = https://github.com/redox-os/extrautils.git -[submodule "programs/smith"] - path = programs/smith - url = https://github.com/IGI-111/Smith.git -[submodule "programs/userutils"] - path = programs/userutils - url = https://github.com/redox-os/userutils.git -[submodule "programs/netutils"] - path = programs/netutils - url = https://github.com/redox-os/netutils.git -[submodule "schemes/orbital"] - path = schemes/orbital - url = https://github.com/redox-os/orbital.git -[submodule "programs/orbutils"] - path = programs/orbutils - url = https://github.com/redox-os/orbutils.git -[submodule "filesystem/ui"] - path = filesystem/ui - url = https://github.com/redox-os/orbdata.git -[submodule "programs/acid"] - path = programs/acid - url = https://github.com/redox-os/acid.git -[submodule "programs/pkgutils"] - path = programs/pkgutils - url = https://github.com/redox-os/pkgutils.git -[submodule "installer"] - path = installer - url = https://github.com/redox-os/installer.git -[submodule "docgen"] - path = docgen - url = https://github.com/redox-os/docgen.git -[submodule "libc-artifacts"] - path = libc-artifacts - url = https://github.com/redox-os/libc-artifacts.git -[submodule "kernel"] - path = kernel - url = https://github.com/redox-os/kernel.git -[submodule "drivers"] - path = drivers - url = https://github.com/redox-os/drivers.git [submodule "bootloader"] path = bootloader url = https://github.com/redox-os/bootloader.git -[submodule "isolinux"] - path = isolinux - url = https://github.com/redox-os/isolinux.git -[submodule "programs/init"] - path = programs/init - url = https://github.com/redox-os/init.git -[submodule "libs/orbclient"] - path = libs/orbclient - url = https://github.com/redox-os/orbclient.git -[submodule "libs/orbtk"] - path = libs/orbtk - url = https://github.com/redox-os/orbtk.git -[submodule "libs/orbimage"] - path = libs/orbimage - url = https://github.com/redox-os/orbimage.git -[submodule "libs/orbfont"] - path = libs/orbfont - url = https://github.com/redox-os/orbfont.git -[submodule "libs/jpeg-decoder"] - path = libs/jpeg-decoder - url = https://github.com/redox-os/jpeg-decoder.git -[submodule "libs/termion"] - path = libs/termion - url = https://github.com/redox-os/termion.git -[submodule "libs/syscall"] - path = libs/syscall - url = https://github.com/redox-os/syscall.git -[submodule "libs/extra"] - path = libs/extra - url = https://github.com/redox-os/libextra.git -[submodule "libs/event"] - path = libs/event - url = https://github.com/redox-os/event.git -[submodule "libs/pager"] - path = libs/pager - url = https://github.com/redox-os/libpager.git -[submodule "libs/ransid"] - path = libs/ransid - url = https://github.com/redox-os/ransid.git -[submodule "libs/same-file"] - path = libs/same-file - url = https://github.com/redox-os/same-file.git -[submodule "libs/mio"] - path = libs/mio - url = https://github.com/redox-os/mio.git -[submodule "programs/binutils"] - path = programs/binutils - url = https://github.com/redox-os/binutils.git -[submodule "programs/games"] - path = programs/games - url = https://github.com/redox-os/games.git -[submodule "programs/sodium"] - path = programs/sodium - url = https://github.com/redox-os/sodium.git -[submodule "libs/ralloc"] - path = libs/ralloc - url = https://github.com/redox-os/ralloc.git -[submodule "libs/tar"] - path = libs/tar - url = https://github.com/redox-os/tar-rs.git -[submodule "programs/orbterm"] - path = programs/orbterm - url = https://github.com/redox-os/orbterm.git [submodule "cookbook"] path = cookbook url = https://github.com/redox-os/cookbook.git +[submodule "installer"] + path = installer + url = https://github.com/redox-os/installer.git +[submodule "isolinux"] + path = isolinux + url = https://github.com/redox-os/isolinux.git +[submodule "kernel"] + path = kernel + url = https://github.com/redox-os/kernel.git +[submodule "rust"] + path = rust + url = https://github.com/redox-os/rust.git diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 2350312..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,2365 +0,0 @@ -[root] -name = "xhcid" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "acid" -version = "0.1.0" -dependencies = [ - "x86 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "adler32" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ahcid" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "aho-corasick" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "aho-corasick" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "alloc_kernel" -version = "0.1.0" -dependencies = [ - "linked_list_allocator 0.2.5 (git+https://github.com/phil-opp/linked-list-allocator.git)", - "spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "alxd" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ansi_term" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "argon2rs" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "blake2-rfc 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", - "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "arrayvec" -version = "0.3.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "nodrop 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "odds 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "base64" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bgad" -version = "0.1.0" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "binutils" -version = "0.1.0" -dependencies = [ - "extra 0.1.0 (git+https://github.com/redox-os/libextra.git)", -] - -[[package]] -name = "bitflags" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitflags" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "blake2-rfc" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "constant_time_eq 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "byteorder" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bytes" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cfg-if" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "clipboard" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "clipboard-win 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "objc-foundation 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "objc_id 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.13.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "clipboard-win" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "windows-error 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "color_quant" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "constant_time_eq" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "contain" -version = "0.1.0" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "coreutils" -version = "0.1.0" -dependencies = [ - "extra 0.1.0 (git+https://github.com/redox-os/libextra.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "csv" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "debug_unreachable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "deflate" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "adler32 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "deque" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "docgen" -version = "0.1.0" -dependencies = [ - "walkdir 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "docopt" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", - "strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "e1000d" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-japanese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-korean" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-simpchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-singlebyte" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding-index-tradchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "encoding_index_tests" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "enum_primitive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "env_logger" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "error-chain" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ethernetd" -version = "0.1.0" -dependencies = [ - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "extra" -version = "0.1.0" -source = "git+https://github.com/redox-os/libextra.git#402932084acd5fef4812945887ceaaa2ddd5f264" - -[[package]] -name = "extra" -version = "0.1.0" - -[[package]] -name = "extrautils" -version = "0.1.0" -dependencies = [ - "extra 0.1.0 (git+https://github.com/redox-os/libextra.git)", - "libflate 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "pager 0.1.0 (git+https://github.com/redox-os/libpager.git)", - "raw-cpuid 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "tar 0.4.11 (git+https://github.com/redox-os/tar-rs.git)", - "termion 1.3.0 (git+https://github.com/redox-os/termion.git)", -] - -[[package]] -name = "flate2" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "fnv" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuse" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "thread-scoped 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "futf" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "debug_unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "games-for-redox" -version = "0.1.0" -dependencies = [ - "extra 0.1.0 (git+https://github.com/redox-os/libextra.git)", - "libgo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "gcc" -version = "0.3.45" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "generic-array" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "typenum 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "gif" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "color_quant 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "glob" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "goblin" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "scroll 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "html5ever" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tendril 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "html5ever-atoms" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "string_cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "httparse" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hyper" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "httparse 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hyper-rustls" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki-roots 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "idna" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-normalization 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "image" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "gif 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "jpeg-decoder 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "png 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "inflate" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "init" -version = "0.1.0" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ion-shell" -version = "1.0.1" -dependencies = [ - "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "peg 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "permutate 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallstring 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-segmentation 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "users 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "version_check 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ipd" -version = "0.1.0" -dependencies = [ - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "jpeg-decoder" -version = "0.1.12" -dependencies = [ - "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "png 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "jpeg-decoder" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "jpeg-decoder 0.1.12" - -[[package]] -name = "kernel" -version = "0.1.0" -dependencies = [ - "alloc_kernel 0.1.0", - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "goblin 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", - "raw-cpuid 3.0.0 (git+https://github.com/gz/rust-cpuid)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "x86 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "language-tags" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lazy_static" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lazycell" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libflate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "libgo" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "liner" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "linked-hash-map" -version = "0.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "linked_list_allocator" -version = "0.2.5" -source = "git+https://github.com/phil-opp/linked-list-allocator.git#ea8548db4b5a6ee0e2b847e96d6b4c31b7744567" - -[[package]] -name = "log" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "lzw" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "matches" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memchr" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "memchr" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "metadeps" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "error-chain 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mime" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mime_guess" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miniz-sys" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "mio" -version = "0.6.2" -dependencies = [ - "bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "env_logger 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "miow 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", - "nix 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "miow" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "net2" -version = "0.2.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "netutils" -version = "0.1.0" -source = "git+https://github.com/redox-os/netutils.git#074c900be31586f405cc46503a807e7ab8a7a2bb" -dependencies = [ - "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-rustls 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "ntpclient 0.0.1 (git+https://github.com/willem66745/ntpclient-rust)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "netutils" -version = "0.1.0" -dependencies = [ - "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-rustls 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "ntpclient 0.0.1 (git+https://github.com/willem66745/ntpclient-rust)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nix" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nodrop" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "odds 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ntpclient" -version = "0.0.1" -source = "git+https://github.com/willem66745/ntpclient-rust#7e3bdf60eb940825789a8da5181025320e3050b0" -dependencies = [ - "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-bigint 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "num-complex 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-bigint" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-complex" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-integer" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-iter" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-rational" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-bigint 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-traits" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "num_cpus" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nvmed" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "objc" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "objc-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "objc_id 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "objc_id" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "octavo" -version = "0.1.1" -source = "git+https://github.com/libOctavo/octavo.git#d94d924616dca83b9c6cfc815062276c5908713a" -dependencies = [ - "octavo-digest 0.1.2 (git+https://github.com/libOctavo/octavo.git)", -] - -[[package]] -name = "octavo-digest" -version = "0.1.2" -source = "git+https://github.com/libOctavo/octavo.git#d94d924616dca83b9c6cfc815062276c5908713a" -dependencies = [ - "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "static-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "odds" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "orbclient" -version = "0.3.4" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "sdl2 0.29.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "orbclient" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "orbclient 0.3.4" - -[[package]] -name = "orbfont" -version = "0.1.8" -dependencies = [ - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rusttype 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "orbfont" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "orbfont 0.1.8" - -[[package]] -name = "orbimage" -version = "0.1.15" -dependencies = [ - "image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)", - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "resize 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "orbimage" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "orbimage 0.1.15" - -[[package]] -name = "orbital" -version = "0.1.0" -dependencies = [ - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "orbfont 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "orbimage 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "resize 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "orbterm" -version = "0.1.2" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "orbfont 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "ransid 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "orbtk" -version = "0.2.19" -dependencies = [ - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "orbfont 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "orbimage 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "orbtk" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "orbtk 0.2.19" - -[[package]] -name = "orbutils" -version = "0.1.14" -dependencies = [ - "html5ever 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", - "html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-rustls 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mime_guess 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "orbfont 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "orbimage 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", - "orbtk 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "rustls 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", - "tendril 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "userutils 0.1.0 (git+https://github.com/redox-os/userutils.git)", -] - -[[package]] -name = "pager" -version = "0.1.0" -source = "git+https://github.com/redox-os/libpager.git#62b01eba8299143a1a5a78b36d85ab63251462b3" -dependencies = [ - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pager" -version = "0.1.0" -dependencies = [ - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pcid" -version = "0.1.0" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "peg" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "permutate" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "phf" -version = "0.7.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "phf_codegen" -version = "0.7.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "phf_generator 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "phf_generator" -version = "0.7.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "phf_shared" -version = "0.7.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "siphasher 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pkg-config" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "pkgutils" -version = "0.1.0" -source = "git+https://github.com/redox-os/pkgutils.git#b9c10c980e1724270b7e90d3c2d4999c398814b8" -dependencies = [ - "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-rustls 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "octavo 0.1.1 (git+https://github.com/libOctavo/octavo.git)", - "serde 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tar 0.4.11 (git+https://github.com/redox-os/tar-rs.git)", - "toml 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "version-compare 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "pkgutils" -version = "0.1.0" -dependencies = [ - "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper-rustls 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "octavo 0.1.1 (git+https://github.com/libOctavo/octavo.git)", - "serde 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "tar 0.4.11 (git+https://github.com/redox-os/tar-rs.git)", - "toml 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "version-compare 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "png" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", - "inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "png" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "deflate 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", - "inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ps2d" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ptyd" -version = "0.1.0" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rand" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "randd" -version = "0.1.0" -dependencies = [ - "raw-cpuid 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ransid" -version = "0.2.7" - -[[package]] -name = "ransid" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "ransid 0.2.7" - -[[package]] -name = "raw-cpuid" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "raw-cpuid" -version = "3.0.0" -source = "git+https://github.com/gz/rust-cpuid#d8ff30d61fb2ef4700c88cb787f47f4085863c90" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rayon" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rayon-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rayon-core" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "deque 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_event" -version = "0.1.0" -source = "git+https://github.com/redox-os/event.git#1333e640e1c58cf3808372147f34e91ff0d7f13c" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_event" -version = "0.1.0" -dependencies = [ - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "redox_event" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "redox_event 0.1.0" - -[[package]] -name = "redox_installer" -version = "0.1.0" -dependencies = [ - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgutils 0.1.0 (git+https://github.com/redox-os/pkgutils.git)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "userutils 0.1.0 (git+https://github.com/redox-os/userutils.git)", -] - -[[package]] -name = "redox_syscall" -version = "0.1.17" - -[[package]] -name = "redox_syscall" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "redox_syscall 0.1.17" - -[[package]] -name = "redoxfs" -version = "0.1.2" -dependencies = [ - "fuse 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "0.1.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "regex-syntax" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "resize" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ring" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "rayon 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ropey" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rtl8168d" -version = "0.1.0" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc-serialize" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rustc_version" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustls" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "base64 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", - "ring 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rusttype" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "arrayvec 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", - "linked-hash-map 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)", - "stb_truetype 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "same-file" -version = "0.1.2" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "same-file" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "scoped_threadpool" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "scroll" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "sdl2" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "sdl2-sys 0.27.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sdl2-sys" -version = "0.27.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "0.9.15" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde_codegen" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_codegen_internals 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_codegen_internals" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "syn 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_codegen_internals" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde_codegen 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive" -version = "0.9.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive_internals 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_derive_internals" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)", - "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "serde_json" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "siphasher" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "slab" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "smallstring" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "smallvec 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "smallvec" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "smith" -version = "0.3.10" -dependencies = [ - "clipboard 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ropey 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sodium" -version = "0.1.0" -dependencies = [ - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "spin" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "static-buffer" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "stb_truetype" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "string_cache" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "debug_unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "string_cache_codegen" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "phf_generator 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "string_cache_shared" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "strsim" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "syn" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "syn" -version = "0.11.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "synom" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tar" -version = "0.4.11" -source = "git+https://github.com/redox-os/tar-rs.git#1ccf2baf1703bd30807c3f11a8a874ea53af6f74" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "xattr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tar" -version = "0.4.11" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "xattr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tcpd" -version = "0.1.0" -dependencies = [ - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tempdir" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tendril" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", - "futf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "utf-8 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "termion" -version = "1.3.0" -source = "git+https://github.com/redox-os/termion.git#550b9ea50a11c838533a0cf2cd9c8f7584927cdb" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "termion" -version = "1.3.0" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "termion" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -replace = "termion 1.3.0" - -[[package]] -name = "thread-id" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread-id" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread-scoped" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "thread_local" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread_local" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "thread-id 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "time" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "timeout" -version = "0.1.0" -dependencies = [ - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "toml" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "toml" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "toml" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "traitobject" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "typeable" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "typenum" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "udpd" -version = "0.1.0" -dependencies = [ - "netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicase" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-bidi" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-segmentation" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-width" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unreachable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "untrusted" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "url" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "idna 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "user32-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "userutils" -version = "0.1.0" -source = "git+https://github.com/redox-os/userutils.git#3ca18917f88130f4734bcb4643a410e62e6cb24c" -dependencies = [ - "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "userutils" -version = "0.1.0" -dependencies = [ - "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", - "liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "utf-8" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "utf8-ranges" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "utf8-ranges" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "vboxd" -version = "0.1.0" -dependencies = [ - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_event 0.1.0 (git+https://github.com/redox-os/event.git)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "version-compare" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "version_check" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "vesad" -version = "0.1.0" -dependencies = [ - "orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "ransid 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "rusttype 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "walkdir" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "walkdir" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "webpki" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ring 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "webpki-roots" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "webpki 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "windows-error" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "x11" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", - "metadeps 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "x86" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "csv 0.14.7 (registry+https://github.com/rust-lang/crates.io-index)", - "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "raw-cpuid 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "xattr" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[metadata] -"checksum adler32 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ff33fe13a08dbce05bcefa2c68eea4844941437e33d6f808240b54d7157b9cd" -"checksum aho-corasick 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66" -"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" -"checksum ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6" -"checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392" -"checksum arrayvec 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "699e63a93b79d717e8c3b5eb1b28b7780d0d6d9e59a72eb769291c83b0c8dc67" -"checksum base64 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2015e3793554aa5b6007e3a72959e84c1070039e74f13dde08fa64afe1ddd892" -"checksum bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3" -"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" -"checksum blake2-rfc 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "0c6a476f32fef3402f1161f89d0d39822809627754a126f8441ff2a9d45e2d59" -"checksum block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" -"checksum byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96c8b41881888cc08af32d47ac4edd52bc7fa27fef774be47a92443756451304" -"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855" -"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" -"checksum bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c129aff112dcc562970abb69e2508b40850dd24c274761bb50fb8a0067ba6c27" -"checksum cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c" -"checksum clipboard 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "811169a9ffda99ed1841a6db3c48cffbab9a9101376f77fee3c14a7581ab933d" -"checksum clipboard-win 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f05017278a9e5485eacce962c9efc52f720eef0d19646dc3a7af714aad22ed2c" -"checksum color_quant 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a475fc4af42d83d28adf72968d9bcfaf035a1a9381642d8e85d8a04957767b0d" -"checksum constant_time_eq 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "07dcb7959f0f6f1cf662f9a7ff389bcb919924d99ac41cf31f10d611d8721323" -"checksum csv 0.14.7 (registry+https://github.com/rust-lang/crates.io-index)" = "266c1815d7ca63a5bd86284043faf91e8c95e943e55ce05dc0ae08e952de18bc" -"checksum debug_unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9a032eac705ca39214d169f83e3d3da290af06d8d1d344d1baad2fd002dca4b3" -"checksum deflate 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)" = "8f39474a23b492b7ec97604c7828abd05771b28ed03cac0c6b884e79f9980283" -"checksum deque 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a694dae478589798d752c7125542f8a5ae8b6e59476172baf2eed67357bdfa27" -"checksum docopt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab32ea6e284d87987066f21a9e809a73c14720571ef34516f0890b3d355ccfd8" -"checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" -"checksum encoding-index-japanese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" -"checksum encoding-index-korean 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" -"checksum encoding-index-simpchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" -"checksum encoding-index-singlebyte 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" -"checksum encoding-index-tradchinese 1.20141219.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" -"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" -"checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180" -"checksum env_logger 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "15abd780e45b3ea4f76b4e9a26ff4843258dd8a3eed2775a0e7368c2e7936c2f" -"checksum error-chain 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "318cb3c71ee4cdea69fdc9e15c173b245ed6063e1709029e8fd32525a881120f" -"checksum extra 0.1.0 (git+https://github.com/redox-os/libextra.git)" = "" -"checksum flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c" -"checksum fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344" -"checksum fuse 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "adf08478eb39cff95e34daa7a2743a256d1c18388c0328d2f717e8ef748001f6" -"checksum futf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "51f93f3de6ba1794dcd5810b3546d004600a59a98266487c8407bc4b24e398f3" -"checksum gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)" = "40899336fb50db0c78710f53e87afc54d8c7266fb76262fecc78ca1a7f09deae" -"checksum generic-array 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3406a3975bc944fdd85b7964d53296a0ff11f4b6c4704fa4972c9a7c8ba27367" -"checksum gif 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8a80d6fe9e52f637df9afd4779449a7be17c39cc9c35b01589bb833f956ba596" -"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" -"checksum goblin 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3536832676b9c0bde31ef9b6d1c8a9cc897267eaf15caaddcaef313f94b42e53" -"checksum html5ever 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a358fef34c3334e92cd34d83ce870a386334e605e7abe987a69a7078a4142c69" -"checksum html5ever-atoms 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4109e35fec157307b918eb9d5b7018e2fa771aea0c04831e22003ac4722fbd1b" -"checksum httparse 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77f756bed9ee3a83ce98774f4155b42a31b787029013f3a7d83eca714e500e21" -"checksum hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)" = "94da93321c171e26481afeebe8288757b0501901b7c5492648163d8ec4942ec5" -"checksum hyper-rustls 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "68fdeacba341bed69e9b8fb8acbe618f18c5614e173895635ee7cb7eae57fd3d" -"checksum idna 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac85ec3f80c8e4e99d9325521337e14ec7555c458a14e377d189659a427f375" -"checksum image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d95816db758249fe16f23a4e23f1a3a817fe11892dbfd1c5836f625324702158" -"checksum inflate 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e7e0062d2dc2f17d2f13750d95316ae8a2ff909af0fda957084f5defd87c43bb" -"checksum jpeg-decoder 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "919d49b634cde303392353c5dd51153ec005a1a981c6f4b8277692a51e9d260d" -"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" -"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" -"checksum lazycell 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce12306c4739d86ee97c23139f3a34ddf0387bbf181bc7929d287025a8c3ef6b" -"checksum libc 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "e32a70cf75e5846d53a673923498228bbec6a8624708a9ea5645f075d6276122" -"checksum libc 0.2.22 (registry+https://github.com/rust-lang/crates.io-index)" = "babb8281da88cba992fa1f4ddec7d63ed96280a1a53ec9b919fd37b53d71e502" -"checksum libflate 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7aa60ce680c15f96b74bd6208256f112049ab20fd6da510f27f82cb78323a77" -"checksum libgo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "99a64661b7d5c8b2ccb779e3fb0ced098426bb9bfbded934aa76ef227300e0cf" -"checksum liner 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f9e406164c25b420480023985bdf65cef366855666ad4cb12cd3eaee82dcb399" -"checksum linked-hash-map 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)" = "f26e961e0c884309cd527b1402a5409d35db612b36915d755e1a4f5c1547a31c" -"checksum linked_list_allocator 0.2.5 (git+https://github.com/phil-opp/linked-list-allocator.git)" = "" -"checksum log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "5141eca02775a762cc6cd564d8d2c50f67c0ea3a372cbf1c51592b3e029e10ad" -"checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" -"checksum mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" -"checksum malloc_buf 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -"checksum matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efd7622e3022e1a6eaa602c4cea8912254e5582c9c692e9167714182244801b1" -"checksum memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20" -"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" -"checksum metadeps 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "829fffe7ea1d747e23f64be972991bc516b2f1ac2ae4a3b33d8bea150c410151" -"checksum mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5514f038123342d01ee5f95129e4ef1e0470c93bc29edf058a46f9ee3ba6737e" -"checksum mime_guess 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76da6df85047af8c0edfa53f48eb1073012ce1cc95c8fedc0a374f659a89dd65" -"checksum miniz-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "28eaee17666671fa872e567547e8428e83308ebe5808cdf6a0e28397dbe2c726" -"checksum miow 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3e690c5df6b2f60acd45d56378981e827ff8295562fc8d34f573deb267a59cd1" -"checksum net2 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" = "bc01404e7568680f1259aa5729539f221cb1e6d047a0d9053cab4be8a73b5d67" -"checksum netutils 0.1.0 (git+https://github.com/redox-os/netutils.git)" = "" -"checksum nix 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0d95c5fa8b641c10ad0b8887454ebaafa3c92b5cd5350f8fc693adafd178e7b" -"checksum nodrop 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "52cd74cd09beba596430cc6e3091b74007169a56246e1262f0ba451ea95117b2" -"checksum ntpclient 0.0.1 (git+https://github.com/willem66745/ntpclient-rust)" = "" -"checksum num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "98b15ba84e910ea7a1973bccd3df7b31ae282bf9d8bd2897779950c9b8303d40" -"checksum num-bigint 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ba6d838b16e56da1b6c383d065ff1ec3c7d7797f65a3e8f6ba7092fd87820bac" -"checksum num-complex 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "148eb324ca772230853418731ffdf13531738b50f89b30692a01fcdcb0a64677" -"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37" -"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e" -"checksum num-rational 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "c2dc5ea04020a8f18318ae485c751f8cfa1c0e69dcf465c29ddaaa64a313cc44" -"checksum num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "e1cbfa3781f3fe73dc05321bed52a06d2d491eaa764c52335cf4399f046ece99" -"checksum num_cpus 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca313f1862c7ec3e0dfe8ace9fa91b1d9cb5c84ace3d00f5ec4216238e93c167" -"checksum objc 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "877f30f37acef6749b1841cceab289707f211aecfc756553cd63976190e6cc2e" -"checksum objc-foundation 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -"checksum objc_id 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e4730aa1c64d722db45f7ccc4113a3e2c465d018de6db4d3e7dfe031e8c8a297" -"checksum octavo 0.1.1 (git+https://github.com/libOctavo/octavo.git)" = "" -"checksum octavo-digest 0.1.2 (git+https://github.com/libOctavo/octavo.git)" = "" -"checksum odds 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "c3df9b730298cea3a1c3faa90b7e2f9df3a9c400d0936d6015e6165734eefcba" -"checksum orbclient 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "06be24afab121c4167c8e9c9781e49b7c232f774815816b67c7c6aa7fc503cf1" -"checksum orbfont 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "da4dfbc851e5c24c3cf1e16ec5222f868f3362d2b7493d0b53051fe2669267a2" -"checksum orbimage 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "c3b031607ef7a3c562949dfb595b1ea2b2d697b14544af407242a52dce811a6f" -"checksum orbtk 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)" = "2bca50ac6874107a922dd26dc79889b963afce69075940463ce026b5281bf9f1" -"checksum pager 0.1.0 (git+https://github.com/redox-os/libpager.git)" = "" -"checksum peg 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a85e13cbc4888df1091443e418a772c94163ab5a9cfcfe57d7fcf6ab1057b3c2" -"checksum permutate 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b4ba980af238a6d6fcc0df53fe0d7920376bc4ce2c6ce298992891a230b47a8" -"checksum phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "cb325642290f28ee14d8c6201159949a872f220c62af6e110a56ea914fbe42fc" -"checksum phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d62594c0bb54c464f633175d502038177e90309daf2e0158be42ed5f023ce88f" -"checksum phf_generator 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "6b07ffcc532ccc85e3afc45865469bf5d9e4ef5bfcf9622e3cfe80c2d275ec03" -"checksum phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "07e24b0ca9643bdecd0632f2b3da6b1b89bbb0030e0b992afc1113b23a7bc2f2" -"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" -"checksum pkgutils 0.1.0 (git+https://github.com/redox-os/pkgutils.git)" = "" -"checksum png 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "06208e2ee243e3118a55dda9318f821f206d8563fb8d4df258767f8e62bb0997" -"checksum png 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3cb773e9a557edb568ce9935cf783e3cdcabe06a9449d41b3e5506d88e582c82" -"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" -"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" -"checksum ransid 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "e870a7ce03758d35a3b71e8cf07a38d84249aa545a49e8a7515afb0c12d33727" -"checksum raw-cpuid 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13b844e4049605ff38fed943f5c7b2c691fad68d9d5bf074d2720554c4e48246" -"checksum raw-cpuid 3.0.0 (git+https://github.com/gz/rust-cpuid)" = "" -"checksum rayon 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8c83adcb08e5b922e804fe1918142b422602ef11f2fd670b0b52218cb5984a20" -"checksum rayon-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "767d91bacddf07d442fe39257bf04fd95897d1c47c545d009f6beb03efd038f8" -"checksum redox_event 0.1.0 (git+https://github.com/redox-os/event.git)" = "" -"checksum redox_event 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98e1a40d38f45a3ad65fd088640eeee7b215adcd73041b9f94b92204cca9572a" -"checksum redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "29dbdfd4b9df8ab31dec47c6087b7b13cbf4a776f335e4de8efba8288dda075b" -"checksum regex 0.1.80 (registry+https://github.com/rust-lang/crates.io-index)" = "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f" -"checksum regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01" -"checksum regex-syntax 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957" -"checksum regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457" -"checksum resize 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e8f5c5cf4d79776ed121e1c5052718b4bb06d2b48049144a2f0e5ad613b608e" -"checksum ring 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "621adad0185f587ad058bbecededfa2413f5f2e999563bc96349dead9e00d25c" -"checksum ropey 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ffbce36196db96680b526bc2e2e27f23003e5ffab07271a176646c26dd0028b" -"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" -"checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084" -"checksum rustls 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fcfb2a577b14dca9caf13e6c6aa86d61158aa677347fbc155e5a1dac0f3b718f" -"checksum rusttype 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c64ffc93b0cc5a6f5e5e84da2a4082b0271e0a1dd76e821bdac570bda7797e" -"checksum same-file 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" -"checksum scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef399c8893e8cb7aa9696e895427fab3a6bf265977bb96e126f24ddd2cda85a" -"checksum scroll 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39c82d0508f6a56bdb409031382d62e9fa7f5e198fa04dfc06a7a96f1dfc101d" -"checksum sdl2 0.29.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c366cfa1f22d001774214ce2fb13f369af760b016bc79cc62d7f5ae15c00fea" -"checksum sdl2-sys 0.27.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8d9f87e3d948f94f2d8688970422f49249c20e97f8f3aad76cb8729901d4eb10" -"checksum semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac" -"checksum serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "c97b18e9e53de541f11e497357d6c5eaeb39f0cb9c8734e274abe4935f6991fa" -"checksum serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" -"checksum serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af" -"checksum serde 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3b46a59dd63931010fdb1d88538513f3279090d88b5c22ef4fe8440cfffcc6e3" -"checksum serde_codegen 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c5d8a33087d8984f9535daa62a6498a08f6476050b00ab9339dd847e4c25cc" -"checksum serde_codegen_internals 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "afad7924a009f859f380e4a2e3a509a845c2ac66435fcead74a4d983b21ae806" -"checksum serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400" -"checksum serde_derive 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "ce44e5f4264b39e9d29c875357b7cc3ebdfb967bb9e22bfb5e44ffa400af5306" -"checksum serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba" -"checksum serde_derive 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6c06b68790963518008b8ae0152d48be4bbbe77015d2c717f6282eea1824be9a" -"checksum serde_derive_internals 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "021c338d22c7e30f957a6ab7e388cb6098499dda9fd4ba1661ee074ca7a180d1" -"checksum serde_json 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b5aaee47e038bf9552d30380d3973fff2593ee0a76d81ad4c581f267cdcadf36" -"checksum siphasher 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0df90a788073e8d0235a67e50441d47db7c8ad9debd91cbf43736a2a92d36537" -"checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" -"checksum smallstring 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30950abdb5b38f56a0e181ae56ed64a539b64fa77ea6325147203dc7faeb087f" -"checksum smallvec 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4f8266519bc1d17d0b5b16f6c21295625d562841c708f6376f49028a43e9c11e" -"checksum spin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1d16a26e2b789f86aabddbe91cb82ee2e822beb8a59840d631941b625ef77e53" -"checksum static-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6da6a96247d4b372d3ed90dec2c129ab57c934359ac4c6adbaa5871cd0737437" -"checksum stb_truetype 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21b5c3b588a493a477e0d99769ee091b3627625f9ba4bdd882e6b4b0b0958805" -"checksum string_cache 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c4d192db2123fac37399e1ca61557904a5c3fb6fc24c73d2e47b15d20dc32470" -"checksum string_cache_codegen 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0c9dfe1a7c8bba1ecb90730d269fdc08afe93d23c28dd6c4aa5cabd79a05a05e" -"checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc" -"checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694" -"checksum syn 0.10.8 (registry+https://github.com/rust-lang/crates.io-index)" = "58fd09df59565db3399efbba34ba8a2fec1307511ebd245d0061ff9d42691673" -"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" -"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" -"checksum tar 0.4.11 (git+https://github.com/redox-os/tar-rs.git)" = "" -"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6" -"checksum tendril 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4ce04c250d202db8004921e3d3bc95eaa4f2126c6937a428ae39d12d0e38df62" -"checksum termion 1.3.0 (git+https://github.com/redox-os/termion.git)" = "" -"checksum termion 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8b41865823fb8c7873ff869893219b3188e7fcd66c10effb97f2b2f63ea98681" -"checksum thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03" -"checksum thread-id 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4437c97558c70d129e40629a5b385b3fb1ffac301e63941335e4d354081ec14a" -"checksum thread-scoped 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14387dce246d09efe184c8ebc34d9db5c0672a908b2f50efc53359ae13d5ae68" -"checksum thread_local 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5" -"checksum thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7" -"checksum time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "ffd7ccbf969a892bf83f1e441126968a07a3941c24ff522a26af9f9f4585d1a3" -"checksum toml 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "736b60249cb25337bc196faa43ee12c705e426f3d55c214d73a4e7be06f92cb4" -"checksum toml 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bd86ad9ebee246fdedd610e0f6d0587b754a3d81438db930a244d0480ed7878f" -"checksum toml 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3063405db158de3dce8efad5fc89cf1baffb9501a3647dc9505ba109694ce31f" -"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" -"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887" -"checksum typenum 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f06b0aa9c30a626496836e8de28bd2910cf6c8614e9579c9f8644b0a5d8fb0f5" -"checksum unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "13a5906ca2b98c799f4b1ab4557b76367ebd6ae5ef14930ec841c74aed5f3764" -"checksum unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d3a078ebdd62c0e71a709c3d53d2af693fe09fe93fbff8344aebe289b78f9032" -"checksum unicode-normalization 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e28fa37426fceeb5cf8f41ee273faa7c82c47dc8fba5853402841e665fcd86ff" -"checksum unicode-segmentation 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18127285758f0e2c6cf325bb3f3d138a12fee27de4f23e146cd6a179f26c2cf3" -"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f" -"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" -"checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91" -"checksum untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "193df64312e3515fd983ded55ad5bcaa7647a035804828ed757e832ce6029ef3" -"checksum url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5ba8a749fb4479b043733416c244fa9d1d3af3d7c23804944651c8a448cb87e" -"checksum user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ef4711d107b21b410a3a974b1204d9accc8b10dad75d8324b5d755de1617d47" -"checksum users 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7ae8fdf783cb9652109c99886459648feb92ecc749e6b8e7930f6decba74c7c" -"checksum userutils 0.1.0 (git+https://github.com/redox-os/userutils.git)" = "" -"checksum utf-8 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9aee9ba280438b56d1ebc5329f2094f0ff457f811eeeff0b278d75aa99db400" -"checksum utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f" -"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" -"checksum version-compare 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cb766fdc689f3a5e38b2a0eb9dff9ac4a8961c09bb99064ecf88702a39b1992e" -"checksum version_check 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f2edadb5308f31d97771a678c33df28f18d04f61de3fe21b9452f37854eb6c08" -"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" -"checksum walkdir 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "c66c0b9792f0a765345452775f3adbd28dde9d33f30d13e5dcc5ae17cf6f3780" -"checksum walkdir 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" -"checksum webpki 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4155c3a648038ca6b3568ab34e7da1866592ef40b2543fea412461364ef3cbfc" -"checksum webpki-roots 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f611ac968bda097564945980dfcbb840fb6e0380b9d9d34ac6e4c6067ecb3060" -"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -"checksum windows-error 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d8570474f84367116f48f9fb2ae3e0347600029909096a15a5e6509bd4a03c50" -"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -"checksum x11 2.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab7c9c8fcd61c1453aa7506d45be2fa916512f0c4ec985ef20bba3d575a23a6" -"checksum x86 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "127728f29f7cfb243a9264c80fc7e57bd1abb3ab015850b05736efda2abe5859" -"checksum xattr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "5f04de8a1346489a2f9e9bd8526b73d135ec554227b17568456e86aa35b6f3fc" diff --git a/Cargo.toml b/Cargo.toml deleted file mode 100644 index 5513d32..0000000 --- a/Cargo.toml +++ /dev/null @@ -1,74 +0,0 @@ -[workspace] -exclude = ["cookbook"] -members = [ - "docgen", - "drivers/ahcid", - "drivers/alxd", - "drivers/bgad", - "drivers/e1000d", - "drivers/nvmed", - "drivers/pcid", - "drivers/ps2d", - "drivers/rtl8168d", - "drivers/vboxd", - "drivers/vesad", - "drivers/xhcid", - "installer", - "kernel", - "libs/event", - "libs/extra", - "libs/jpeg-decoder", - "libs/mio", - "libs/orbclient", - "libs/orbfont", - "libs/orbimage", - "libs/orbtk", - "libs/pager", - #TODO "libs/ralloc", - "libs/ransid", - "libs/same-file", - "libs/syscall", - "libs/tar", - "libs/termion", - "programs/acid", - "programs/binutils", - "programs/contain", - "programs/coreutils", - "programs/extrautils", - "programs/games", - "programs/init", - "programs/ion", - "programs/netutils", - "programs/orbterm", - "programs/orbutils", - "programs/pkgutils", - "programs/smith", - "programs/sodium", - "programs/timeout", - "programs/userutils", - "schemes/ethernetd", - "schemes/ipd", - "schemes/orbital", - "schemes/ptyd", - "schemes/randd", - "schemes/redoxfs", - "schemes/tcpd", - "schemes/udpd" -] - -[replace] -"extra:0.1.0" = { path = "libs/extra" } -"jpeg-decoder:0.1.12" = { path = "libs/jpeg-decoder" } -"mio:0.6.2" = { path = "libs/mio" } -"orbclient:0.3.4" = { path = "libs/orbclient" } -"orbfont:0.1.8" = { path = "libs/orbfont" } -"orbimage:0.1.15" = { path = "libs/orbimage" } -"orbtk:0.2.19" = { path = "libs/orbtk" } -"pager:0.1.0" = { path = "libs/pager" } -"ralloc:1.0.0" = { path = "libs/ralloc" } -"ransid:0.2.7" = { path = "libs/ransid" } -"redox_event:0.1.0" = { path = "libs/event" } -"redox_syscall:0.1.17" = { path = "libs/syscall" } -"same-file:0.1.2" = { path = "libs/same-file" } -"tar:0.4.11" = { path = "libs/tar" } -"termion:1.3.0" = { path = "libs/termion" } diff --git a/Makefile b/Makefile index 461c1fa..7eb8525 100644 --- a/Makefile +++ b/Makefile @@ -8,12 +8,8 @@ live: build/livedisk.bin iso: build/livedisk.iso clean: - cargo clean - cargo clean --manifest-path rust/src/libcollections/Cargo.toml - cargo clean --manifest-path rust/src/libstd/Cargo.toml + cargo clean --manifest-path kernel/Cargo.toml -$(FUMOUNT) build/filesystem/ || true - rm -rf initfs/bin - rm -rf filesystem/bin filesystem/sbin filesystem/ui/bin rm -rf build update: @@ -35,12 +31,6 @@ include mk/virtualbox.mk # Kernel recipes include mk/kernel.mk -# Userspace recipes -include mk/userspace/mod.mk - -# Documentation -include mk/doc.mk - # Filesystem recipes include mk/initfs.mk include mk/filesystem.mk diff --git a/bootloader b/bootloader index 5e5e080..787f018 160000 --- a/bootloader +++ b/bootloader @@ -1 +1 @@ -Subproject commit 5e5e080d618db036c632e096bdf6ce5c77b33bae +Subproject commit 787f0184fa96a227e51a7ce083a29b06f8945fd8 diff --git a/cookbook b/cookbook index 4a18e61..0506e36 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 4a18e61514133017e31d67d31931b1bee621f0c2 +Subproject commit 0506e3602e7e59de94a0e6c200d9aef82fe8e82c diff --git a/docgen b/docgen deleted file mode 160000 index 52fb886..0000000 --- a/docgen +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 52fb8863efdd0862b2439f87faff2457b43cac62 diff --git a/drivers b/drivers deleted file mode 160000 index 15675ea..0000000 --- a/drivers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 15675ea9c3de8b552743f83ec2f9a7bbba538c15 diff --git a/filesystem.toml b/filesystem.toml new file mode 100644 index 0000000..d876abe --- /dev/null +++ b/filesystem.toml @@ -0,0 +1,175 @@ +# This is the default configuration file + +# General settings +[general] +# Do not prompt if settings are not defined +prompt = false +sysroot = "build/filesystem" + +# Package settings +[packages] +acid = {} +binutils = {} +contain = {} +coreutils = {} +drivers = {} +extrautils = {} +games = {} +init = {} +installer = {} +ion = {} +lua = {} +netstack = {} +netutils = {} +orbdata = {} +orbital = {} +orbterm = {} +orbutils = {} +#pixelcannon = {} +pkgutils = {} +ptyd = {} +randd = {} +redoxfs = {} +smith = {} +#sodium = {} +userutils = {} + +# User settings +[users.root] +# Password is set to "password" +password = "$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk" +uid = 0 +gid = 0 +name = "root" +home = "/root" + +[users.user] +# Password is unset +password = "" + +[[files]] +path = "/etc/init.d/00_base" +data = """ +randd +ptyd +pcid /etc/pcid.toml +""" + +[[files]] +path = "/etc/init.d/10_net" +data = """ +ethernetd +ipd +tcpd +udpd +dhcpd -b +""" + +[[files]] +path = "/etc/init.d/20_orbital" +data = """ +orbital display:3/activate /ui/bin/orblogin /ui/bin/launcher +""" + +[[files]] +path = "/etc/init.d/30_console" +data = """ +getty display:2 +getty debug: -J +""" + +[[files]] +path = "/etc/net/dns" +data = "208.67.222.222" + +[[files]] +path = "/etc/net/ip" +data = "10.0.2.15" + +[[files]] +path = "/etc/net/ip_router" +data = "10.0.2.2" + +[[files]] +path = "/etc/net/ip_subnet" +data = "255.255.255.0" + +[[files]] +path = "/etc/net/mac" +data = "00.00.00.00.00.00" + +[[files]] +path = "/etc/pkg.d/50_redox" +data = "https://static.redox-os.org/pkg" + +[[files]] +path = "/etc/group" +data = "sudo;1;user" + +[[files]] +path = "/etc/hostname" +data = "redox" + +[[files]] +path = "/etc/issue" +data = """ +########## Redox OS ########## +# Login with the following: # +# `user` # +# `root`:`password` # +############################## + +""" + +[[files]] +path = "/etc/motd" +data = """ +Welcome to Redox OS! + +""" + +[[files]] +path = "/etc/pcid.toml" +data = """ +[[drivers]] +name = "82543GC NIC" +class = 2 +vendor = 32902 +device = 4100 +command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] + +[[drivers]] +name = "82540EM NIC" +class = 2 +vendor = 32902 +device = 4110 +command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] + +[[drivers]] +name = "82545EM NIC" +class = 2 +vendor = 32902 +device = 4111 +command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] + +[[drivers]] +name = "82579V NIC" +class = 2 +vendor = 32902 +device = 5379 +command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] + +[[drivers]] +name = "RTL8168 NIC" +class = 2 +vendor = 4332 +device = 33128 +command = ["rtl8168d", "$NAME", "$BAR2", "$IRQ"] + +[[drivers]] +name = "XHCI" +class = 12 +subclass = 3 +interface = 48 +command = ["xhcid", "$NAME", "$BAR0", "$IRQ"] +""" diff --git a/filesystem/etc/group b/filesystem/etc/group deleted file mode 100644 index 62fcd49..0000000 --- a/filesystem/etc/group +++ /dev/null @@ -1 +0,0 @@ -sudo;1;user diff --git a/filesystem/etc/hostname b/filesystem/etc/hostname deleted file mode 100644 index 5e07ae0..0000000 --- a/filesystem/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -redox diff --git a/filesystem/etc/init.d/00_base b/filesystem/etc/init.d/00_base deleted file mode 100644 index d34f472..0000000 --- a/filesystem/etc/init.d/00_base +++ /dev/null @@ -1,3 +0,0 @@ -/sbin/randd -/sbin/ptyd -/sbin/pcid /etc/pcid.toml diff --git a/filesystem/etc/init.d/10_net b/filesystem/etc/init.d/10_net deleted file mode 100644 index 21de468..0000000 --- a/filesystem/etc/init.d/10_net +++ /dev/null @@ -1,5 +0,0 @@ -/sbin/ethernetd -/sbin/ipd -/sbin/tcpd -/sbin/udpd -dhcpd -b diff --git a/filesystem/etc/init.d/20_orbital b/filesystem/etc/init.d/20_orbital deleted file mode 100644 index 583ebd1..0000000 --- a/filesystem/etc/init.d/20_orbital +++ /dev/null @@ -1 +0,0 @@ -/sbin/orbital display:3/activate /ui/bin/orblogin /ui/bin/launcher diff --git a/filesystem/etc/init.d/30_console b/filesystem/etc/init.d/30_console deleted file mode 100644 index c981568..0000000 --- a/filesystem/etc/init.d/30_console +++ /dev/null @@ -1,2 +0,0 @@ -getty display:2 -getty debug: -J diff --git a/filesystem/etc/installer.toml b/filesystem/etc/installer.toml deleted file mode 100644 index 34347d2..0000000 --- a/filesystem/etc/installer.toml +++ /dev/null @@ -1,45 +0,0 @@ -# This is the default configuration file - -# General settings -[general] -# Do not prompt if settings are not defined -prompt = false - -# Package settings -[packages] -coreutils = {} -extrautils = {} -ion = {} -netutils = {} -pkgutils = {} -tar = {} -userutils = {} - -[[files]] -path = "/etc/net/dns" -data = "208.67.222.222" - -[[files]] -path = "/etc/net/ip" -data = "10.0.2.15" - -[[files]] -path = "/etc/net/ip_router" -data = "10.0.2.2" - -[[files]] -path = "/etc/net/ip_subnet" -data = "255.255.255.0" - -[[files]] -path = "/etc/pkg.d/50_redox" -data = "https://static.redox-os.org/pkg" - -# User settings -[users.root] -# Password is set to "password" -password = "$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk" -uid = 0 -gid = 0 -name = "root" -home = "/root" diff --git a/filesystem/etc/issue b/filesystem/etc/issue deleted file mode 100644 index 6a963d8..0000000 --- a/filesystem/etc/issue +++ /dev/null @@ -1,6 +0,0 @@ -########## Redox OS ########## -# Login with the following: # -# `user` # -# `root`:`password` # -############################## - diff --git a/filesystem/etc/motd b/filesystem/etc/motd deleted file mode 100644 index 5cd097a..0000000 --- a/filesystem/etc/motd +++ /dev/null @@ -1,2 +0,0 @@ -Welcome to Redox OS! - diff --git a/filesystem/etc/net/dns b/filesystem/etc/net/dns deleted file mode 100644 index 85e3287..0000000 --- a/filesystem/etc/net/dns +++ /dev/null @@ -1 +0,0 @@ -208.67.222.222 diff --git a/filesystem/etc/net/ip b/filesystem/etc/net/ip deleted file mode 100644 index b86c8a7..0000000 --- a/filesystem/etc/net/ip +++ /dev/null @@ -1 +0,0 @@ -10.0.2.15 diff --git a/filesystem/etc/net/ip_router b/filesystem/etc/net/ip_router deleted file mode 100644 index 2e66646..0000000 --- a/filesystem/etc/net/ip_router +++ /dev/null @@ -1 +0,0 @@ -10.0.2.2 diff --git a/filesystem/etc/net/ip_subnet b/filesystem/etc/net/ip_subnet deleted file mode 100644 index d30f9e9..0000000 --- a/filesystem/etc/net/ip_subnet +++ /dev/null @@ -1 +0,0 @@ -255.255.255.0 diff --git a/filesystem/etc/net/mac b/filesystem/etc/net/mac deleted file mode 100644 index f02dd3e..0000000 --- a/filesystem/etc/net/mac +++ /dev/null @@ -1 +0,0 @@ -00.00.00.00.00.00 diff --git a/filesystem/etc/passwd b/filesystem/etc/passwd deleted file mode 100644 index 7baaf91..0000000 --- a/filesystem/etc/passwd +++ /dev/null @@ -1,2 +0,0 @@ -root;$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk;0;0;root;/root;/bin/ion -user;;1000;1000;user;/home/user;/bin/ion diff --git a/filesystem/etc/pcid.toml b/filesystem/etc/pcid.toml deleted file mode 100644 index ca097ce..0000000 --- a/filesystem/etc/pcid.toml +++ /dev/null @@ -1,41 +0,0 @@ -[[drivers]] -name = "82543GC NIC" -class = 2 -vendor = 32902 -device = 4100 -command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "82540EM NIC" -class = 2 -vendor = 32902 -device = 4110 -command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "82545EM NIC" -class = 2 -vendor = 32902 -device = 4111 -command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "82579V NIC" -class = 2 -vendor = 32902 -device = 5379 -command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "RTL8168 NIC" -class = 2 -vendor = 4332 -device = 33128 -command = ["/sbin/rtl8168d", "$NAME", "$BAR2", "$IRQ"] - -[[drivers]] -name = "XHCI" -class = 12 -subclass = 3 -interface = 48 -command = ["/sbin/xhcid", "$NAME", "$BAR0", "$IRQ"] diff --git a/filesystem/etc/pkg.d/50_redox b/filesystem/etc/pkg.d/50_redox deleted file mode 100644 index 4048482..0000000 --- a/filesystem/etc/pkg.d/50_redox +++ /dev/null @@ -1 +0,0 @@ -https://static.redox-os.org/pkg diff --git a/filesystem/home/user/LICENSE b/filesystem/home/user/LICENSE deleted file mode 120000 index 5853aae..0000000 --- a/filesystem/home/user/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../../../LICENSE \ No newline at end of file diff --git a/filesystem/home/user/README.md b/filesystem/home/user/README.md deleted file mode 120000 index 8a33348..0000000 --- a/filesystem/home/user/README.md +++ /dev/null @@ -1 +0,0 @@ -../../../README.md \ No newline at end of file diff --git a/filesystem/root/LICENSE b/filesystem/root/LICENSE deleted file mode 120000 index 30cff74..0000000 --- a/filesystem/root/LICENSE +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE \ No newline at end of file diff --git a/filesystem/root/README.md b/filesystem/root/README.md deleted file mode 120000 index fe84005..0000000 --- a/filesystem/root/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/filesystem/ui b/filesystem/ui deleted file mode 160000 index d6a5749..0000000 --- a/filesystem/ui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d6a5749d61df72e8a339335be5429d843fa401b1 diff --git a/initfs/etc/pcid.toml b/initfs.toml similarity index 56% rename from initfs/etc/pcid.toml rename to initfs.toml index da0c570..c64b788 100644 --- a/initfs/etc/pcid.toml +++ b/initfs.toml @@ -1,3 +1,34 @@ +# This is the default configuration file + +# General settings +[general] +# Do not prompt if settings are not defined +prompt = false +sysroot = "build/initfs" + +# Package settings +[packages] +drivers = {} +init = {} +redoxfs = {} + +[[files]] +path="/etc/init.rc" +data=""" +export PATH initfs:/bin +vesad T T G +stdio display:1 +ps2d +pcid /etc/pcid.toml +redoxfs disk:0 file +cd file: +export PATH file:/bin +run.d /etc/init.d +""" + +[[files]] +path="/etc/pcid.toml" +data=""" [[drivers]] name = "AHCI storage" class = 1 @@ -30,3 +61,4 @@ class = 8 vendor = 33006 device = 51966 command = ["vboxd", "$NAME", "$BAR0", "$BAR1", "$IRQ"] +""" diff --git a/initfs/etc/init.rc b/initfs/etc/init.rc deleted file mode 100644 index bd7548b..0000000 --- a/initfs/etc/init.rc +++ /dev/null @@ -1,9 +0,0 @@ -export PATH initfs:/bin -vesad T T G -stdio display:1 -ps2d -pcid /etc/pcid.toml -redoxfs disk:0 file -cd file: -export PATH file:/bin -run.d /etc/init.d diff --git a/installer b/installer index c2bae24..318e7bb 160000 --- a/installer +++ b/installer @@ -1 +1 @@ -Subproject commit c2bae24835735df247e27093aa43bd1d0fe2a655 +Subproject commit 318e7bb89f37228984bc92976ecdb28adb63dcf0 diff --git a/kernel b/kernel index b3a25bd..62d3f4b 160000 --- a/kernel +++ b/kernel @@ -1 +1 @@ -Subproject commit b3a25bd3a39cd527b80d5ab2ea0da56a91e10540 +Subproject commit 62d3f4bd93c425b263bd9b762632f4601e0ec1c5 diff --git a/krustc.sh b/krustc.sh deleted file mode 100755 index cc510e8..0000000 --- a/krustc.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -have_o=false -for arg in "$@"; do - if [[ "$arg" = "-o" ]]; then - have_o=true - break - fi -done - -args=() -for arg in "$@"; do - if [[ $have_o = true && "$arg" =~ ^extra-filename= ]]; then - unset args[${#args[@]}-1] - elif [[ $have_o = true && "$arg" =~ ^--emit= ]]; then - args+=("--emit=link") - else - args+=("$arg") - fi -done - -RUST_BACKTRACE=1 exec rustc -L build/kernel "${args[@]}" diff --git a/krustdoc.sh b/krustdoc.sh deleted file mode 100755 index 8365834..0000000 --- a/krustdoc.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -RUST_BACKTRACE=1 rustdoc -L build/kernel $* diff --git a/libc-artifacts b/libc-artifacts deleted file mode 160000 index ecd2edd..0000000 --- a/libc-artifacts +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ecd2edd8935177cf9f160ae6ec11c22ee3a0a249 diff --git a/libs/event b/libs/event deleted file mode 160000 index 1333e64..0000000 --- a/libs/event +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1333e640e1c58cf3808372147f34e91ff0d7f13c diff --git a/libs/extra b/libs/extra deleted file mode 160000 index 4029320..0000000 --- a/libs/extra +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 402932084acd5fef4812945887ceaaa2ddd5f264 diff --git a/libs/jpeg-decoder b/libs/jpeg-decoder deleted file mode 160000 index 0660fc0..0000000 --- a/libs/jpeg-decoder +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0660fc061973598515ec5d39d03a1bc7e53d68f6 diff --git a/libs/mio b/libs/mio deleted file mode 160000 index a4f7f6a..0000000 --- a/libs/mio +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a4f7f6a4e106fa52702a2dc1c4b2bb747bd0bf9a diff --git a/libs/orbclient b/libs/orbclient deleted file mode 160000 index 4a31537..0000000 --- a/libs/orbclient +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4a3153798bd8d22380f057c07f1e77f8bd9a3cec diff --git a/libs/orbfont b/libs/orbfont deleted file mode 160000 index f554cec..0000000 --- a/libs/orbfont +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f554cec35c9614939590ec5d799d01a593d3c446 diff --git a/libs/orbimage b/libs/orbimage deleted file mode 160000 index cc3b593..0000000 --- a/libs/orbimage +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cc3b593a585e339819cafcd8133b22cc6242f84d diff --git a/libs/orbtk b/libs/orbtk deleted file mode 160000 index 9ff1aa4..0000000 --- a/libs/orbtk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9ff1aa42bdd7404585e5cf7f666e2a0f67c4e4be diff --git a/libs/pager b/libs/pager deleted file mode 160000 index 62b01eb..0000000 --- a/libs/pager +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 62b01eba8299143a1a5a78b36d85ab63251462b3 diff --git a/libs/ralloc b/libs/ralloc deleted file mode 160000 index e31a743..0000000 --- a/libs/ralloc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e31a743ec384bac8ecc0bdc82d63ae3534016416 diff --git a/libs/ransid b/libs/ransid deleted file mode 160000 index 20d2db3..0000000 --- a/libs/ransid +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 20d2db307bc9926a33f437b688925ba3a37821c2 diff --git a/libs/same-file b/libs/same-file deleted file mode 160000 index d034b7f..0000000 --- a/libs/same-file +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d034b7f24b4a3eeb56baccbdcbfcdfce95940487 diff --git a/libs/syscall b/libs/syscall deleted file mode 160000 index 8630809..0000000 --- a/libs/syscall +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 863080967dfee40e0a0c74936e43e79161e0aa6e diff --git a/libs/tar b/libs/tar deleted file mode 160000 index 1ccf2ba..0000000 --- a/libs/tar +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1ccf2baf1703bd30807c3f11a8a874ea53af6f74 diff --git a/libs/termion b/libs/termion deleted file mode 160000 index 550b9ea..0000000 --- a/libs/termion +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 550b9ea50a11c838533a0cf2cd9c8f7584927cdb diff --git a/mk/config.mk b/mk/config.mk index b6567e9..db36a11 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -7,7 +7,6 @@ ifeq ($(UNAME),Darwin) ECHO=/bin/echo FUMOUNT=sudo umount export LD=$(ARCH)-elf-ld - export LDFLAGS=--gc-sections export NPROC=sysctl -n hw.ncpu export STRIP=$(ARCH)-elf-strip VB_AUDIO=coreaudio @@ -16,7 +15,6 @@ else ECHO=echo FUMOUNT=fusermount -u export LD=ld - export LDFLAGS=--gc-sections export NPROC=nproc export STRIP=strip VB_AUDIO="pulse" @@ -25,23 +23,14 @@ endif # Automatic variables ROOT=$(PWD) +export INITFS_FOLDER=$(ROOT)/build/initfs export RUST_TARGET_PATH=$(ROOT)/kernel/targets -export CC=$(ROOT)/libc-artifacts/gcc.sh -export CFLAGS=-fno-stack-protector -U_FORTIFY_SOURCE +export XARGO_RUST_SRC=$(ROOT)/rust/src # Kernel variables KTARGET=$(ARCH)-unknown-none KBUILD=build/kernel -KRUSTC=./krustc.sh -KRUSTDOC=./krustdoc.sh -KCARGO=RUSTC="$(KRUSTC)" RUSTDOC="$(KRUSTDOC)" CARGO_INCREMENTAL=1 cargo -KCARGOFLAGS=--target $(KTARGET) --release -- -C soft-float # Userspace variables export TARGET=$(ARCH)-unknown-redox BUILD=build/userspace -export INITFS_FOLDER=$(ROOT)/initfs -RUSTC=$(PWD)/rustc.sh -RUSTDOC=./rustdoc.sh -CARGO=RUSTC="$(RUSTC)" RUSTDOC="$(RUSTDOC)" CARGO_INCREMENTAL=1 cargo -CARGOFLAGS=--target $(TARGET) --release -- -C codegen-units=`$(NPROC)` diff --git a/mk/disk.mk b/mk/disk.mk index bf4996e..d0a8972 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -1,7 +1,7 @@ -build/harddrive.bin: $(KBUILD)/kernel bootloader/$(ARCH)/** build/filesystem.bin +build/harddrive.bin: build/kernel bootloader/$(ARCH)/** build/filesystem.bin nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/harddrive.asm -build/livedisk.bin: $(KBUILD)/kernel_live bootloader/$(ARCH)/** +build/livedisk.bin: build/kernel_live bootloader/$(ARCH)/** nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/livedisk.asm build/%.bin.gz: build/%.bin diff --git a/mk/doc.mk b/mk/doc.mk deleted file mode 100644 index 78371f7..0000000 --- a/mk/doc.mk +++ /dev/null @@ -1,13 +0,0 @@ -doc: $(KBUILD)/libkernel.a $(BUILD)/libstd.rlib FORCE - $(KCARGO) doc --target $(KTARGET) --manifest-path kernel/Cargo.toml - $(CARGO) doc --target $(TARGET) --manifest-path rust/src/libstd/Cargo.toml - -ref: FORCE - rm -rf filesystem/ref/ - mkdir -p filesystem/ref/ - #cargo run --manifest-path docgen/Cargo.toml -- programs/binutils/src/bin/ filesystem/ref/ - cargo run --manifest-path docgen/Cargo.toml -- programs/coreutils/src/bin/ filesystem/ref/ - cargo run --manifest-path docgen/Cargo.toml -- programs/extrautils/src/bin/ filesystem/ref/ - cargo run --manifest-path docgen/Cargo.toml -- programs/netutils/src/ filesystem/ref/ - cargo run --manifest-path docgen/Cargo.toml -- programs/pkgutils/src/ filesystem/ref/ - cargo run --manifest-path docgen/Cargo.toml -- programs/userutils/src/ filesystem/ref/ diff --git a/mk/filesystem.mk b/mk/filesystem.mk index d1eb674..cce220b 100644 --- a/mk/filesystem.mk +++ b/mk/filesystem.mk @@ -1,14 +1,14 @@ -build/filesystem.bin: userspace +build/filesystem.bin: filesystem.toml -$(FUMOUNT) build/filesystem/ || true rm -rf $@ build/filesystem/ dd if=/dev/zero of=$@ bs=1048576 count=128 - cargo run --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@ + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@ mkdir -p build/filesystem/ - cargo build --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs - cargo run --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@ build/filesystem/ + cargo build --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@ build/filesystem/ sleep 2 pgrep redoxfs - cp -RL filesystem/* build/filesystem/ + cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook $< chown -R 0:0 build/filesystem chown -R 1000:1000 build/filesystem/home/user chmod -R uog+rX build/filesystem @@ -30,8 +30,8 @@ build/filesystem.bin: userspace mount: FORCE mkdir -p build/filesystem/ - cargo build --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs - cargo run --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- build/harddrive.bin build/filesystem/ + cargo build --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- build/harddrive.bin build/filesystem/ sleep 2 pgrep redoxfs diff --git a/mk/initfs.mk b/mk/initfs.mk index c6b9500..d335f12 100644 --- a/mk/initfs.mk +++ b/mk/initfs.mk @@ -1,17 +1,3 @@ -$(KBUILD)/initfs.tag: initfs/bin/init \ - initfs/bin/ahcid \ - initfs/bin/bgad \ - initfs/bin/nvmed \ - initfs/bin/pcid \ - initfs/bin/ps2d \ - initfs/bin/redoxfs \ - initfs/bin/vboxd \ - initfs/bin/vesad \ - initfs/etc/** - $(KCARGO) clean --manifest-path kernel/Cargo.toml - touch $@ - -initfs/bin/%: programs/%/Cargo.toml programs/%/src/** $(BUILD)/libstd.rlib - mkdir -p initfs/bin - $(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@ - $(STRIP) $@ +build/initfs.tag: initfs.toml + cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook $< + touch $@ diff --git a/mk/kernel.mk b/mk/kernel.mk index 5d56370..6b9cc48 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -1,16 +1,11 @@ -$(KBUILD)/libcollections.rlib: rust/src/libcollections/Cargo.toml rust/src/libcollections/** - mkdir -p $(KBUILD) - $(KCARGO) rustc --manifest-path $< $(KCARGOFLAGS) -o $@ - cp rust/src/target/$(KTARGET)/release/deps/*.rlib $(KBUILD) +build/libkernel.a: kernel/Cargo.toml kernel/src/** build/initfs.tag + cd kernel && xargo rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@ -$(KBUILD)/libkernel.a: kernel/Cargo.toml kernel/src/** $(KBUILD)/libcollections.rlib $(KBUILD)/initfs.tag - $(KCARGO) rustc --manifest-path $< --lib $(KCARGOFLAGS) -o $@ +build/libkernel_live.a: kernel/Cargo.toml kernel/src/** build/initfs.tag build/filesystem.bin + cd kernel && xargo rustc --lib --features live --target $(KTARGET) --release -- -C soft-float --emit link=../$@ -$(KBUILD)/libkernel_live.a: kernel/Cargo.toml kernel/src/** $(KBUILD)/libcollections.rlib $(KBUILD)/initfs.tag build/filesystem.bin - $(KCARGO) rustc --manifest-path $< --lib --features live $(KCARGOFLAGS) -o $@ +build/kernel: build/libkernel.a + $(LD) --gc-sections -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $< -$(KBUILD)/kernel: $(KBUILD)/libkernel.a - $(LD) $(LDFLAGS) -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $< - -$(KBUILD)/kernel_live: $(KBUILD)/libkernel_live.a - $(LD) $(LDFLAGS) -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $< +build/kernel_live: build/libkernel_live.a + $(LD) --gc-sections -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $< diff --git a/mk/userspace/coreutils.mk b/mk/userspace/coreutils.mk deleted file mode 100644 index 8e330c3..0000000 --- a/mk/userspace/coreutils.mk +++ /dev/null @@ -1,46 +0,0 @@ -coreutils: \ - filesystem/bin/basename \ - filesystem/bin/cat \ - filesystem/bin/chmod \ - filesystem/bin/clear \ - filesystem/bin/cp \ - filesystem/bin/cut \ - filesystem/bin/date \ - filesystem/bin/dd \ - filesystem/bin/df \ - filesystem/bin/du \ - filesystem/bin/echo \ - filesystem/bin/env \ - filesystem/bin/false \ - filesystem/bin/free \ - filesystem/bin/head \ - filesystem/bin/kill \ - filesystem/bin/ln \ - filesystem/bin/ls \ - filesystem/bin/mkdir \ - filesystem/bin/mv \ - filesystem/bin/printenv \ - filesystem/bin/ps \ - filesystem/bin/pwd \ - filesystem/bin/realpath \ - filesystem/bin/reset \ - filesystem/bin/rmdir \ - filesystem/bin/rm \ - filesystem/bin/seq \ - filesystem/bin/shutdown \ - filesystem/bin/sleep \ - filesystem/bin/sort \ - filesystem/bin/tail \ - filesystem/bin/tee \ - filesystem/bin/test \ - filesystem/bin/time \ - filesystem/bin/touch \ - filesystem/bin/true \ - filesystem/bin/wc \ - filesystem/bin/which \ - filesystem/bin/yes - -filesystem/bin/%: programs/coreutils/Cargo.toml programs/coreutils/src/bin/%.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/drivers.mk b/mk/userspace/drivers.mk deleted file mode 100644 index b3d06bc..0000000 --- a/mk/userspace/drivers.mk +++ /dev/null @@ -1,15 +0,0 @@ -drivers: \ - filesystem/sbin/pcid \ - filesystem/sbin/e1000d \ - filesystem/sbin/rtl8168d \ - filesystem/sbin/xhcid - -initfs/bin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib - mkdir -p initfs/bin - $(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@ - $(STRIP) $@ - -filesystem/sbin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib - mkdir -p filesystem/sbin - $(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/extrautils.mk b/mk/userspace/extrautils.mk deleted file mode 100644 index ceb4c17..0000000 --- a/mk/userspace/extrautils.mk +++ /dev/null @@ -1,21 +0,0 @@ -extrautils: \ - filesystem/bin/calc \ - filesystem/bin/cksum \ - filesystem/bin/cur \ - filesystem/bin/grep \ - filesystem/bin/gunzip \ - filesystem/bin/gzip \ - filesystem/bin/less \ - filesystem/bin/man \ - filesystem/bin/mdless \ - filesystem/bin/mtxt \ - filesystem/bin/rem \ - filesystem/bin/resize \ - filesystem/bin/screenfetch \ - filesystem/bin/tar - #filesystem/bin/dmesg filesystem/bin/info filesystem/bin/watch - -filesystem/bin/%: programs/extrautils/Cargo.toml programs/extrautils/src/bin/%.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/installer.mk b/mk/userspace/installer.mk deleted file mode 100644 index 448da59..0000000 --- a/mk/userspace/installer.mk +++ /dev/null @@ -1,7 +0,0 @@ -installer: \ - filesystem/bin/redox_installer - -filesystem/bin/redox_installer: installer/Cargo.toml installer/src/** $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin redox_installer $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/ion.mk b/mk/userspace/ion.mk deleted file mode 100644 index 48161a4..0000000 --- a/mk/userspace/ion.mk +++ /dev/null @@ -1,11 +0,0 @@ -ion: \ - filesystem/bin/ion \ - filesystem/bin/sh - -filesystem/test/ion: programs/ion/Cargo.toml programs/ion/src/** $(BUILD)/libstd.rlib $(BUILD)/libtest.rlib - mkdir -p filesystem/test - $(CARGO) test --no-run --manifest-path $< $(CARGOFLAGS) - cp programs/ion/target/$(TARGET)/release/deps/ion-* $@ - -filesystem/bin/sh: filesystem/bin/ion - cp $< $@ diff --git a/mk/userspace/mod.mk b/mk/userspace/mod.mk deleted file mode 100644 index 4edff9d..0000000 --- a/mk/userspace/mod.mk +++ /dev/null @@ -1,49 +0,0 @@ -userspace: \ - drivers \ - coreutils \ - extrautils \ - installer \ - ion \ - netutils \ - orbutils \ - pkgutils \ - userutils \ - schemes \ - filesystem/bin/acid \ - filesystem/bin/contain \ - filesystem/bin/smith \ - filesystem/bin/timeout \ - filesystem/ui/bin/orbterm \ - filesystem/ui/bin/sodium - -include mk/userspace/coreutils.mk -include mk/userspace/drivers.mk -include mk/userspace/extrautils.mk -include mk/userspace/installer.mk -include mk/userspace/ion.mk -include mk/userspace/netutils.mk -include mk/userspace/orbutils.mk -include mk/userspace/pkgutils.mk -include mk/userspace/schemes.mk -include mk/userspace/userutils.mk - -$(BUILD)/libstd.rlib: rust/src/libstd/Cargo.toml rust/src/libstd/** - mkdir -p $(BUILD) - $(CARGO) rustc --manifest-path $< --features "panic-unwind" $(CARGOFLAGS) -L native=libc-artifacts/usr/lib -o $@ - cp rust/src/target/$(TARGET)/release/deps/*.rlib $(BUILD) - -$(BUILD)/libtest.rlib: rust/src/libtest/Cargo.toml rust/src/libtest/** $(BUILD)/libstd.rlib - mkdir -p $(BUILD) - $(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -L native=libc-artifacts/usr/lib -o $@ - cp rust/src/target/$(TARGET)/release/deps/*.rlib $(BUILD) - -filesystem/bin/%: programs/%/Cargo.toml programs/%/src/** $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ - -filesystem/ui/bin/%: programs/%/Cargo.toml programs/%/src/**.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/ui/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ - diff --git a/mk/userspace/netutils.mk b/mk/userspace/netutils.mk deleted file mode 100644 index eda3602..0000000 --- a/mk/userspace/netutils.mk +++ /dev/null @@ -1,14 +0,0 @@ -netutils: \ - filesystem/bin/dhcpd \ - filesystem/bin/dns \ - filesystem/bin/httpd \ - filesystem/bin/irc \ - filesystem/bin/nc \ - filesystem/bin/ntp \ - filesystem/bin/telnetd \ - filesystem/bin/wget - -filesystem/bin/%: programs/netutils/Cargo.toml programs/netutils/src/%/**.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/orbutils.mk b/mk/userspace/orbutils.mk deleted file mode 100644 index def6d73..0000000 --- a/mk/userspace/orbutils.mk +++ /dev/null @@ -1,15 +0,0 @@ -orbutils: \ - filesystem/ui/bin/browser \ - filesystem/ui/bin/calculator \ - filesystem/ui/bin/character_map \ - filesystem/ui/bin/editor \ - filesystem/ui/bin/file_manager \ - filesystem/ui/bin/launcher \ - filesystem/ui/bin/orblogin \ - filesystem/ui/bin/orbterm \ - filesystem/ui/bin/viewer - -filesystem/ui/bin/%: programs/orbutils/Cargo.toml programs/orbutils/src/%/**.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/ui/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/pkgutils.mk b/mk/userspace/pkgutils.mk deleted file mode 100644 index 156c532..0000000 --- a/mk/userspace/pkgutils.mk +++ /dev/null @@ -1,7 +0,0 @@ -pkgutils: \ - filesystem/bin/pkg - -filesystem/bin/%: programs/pkgutils/Cargo.toml programs/pkgutils/src/*.rs programs/pkgutils/src/bin/%.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/schemes.mk b/mk/userspace/schemes.mk deleted file mode 100644 index b28485f..0000000 --- a/mk/userspace/schemes.mk +++ /dev/null @@ -1,25 +0,0 @@ -schemes: \ - filesystem/sbin/ethernetd \ - filesystem/sbin/ipd \ - filesystem/sbin/orbital \ - filesystem/sbin/ptyd \ - filesystem/sbin/randd \ - filesystem/sbin/redoxfs \ - filesystem/sbin/redoxfs-mkfs \ - filesystem/sbin/tcpd \ - filesystem/sbin/udpd - -initfs/bin/%: schemes/%/Cargo.toml schemes/%/src/** $(BUILD)/libstd.rlib - mkdir -p initfs/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ - -filesystem/sbin/%: schemes/%/Cargo.toml schemes/%/src/** $(BUILD)/libstd.rlib - mkdir -p filesystem/sbin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ - -filesystem/sbin/redoxfs-mkfs: schemes/redoxfs/Cargo.toml schemes/redoxfs/src/** $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin redoxfs-mkfs $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/mk/userspace/userutils.mk b/mk/userspace/userutils.mk deleted file mode 100644 index 9b144e0..0000000 --- a/mk/userspace/userutils.mk +++ /dev/null @@ -1,13 +0,0 @@ -userutils: \ - filesystem/bin/getty \ - filesystem/bin/id \ - filesystem/bin/login \ - filesystem/bin/passwd \ - filesystem/bin/su \ - filesystem/bin/sudo \ - filesystem/bin/whoami - -filesystem/bin/%: programs/userutils/Cargo.toml programs/userutils/src/bin/%.rs $(BUILD)/libstd.rlib - mkdir -p filesystem/bin - $(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@ - $(STRIP) $@ diff --git a/paper/redox.tex b/paper/redox.tex deleted file mode 100644 index c458d68..0000000 --- a/paper/redox.tex +++ /dev/null @@ -1,84 +0,0 @@ -\documentclass[11pt]{article} -\usepackage[T1]{fontenc} -\usepackage{amsmath, amsfonts, amssymb, amsthm, url, lmodern, color, graphicx} - -\title{Redox and system calls -- a multi-level kernel space} -\author{Redox OS developers} -\date{\today} - -\begin{document} - \maketitle - - %%% DISCLAIMER %%% - - \begin{titlepage} - \centering \huge\bfseries The following document is an incomplete draft. - \end{titlepage} - - %%% START OF DOCUMENT %%% - - \maketitle - - \begin{abstract} - In this paper, we review Redox's core system call interface. Redox has - multiple levels of kernel space, and the top one consists of a very - minimal system call interface, which we go over here. - \end{abstract} - - \section{Introduction} - TODO - - \section{Executing system calls} - We allow multiplied system calls, a generalized version of concept of - multicalls in the \emph{kqueue} system call. - - Depending on the platform, system calls might be sent through interrupts or - \texttt{sysenter}. What we are really interested in, though, is the state - when we leave user space. - - \begin{description} - \item [\texttt{rax}/\texttt{eax}] stores the pointer to the array of system calls. - \item [\texttt{rbx}/\texttt{ebx}] stores the number of system calls in - this bundle. - \end{description} - - \section{The interface} - Each entry in this system call bundle buffer needs an ABI representation. - We represent the interface for the \emph{core system calls}. - - The representation is as follows: - - \begin{description} - \item [The system call ID] this is an unsigned 16-bit integer - representing which system call is used. - \item [First argument] this 64-bit integer is used as defined by the - system call. - \item [Second argument] this 64-bit integer is used as defined by the - system call. - \end{description} - - The return value of the system call is placed in the respective element. - - \subsection{Access management} - The memory access management is a set of system calls taken pointer and - size, respectively. - - It contains of four calls: - - \begin{description} - \item [Make memory readable]. - \item [Make memory unreadable]. - \item [Make memory writable]. - \item [Make memory unwritable]. - \item [Make memory executable]. - \item [Make memory unexecutable]. - \end{description} - - \subsection{Access management} - - %%% BIBLIOGRAPHY %%% - - \begin{thebibliography}{9} - TODO - \end{thebibliography} -\end{document} diff --git a/programs/acid b/programs/acid deleted file mode 160000 index 99b7633..0000000 --- a/programs/acid +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99b7633a0a8b23befecb3703f1b7c06603cf7ba4 diff --git a/programs/binutils b/programs/binutils deleted file mode 160000 index ce057ba..0000000 --- a/programs/binutils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ce057bac70f18fe7fd004c68e58c07c1cc7174e0 diff --git a/programs/contain/Cargo.toml b/programs/contain/Cargo.toml deleted file mode 100644 index a11d6d0..0000000 --- a/programs/contain/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "contain" -version = "0.1.0" - -[dependencies] -redox_syscall = "0.1" diff --git a/programs/contain/src/chroot.rs b/programs/contain/src/chroot.rs deleted file mode 100644 index edce9ea..0000000 --- a/programs/contain/src/chroot.rs +++ /dev/null @@ -1,172 +0,0 @@ -use syscall; -use syscall::data::{Stat, StatVfs}; -use syscall::error::{Error, EBADF, EINVAL, EPERM, Result}; -use syscall::scheme::Scheme; - -use std::str; -use std::path::PathBuf; - -pub struct ChrootScheme { - root: PathBuf -} - -impl ChrootScheme { - pub fn new(root: PathBuf) -> ChrootScheme { - ChrootScheme { - root: root - } - } - - fn translate(&self, path: &[u8]) -> Result { - let path = str::from_utf8(path).or(Err(Error::new(EINVAL)))?; - let mut translated = self.root.clone(); - translated.push(path.trim_left_matches('/')); - if translated.starts_with(&self.root) { - translated.into_os_string().into_string().or(Err(Error::new(EINVAL))) - } else { - println!("escaped chroot"); - Err(Error::new(EPERM)) - } - } -} - -impl Scheme for ChrootScheme { - fn open(&self, path: &[u8], flags: usize, uid: u32, gid: u32) -> Result { - if uid != 0 { - syscall::setreuid(0, uid as usize)?; - } - if gid != 0 { - syscall::setregid(0, gid as usize)?; - } - let res = syscall::open(&self.translate(path)?, flags); - if uid != 0 { - syscall::setreuid(0, 0).unwrap(); - } - if gid != 0 { - syscall::setregid(0, 0).unwrap(); - } - res - } - - fn chmod(&self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result { - if uid != 0 { - syscall::setreuid(0, uid as usize)?; - } - if gid != 0 { - syscall::setregid(0, gid as usize)?; - } - let res = syscall::chmod(&self.translate(path)?, mode as usize); - if uid != 0 { - syscall::setreuid(0, 0).unwrap(); - } - if gid != 0 { - syscall::setregid(0, 0).unwrap(); - } - res - } - - fn rmdir(&self, path: &[u8], uid: u32, gid: u32) -> Result { - if uid != 0 { - syscall::setreuid(0, uid as usize)?; - } - if gid != 0 { - syscall::setregid(0, gid as usize)?; - } - let res = syscall::rmdir(&self.translate(path)?); - if uid != 0 { - syscall::setreuid(0, 0).unwrap(); - } - if gid != 0 { - syscall::setregid(0, 0).unwrap(); - } - res - } - - fn unlink(&self, path: &[u8], uid: u32, gid: u32) -> Result { - if uid != 0 { - syscall::setreuid(0, uid as usize)?; - } - if gid != 0 { - syscall::setregid(0, gid as usize)?; - } - let res = syscall::unlink(&self.translate(path)?); - if uid != 0 { - syscall::setreuid(0, 0).unwrap(); - } - if gid != 0 { - syscall::setregid(0, 0).unwrap(); - } - res - } - - /* Resource operations */ - fn dup(&self, old_id: usize, buf: &[u8]) -> Result { - syscall::dup(old_id, buf) - } - - fn read(&self, id: usize, buf: &mut [u8]) -> Result { - syscall::read(id, buf) - } - - fn write(&self, id: usize, buf: &[u8]) -> Result { - syscall::write(id, buf) - } - - fn seek(&self, id: usize, pos: usize, whence: usize) -> Result { - syscall::lseek(id, pos as isize, whence) - } - - fn fcntl(&self, id: usize, cmd: usize, arg: usize) -> Result { - syscall::fcntl(id, cmd, arg) - } - - fn fevent(&self, _id: usize, _flags: usize) -> Result { - //TODO - Err(Error::new(EBADF)) - } - - fn fmap(&self, _id: usize, _offset: usize, _size: usize) -> Result { - //TODO - Err(Error::new(EBADF)) - } - - fn fpath(&self, id: usize, buf: &mut [u8]) -> Result { - let count = syscall::fpath(id, buf)?; - - let translated = { - let path = str::from_utf8(&buf[.. count]).or(Err(Error::new(EINVAL)))?; - let translated = path.to_string().replace(self.root.to_str().ok_or(Error::new(EINVAL))?, ""); - format!("file:{}", translated.trim_left_matches('/')) - }; - - let path = translated.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } - - fn fstat(&self, id: usize, stat: &mut Stat) -> Result { - syscall::fstat(id, stat) - } - - fn fstatvfs(&self, id: usize, stat: &mut StatVfs) -> Result { - syscall::fstatvfs(id, stat) - } - - fn fsync(&self, id: usize) -> Result { - syscall::fsync(id) - } - - fn ftruncate(&self, id: usize, len: usize) -> Result { - syscall::ftruncate(id, len) - } - - fn close(&self, id: usize) -> Result { - syscall::close(id) - } -} diff --git a/programs/contain/src/main.rs b/programs/contain/src/main.rs deleted file mode 100644 index 0cd1e01..0000000 --- a/programs/contain/src/main.rs +++ /dev/null @@ -1,97 +0,0 @@ -extern crate syscall; - -use syscall::scheme::Scheme; - -use std::{env, fs,thread}; -use std::io::{stderr, Write}; -use std::os::unix::process::CommandExt; -use std::path::Path; -use std::process::{self, Command}; - -use self::chroot::ChrootScheme; - -mod chroot; - -fn usage() -> ! { - write!(stderr(), "contain root cmd args..\n").unwrap(); - process::exit(1); -} - -fn enter(root: &Path, cmd: &str, args: &[String]) { - let names = [ - "pty", - "rand", - "tcp", - "udp" - ]; - - let mut name_ptrs = Vec::new(); - for name in names.iter() { - name_ptrs.push([name.as_ptr() as usize, name.len()]); - } - - let new_ns = syscall::mkns(&name_ptrs).unwrap(); - - let root_canon = fs::canonicalize(root).unwrap(); - let root_thread = thread::spawn(move || { - syscall::setrens(-1isize as usize, new_ns).unwrap(); - let scheme_fd = syscall::open(":file", syscall::O_CREAT | syscall::O_RDWR | syscall::O_CLOEXEC).unwrap(); - syscall::setrens(-1isize as usize, syscall::getns().unwrap()).unwrap(); - - let chroot_scheme = ChrootScheme::new(root_canon); - loop { - let mut packet = syscall::Packet::default(); - if syscall::read(scheme_fd, &mut packet).unwrap() == 0 { - break; - } - chroot_scheme.handle(&mut packet); - syscall::write(scheme_fd, &packet).unwrap(); - } - - let _ = syscall::close(scheme_fd); - }); - - let pid = unsafe { syscall::clone(0).unwrap() }; - if pid == 0 { - syscall::setrens(new_ns, new_ns).unwrap(); - - println!("Container {}: enter: {}", new_ns, cmd); - - let mut command = Command::new(&cmd); - for arg in args { - command.arg(&arg); - } - command.current_dir("/"); - - let err = command.exec(); - - panic!("contain: failed to launch {}: {}", cmd, err); - } else { - let mut status = 0; - syscall::waitpid(pid, &mut status, 0).unwrap(); - - loop { - let mut c_status = 0; - let c_pid = syscall::waitpid(0, &mut c_status, syscall::WNOHANG).unwrap(); - if c_pid == 0 { - break; - } else { - println!("Container zombie {}: {:X}", c_pid, c_status); - } - } - - println!("Container {}: exit: {:X}", new_ns, status); - } -} - -pub fn main() { - let mut args = env::args().skip(1); - - if let Some(root) = args.next() { - let cmd = args.next().unwrap_or("login".to_string()); - let args: Vec = args.collect(); - enter(Path::new(&root), &cmd, &args); - } else { - usage(); - } -} diff --git a/programs/coreutils b/programs/coreutils deleted file mode 160000 index bc953d8..0000000 --- a/programs/coreutils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bc953d8f25da20bd691b1855bc382cdd00a8603b diff --git a/programs/extrautils b/programs/extrautils deleted file mode 160000 index 3f7d502..0000000 --- a/programs/extrautils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3f7d5027883169385086ea674be4127e7962e5b9 diff --git a/programs/games b/programs/games deleted file mode 160000 index c4984dc..0000000 --- a/programs/games +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c4984dc276bf5776f544b5f9f6996330e3ca4b51 diff --git a/programs/init b/programs/init deleted file mode 160000 index 032a45c..0000000 --- a/programs/init +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 032a45c55242aebaa9f6a03fa9d11da881bfcb1f diff --git a/programs/ion b/programs/ion deleted file mode 160000 index ae73d27..0000000 --- a/programs/ion +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ae73d27b07db96c6e6520c559ba03c117e048b43 diff --git a/programs/netutils b/programs/netutils deleted file mode 160000 index 074c900..0000000 --- a/programs/netutils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 074c900be31586f405cc46503a807e7ab8a7a2bb diff --git a/programs/orbterm b/programs/orbterm deleted file mode 160000 index 4143dcf..0000000 --- a/programs/orbterm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4143dcf160648a048d579553ab29ba18fb47c23c diff --git a/programs/orbutils b/programs/orbutils deleted file mode 160000 index 99c5e04..0000000 --- a/programs/orbutils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99c5e04e24084244b5d02b29ee95041b4d02bbf6 diff --git a/programs/pkgutils b/programs/pkgutils deleted file mode 160000 index b9c10c9..0000000 --- a/programs/pkgutils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b9c10c980e1724270b7e90d3c2d4999c398814b8 diff --git a/programs/smith b/programs/smith deleted file mode 160000 index 9e39ff1..0000000 --- a/programs/smith +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9e39ff178cf9abb5b09812b377082f3a5bb847b7 diff --git a/programs/sodium b/programs/sodium deleted file mode 160000 index 86fc766..0000000 --- a/programs/sodium +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 86fc766160cf2a0996f1ca6de6e301c35807f7fb diff --git a/programs/timeout/Cargo.toml b/programs/timeout/Cargo.toml deleted file mode 100644 index 9ca5a42..0000000 --- a/programs/timeout/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "timeout" -version = "0.1.0" -authors = ["Jeremy Soller "] - -[dependencies] -redox_event = { git = "https://github.com/redox-os/event.git" } -redox_syscall = "0.1" diff --git a/programs/timeout/src/main.rs b/programs/timeout/src/main.rs deleted file mode 100644 index baa7692..0000000 --- a/programs/timeout/src/main.rs +++ /dev/null @@ -1,44 +0,0 @@ -extern crate event; -extern crate syscall; - -use event::EventQueue; -use std::fs::File; -use std::io::{Result, Read, Write}; -use std::mem; -use std::os::unix::io::AsRawFd; -use syscall::data::TimeSpec; -use syscall::flag::CLOCK_MONOTONIC; - -fn main() { - let mut event_queue = EventQueue::::new().expect("timeout: failed to create event queue"); - - let path = format!("time:{}", CLOCK_MONOTONIC); - - let mut file = File::open(&path).expect(&format!("timeout: failed to open {}", path)); - - let mut timeout = TimeSpec::default(); - file.read(&mut timeout).unwrap(); - println!("Current: {:?}", timeout); - - timeout.tv_sec += 1; - println!("Setting timeout: {:?}", timeout); - file.write(&timeout).unwrap(); - - event_queue.add(file.as_raw_fd(), move |_count: usize| -> Result> { - let mut time = TimeSpec::default(); - if file.read(&mut time)? >= mem::size_of::() { - if time.tv_sec > timeout.tv_sec - || (time.tv_sec == timeout.tv_sec && time.tv_nsec >= timeout.tv_nsec ) - { - return Ok(Some(time)) - } - } - Ok(None) - }).expect("timeout: failed to poll time"); - - event_queue.trigger_all(0).expect("timeout: failed to trigger events"); - - let time = event_queue.run().expect("timeout: failed to run event loop"); - - println!("Time passed: {:?}", time); -} diff --git a/programs/userutils b/programs/userutils deleted file mode 160000 index 3ca1891..0000000 --- a/programs/userutils +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3ca18917f88130f4734bcb4643a410e62e6cb24c diff --git a/res/fonts/DejaVuSansMono-Bold.ttf b/res/fonts/DejaVuSansMono-Bold.ttf deleted file mode 100644 index 8184ced8cf853a64c3aa6f9afd722cdbf597c38c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331992 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�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%0D`P|=8@u+UQ%=z7R+43L4Zl8#;T;K1r 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≤GWXA<}4NfYWI^m11sQ58*e$_lfk}0Xc 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

_(y_@sc** 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 diff --git a/res/fonts/DejaVuSansMono-BoldOblique.ttf b/res/fonts/DejaVuSansMono-BoldOblique.ttf deleted file mode 100644 index 754dca7325de222c8dbdd1f98ae2c1401f882a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253580 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

YQnce&OUhf~QVW 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

%F8AUQpvn(l~~zzOy>1@b4Y}v#!Cyo zY|`n)@}x|6%fs`9(@Q|5scYt=A36eRb#Y1vHV#Y2d;@T-05}L9pxlFHY!c30w=7%# zp@>K^tNf_vI1-6O>CbRV^N-DgMZG>)R1sUr=g0fvRn_BD4LruJb_j%-&SCg9Y6iQc zGw8^~YprTkoO*eQyF^c%;K*6X$3TZz_$88KCwcNozm2VUYaaOq+;uye7+wp_q?pm>3zr z0M{U}T8B+z03@WI2hKlO&w?Y5RxczWnw--Tw*SU@Q}eW><4P(+c|55%KWLrPJT>vS zGW?G6c;fi{LKIV~Ov+KJ;*m7^fe7slgXGjba?%bRY>`Y-6wmY? zO&aMFH<`I;9?#QdQ*&gEjkh^ckSGBP$ZMCUX#|=;enDQ51?n%IEtz8+T1Gawd1YR1 z4%5G0D;7&6dYVpAQ^LdyQ)Z%aWTu-I@QpHkUxBSG#dn)dDv?SJdXrp`m}bh7B@D~T z;>QA?Jc=G>44~VH-5bzntVRKy9L;A@cP59*m%XgIy-;t6?@KBu1kYfDQzGM2JLhKS z_vs8()T(K&)V{cQO9VHgKwqBYJR4&mxFLQ98zWx#^vKp(=L3p!2f{^_HdMO2R;esB zg2&)A{9EKWCkK{NWiu(dYat}~5fb9>0iUbc*`B;;hMI^IVI2=B8TN~piV|635cJav zGLFi$es9s36cwN2P4xPX`d);uw8XDo;PR!JS!Nx*;rC9jRzqUSRP`hz#Xpg+Nran z?x<7^-xNPaIp!#|_c(<4ez%w-5Sir@m~+Nzz1@5hd%N7C*5TnWwoPi6`S=7#ksBj=O19Z(dn6McV!24c;_YvJ>gz1(b z(a4B4QC<};MKhG)r&Q=Eyn`cNjBlR5nB1oh&prq8wjDmB9Qe$QqD4YIBN{^#-D&|kB6Z~^A%$)(ELhcF7g&T?q0W283 z<@b;RBgl(!Ni;*2pw26md|?8m!J8-#fP0H3Wl&}>$GAO#!&%Jb<3sFXw8G$^&_e)! zv1deYQt}hY7NpllwgP+k2<>C@9z;H@Bw~djG5;$zK#wCk-k~HL`=C9eB%h-^d$ed# zfgxvl-q5i^s-|N+y}f_l;wzjuS&v7dTCgM`ai30~9}o#rd_=Fysde<` z-ZBm^IyIrB?yaAnpIBV~<}Ywx`E6Lh=;8iw8}$I0+C*lLurYfE{CyTP|LWgCXOh2P z`5x*z?|}QwZGv0a_Y+T*#P}Idqq3IVZ%(ZpO`cOW@P3@d+`)NYVk6m77^ran!299v zYq@Y|JbCA}zr$?r@samaPu}=^_&fXl|A)Evj*qg~{>Ptro@aN{d$J*Yvq?6Ekh0kn zNJv5rN$5TF-ive;q}inih=q$Nh#-8eZKKZ@R%=2tE z0YBf*_xJk!@gr=qd-lwkGiT16Idf*_JUU#bFRj4+l@Ey@vL&efg}G9Q#c!$fAe+ni zdJJbggXr1u(!2rqUcz=RYI^~XgllZPfwrs?ZTX0JcIdoypfhEnEt?45Rd34;;+e~8 zXLEeOZ%|vPbGsl0u1^#3mU$oJn{~g-G@rjcVi~K@k6>md4;G8~jLfqd6hQR+v zTC7h0)n@c1zy&|Adh;X21O7ed=hZ~wle<0WI|tw^)WzWcRR_UQt6py_9e;l_{Eo

JVuh<&iTWp{J;w*9G-ib5g= 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

( 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 z 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 diff --git a/rustc.sh b/rustc.sh deleted file mode 100755 index ecd5588..0000000 --- a/rustc.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -have_o=false -for arg in "$@"; do - if [[ "$arg" = "-o" ]]; then - have_o=true - break - fi -done - -args=() -for arg in "$@"; do - if [[ $have_o = true && "$arg" =~ ^extra-filename= ]]; then - unset args[${#args[@]}-1] - elif [[ $have_o = true && "$arg" =~ ^--emit= ]]; then - args+=("--emit=link") - else - args+=("$arg") - fi -done - -RUST_BACKTRACE=1 exec rustc -L build/userspace "${args[@]}" diff --git a/rustdoc.sh b/rustdoc.sh deleted file mode 100755 index f60c41b..0000000 --- a/rustdoc.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -RUST_BACKTRACE=1 rustdoc -L build/userspace $* diff --git a/rustfmt.toml b/rustfmt.toml deleted file mode 100644 index 6776cef..0000000 --- a/rustfmt.toml +++ /dev/null @@ -1,5 +0,0 @@ -max_width = 200 -ideal_width = 100 -fn_call_width = 80 -wrap_match_arms = false -write_mode = "Overwrite" diff --git a/schemes/ethernetd/Cargo.toml b/schemes/ethernetd/Cargo.toml deleted file mode 100644 index 835b07e..0000000 --- a/schemes/ethernetd/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "ethernetd" -version = "0.1.0" - -[dependencies] -netutils = { git = "https://github.com/redox-os/netutils.git" } -redox_event = { git = "https://github.com/redox-os/event.git" } -redox_syscall = "0.1" diff --git a/schemes/ethernetd/src/main.rs b/schemes/ethernetd/src/main.rs deleted file mode 100644 index 7185435..0000000 --- a/schemes/ethernetd/src/main.rs +++ /dev/null @@ -1,110 +0,0 @@ -extern crate event; -extern crate netutils; -extern crate syscall; - -use event::EventQueue; -use std::cell::RefCell; -use std::fs::File; -use std::io::{Result, Read, Write}; -use std::os::unix::io::FromRawFd; -use std::process; -use std::rc::Rc; - -use syscall::{Packet, SchemeMut, EWOULDBLOCK}; - -use scheme::EthernetScheme; - -mod scheme; - -fn daemon(network_fd: usize, socket_fd: usize) { - let network = unsafe { File::from_raw_fd(network_fd) }; - let socket = Rc::new(RefCell::new(unsafe { File::from_raw_fd(socket_fd) })); - let scheme = Rc::new(RefCell::new(EthernetScheme::new(network))); - let todo = Rc::new(RefCell::new(Vec::::new())); - - let mut event_queue = EventQueue::<()>::new().expect("ethernetd: failed to create event queue"); - - let socket_net = socket.clone(); - let scheme_net = scheme.clone(); - let todo_net = todo.clone(); - event_queue.add(network_fd, move |_count: usize| -> Result> { - if scheme_net.borrow_mut().input()? > 0 { - let mut todo = todo_net.borrow_mut(); - let mut i = 0; - while i < todo.len() { - let a = todo[i].a; - scheme_net.borrow_mut().handle(&mut todo[i]); - if todo[i].a == (-EWOULDBLOCK) as usize { - todo[i].a = a; - i += 1; - } else { - socket_net.borrow_mut().write(&mut todo[i])?; - todo.remove(i); - } - } - - for (id, handle) in scheme_net.borrow_mut().handles.iter() { - if let Some(frame) = handle.frames.get(0) { - socket_net.borrow_mut().write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: syscall::flag::EVENT_READ, - d: frame.data.len() - })?; - } - } - } - Ok(None) - }).expect("ethernetd: failed to listen for network events"); - - event_queue.add(socket_fd, move |_count: usize| -> Result> { - loop { - let mut packet = Packet::default(); - if socket.borrow_mut().read(&mut packet)? == 0 { - break; - } - - let a = packet.a; - scheme.borrow_mut().handle(&mut packet); - if packet.a == (-EWOULDBLOCK) as usize { - packet.a = a; - todo.borrow_mut().push(packet); - } else { - socket.borrow_mut().write(&mut packet)?; - } - } - - Ok(None) - }).expect("ethernetd: failed to listen for scheme events"); - - event_queue.trigger_all(0).expect("ethernetd: failed to trigger events"); - - event_queue.run().expect("ethernetd: failed to run event loop"); -} - -fn main() { - match syscall::open("network:", syscall::O_RDWR | syscall::O_NONBLOCK) { - Ok(network_fd) => { - // Daemonize - if unsafe { syscall::clone(0).unwrap() } == 0 { - match syscall::open(":ethernet", syscall::O_RDWR | syscall::O_CREAT | syscall::O_NONBLOCK) { - Ok(socket_fd) => { - daemon(network_fd, socket_fd); - }, - Err(err) => { - println!("ethernetd: failed to create ethernet scheme: {}", err); - process::exit(1); - } - } - } - }, - Err(err) => { - println!("ethernetd: failed to open network: {}", err); - process::exit(1); - } - } -} diff --git a/schemes/ethernetd/src/scheme.rs b/schemes/ethernetd/src/scheme.rs deleted file mode 100644 index 7b1b3bd..0000000 --- a/schemes/ethernetd/src/scheme.rs +++ /dev/null @@ -1,164 +0,0 @@ -use std::collections::{BTreeMap, VecDeque}; -use std::fs::File; -use std::io::{self, Read, Write}; -use std::os::unix::io::AsRawFd; -use std::{cmp, str, u16}; - -use netutils::{getcfg, MacAddr, EthernetII}; -use syscall; -use syscall::error::{Error, Result, EACCES, EBADF, EINVAL, EIO, EWOULDBLOCK}; -use syscall::flag::O_NONBLOCK; -use syscall::scheme::SchemeMut; - -#[derive(Clone)] -pub struct Handle { - /// The flags this handle was opened with - flags: usize, - /// The Host's MAC address - pub host_addr: MacAddr, - /// The ethernet type - pub ethertype: u16, - /// The data - pub frames: VecDeque, -} - -pub struct EthernetScheme { - network: File, - next_id: usize, - pub handles: BTreeMap -} - -impl EthernetScheme { - pub fn new(network: File) -> EthernetScheme { - EthernetScheme { - network: network, - next_id: 1, - handles: BTreeMap::new(), - } - } - - //TODO: Minimize allocation - //TODO: Reduce iteration cost (use BTreeMap of ethertype to handle?) - pub fn input(&mut self) -> io::Result { - let mut total = 0; - loop { - let mut bytes = [0; 65536]; - let count = self.network.read(&mut bytes)?; - if count == 0 { - break; - } - if let Some(frame) = EthernetII::from_bytes(&bytes[.. count]) { - for (_id, handle) in self.handles.iter_mut() { - if frame.header.ethertype.get() == handle.ethertype { - handle.frames.push_back(frame.clone()); - } - } - total += count; - } - } - Ok(total) - } -} - -impl SchemeMut for EthernetScheme { - fn open(&mut self, url: &[u8], flags: usize, uid: u32, _gid: u32) -> Result { - if uid == 0 { - let mac_addr = MacAddr::from_str(&getcfg("mac").map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?); - let path = try!(str::from_utf8(url).or(Err(Error::new(EINVAL)))); - - let ethertype = u16::from_str_radix(path, 16).unwrap_or(0); - - let next_id = self.next_id; - self.next_id += 1; - - self.handles.insert(next_id, Handle { - flags: flags, - host_addr: mac_addr, - ethertype: ethertype, - frames: VecDeque::new() - }); - - Ok(next_id) - } else { - Err(Error::new(EACCES)) - } - } - - fn dup(&mut self, id: usize, _buf: &[u8]) -> Result { - let next_id = self.next_id; - self.next_id += 1; - - let handle = { - let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?; - handle.clone() - }; - - self.handles.insert(next_id, handle); - - Ok(next_id) - } - - fn read(&mut self, id: usize, buf: &mut [u8]) -> Result { - let handle = self.handles.get_mut(&id).ok_or(Error::new(EBADF))?; - - if let Some(frame) = handle.frames.pop_front() { - let data = frame.to_bytes(); - for (b, d) in buf.iter_mut().zip(data.iter()) { - *b = *d; - } - - Ok(cmp::min(buf.len(), data.len())) - } else if handle.flags & O_NONBLOCK == O_NONBLOCK { - Ok(0) - } else { - Err(Error::new(EWOULDBLOCK)) - } - } - - fn write(&mut self, id: usize, buf: &[u8]) -> Result { - let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?; - - if let Some(mut frame) = EthernetII::from_bytes(buf) { - frame.header.src = handle.host_addr; - frame.header.ethertype.set(handle.ethertype); - self.network.write(&frame.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))) - } else { - Err(Error::new(EINVAL)) - } - } - - fn fevent(&mut self, id: usize, _flags: usize) -> Result { - let _handle = self.handles.get(&id).ok_or(Error::new(EBADF))?; - - Ok(id) - } - - fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result { - let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?; - - let path_string = format!("ethernet:{:X}", handle.ethertype); - let path = path_string.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } - - fn fsync(&mut self, id: usize) -> Result { - let _handle = self.handles.get(&id).ok_or(Error::new(EBADF))?; - - syscall::fsync(self.network.as_raw_fd()) - } - - fn close(&mut self, id: usize) -> Result { - let handle = self.handles.remove(&id).ok_or(Error::new(EBADF))?; - - drop(handle); - - Ok(0) - } -} diff --git a/schemes/ipd/Cargo.toml b/schemes/ipd/Cargo.toml deleted file mode 100644 index 3192911..0000000 --- a/schemes/ipd/Cargo.toml +++ /dev/null @@ -1,8 +0,0 @@ -[package] -name = "ipd" -version = "0.1.0" - -[dependencies] -netutils = { git = "https://github.com/redox-os/netutils.git" } -redox_event = { git = "https://github.com/redox-os/event.git" } -redox_syscall = "0.1" diff --git a/schemes/ipd/src/interface/ethernet.rs b/schemes/ipd/src/interface/ethernet.rs deleted file mode 100644 index d914a78..0000000 --- a/schemes/ipd/src/interface/ethernet.rs +++ /dev/null @@ -1,155 +0,0 @@ -use netutils::{getcfg, n16, Ipv4Addr, MacAddr, Ipv4, EthernetII, EthernetIIHeader, Arp}; -use std::collections::BTreeMap; -use std::fs::File; -use std::io::{Result, Read, Write}; -use std::os::unix::io::FromRawFd; - -use interface::Interface; - -pub struct EthernetInterface { - mac: MacAddr, - ip: Ipv4Addr, - router: Ipv4Addr, - subnet: Ipv4Addr, - arp_file: File, - ip_file: File, - arp: BTreeMap, - rarp: BTreeMap, -} - -impl EthernetInterface { - pub fn new(arp_fd: usize, ip_fd: usize) -> Self { - EthernetInterface { - mac: MacAddr::from_str(&getcfg("mac").unwrap()), - ip: Ipv4Addr::from_str(&getcfg("ip").unwrap()), - router: Ipv4Addr::from_str(&getcfg("ip_router").unwrap()), - subnet: Ipv4Addr::from_str(&getcfg("ip_subnet").unwrap()), - arp_file: unsafe { File::from_raw_fd(arp_fd) }, - ip_file: unsafe { File::from_raw_fd(ip_fd) }, - arp: BTreeMap::new(), - rarp: BTreeMap::new(), - } - } -} - -impl Interface for EthernetInterface { - fn ip(&self) -> Ipv4Addr { - self.ip - } - - fn routable(&self, dst: Ipv4Addr) -> bool { - dst != Ipv4Addr::LOOPBACK - } - - fn arp_event(&mut self) -> Result<()> { - loop { - let mut bytes = [0; 65536]; - let count = self.arp_file.read(&mut bytes)?; - if count == 0 { - break; - } - if let Some(frame) = EthernetII::from_bytes(&bytes[.. count]) { - if let Some(packet) = Arp::from_bytes(&frame.data) { - if packet.header.oper.get() == 1 { - if packet.header.dst_ip == self.ip { - if packet.header.src_ip != Ipv4Addr::BROADCAST && frame.header.src != MacAddr::BROADCAST { - self.arp.insert(packet.header.src_ip, frame.header.src); - self.rarp.insert(frame.header.src, packet.header.src_ip); - } - - let mut response = Arp { - header: packet.header, - data: packet.data.clone(), - }; - response.header.oper.set(2); - response.header.dst_mac = packet.header.src_mac; - response.header.dst_ip = packet.header.src_ip; - response.header.src_mac = self.mac; - response.header.src_ip = self.ip; - - let mut response_frame = EthernetII { - header: frame.header, - data: response.to_bytes() - }; - - response_frame.header.dst = response_frame.header.src; - response_frame.header.src = self.mac; - - self.arp_file.write(&response_frame.to_bytes())?; - } - } - } - } - } - - Ok(()) - } - - fn recv(&mut self) -> Result> { - let mut ips = Vec::new(); - - loop { - let mut bytes = [0; 65536]; - let count = self.ip_file.read(&mut bytes)?; - if count == 0 { - break; - } - if let Some(frame) = EthernetII::from_bytes(&bytes[.. count]) { - if let Some(ip) = Ipv4::from_bytes(&frame.data) { - if ip.header.dst == self.ip || ip.header.dst == Ipv4Addr::BROADCAST { - //TODO: Handle ping here - - if ip.header.src != Ipv4Addr::BROADCAST && frame.header.src != MacAddr::BROADCAST { - self.arp.insert(ip.header.src, frame.header.src); - self.rarp.insert(frame.header.src, ip.header.src); - } - - ips.push(ip); - } - } - } - } - - Ok(ips) - } - - fn send(&mut self, ip: Ipv4) -> Result { - let mut dst = MacAddr::BROADCAST; - if ip.header.dst != Ipv4Addr::BROADCAST { - let mut needs_routing = false; - - for octet in 0..4 { - let me = self.ip.bytes[octet]; - let mask = self.subnet.bytes[octet]; - let them = ip.header.dst.bytes[octet]; - if me & mask != them & mask { - needs_routing = true; - break; - } - } - - let route_addr = if needs_routing { - self.router - } else { - ip.header.dst - }; - - if let Some(mac) = self.arp.get(&route_addr) { - dst = *mac; - } else { - println!("ipd: need to arp {}", route_addr.to_string()); - } - } - - let frame = EthernetII { - header: EthernetIIHeader { - dst: dst, - src: self.mac, - ethertype: n16::new(0x800), - }, - data: ip.to_bytes() - }; - - self.ip_file.write(&frame.to_bytes()) - } -} diff --git a/schemes/ipd/src/interface/loopback.rs b/schemes/ipd/src/interface/loopback.rs deleted file mode 100644 index a957ef8..0000000 --- a/schemes/ipd/src/interface/loopback.rs +++ /dev/null @@ -1,50 +0,0 @@ -use netutils::{Ipv4Addr, Ipv4}; -use std::io::Result; - -use interface::Interface; - -pub struct LoopbackInterface { - packets: Vec -} - -impl LoopbackInterface { - pub fn new() -> Self { - LoopbackInterface { - packets: Vec::new() - } - } -} - -impl Interface for LoopbackInterface { - fn ip(&self) -> Ipv4Addr { - Ipv4Addr::LOOPBACK - } - - fn routable(&self, dst: Ipv4Addr) -> bool { - dst == Ipv4Addr::LOOPBACK - } - - fn recv(&mut self) -> Result> { - let mut ips = Vec::new(); - - for ip in self.packets.drain(..) { - ips.push(ip); - } - - Ok(ips) - } - - fn send(&mut self, ip: Ipv4) -> Result { - self.packets.push(ip); - - Ok(0) - } - - fn arp_event(&mut self) -> Result<()> { - Ok(()) - } - - fn has_loopback_data(&self) -> bool { - ! self.packets.is_empty() - } -} diff --git a/schemes/ipd/src/interface/mod.rs b/schemes/ipd/src/interface/mod.rs deleted file mode 100644 index 2fa89d9..0000000 --- a/schemes/ipd/src/interface/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -use netutils::{Ipv4, Ipv4Addr}; -use std::io::Result; - -pub use self::ethernet::EthernetInterface; -pub use self::loopback::LoopbackInterface; - -mod ethernet; -mod loopback; - -pub trait Interface { - fn ip(&self) -> Ipv4Addr; - fn routable(&self, dst: Ipv4Addr) -> bool; - fn recv(&mut self) -> Result>; - fn send(&mut self, ip: Ipv4) -> Result; - - fn arp_event(&mut self) -> Result<()>; - - fn has_loopback_data(&self) -> bool { false } -} diff --git a/schemes/ipd/src/main.rs b/schemes/ipd/src/main.rs deleted file mode 100644 index 49e332f..0000000 --- a/schemes/ipd/src/main.rs +++ /dev/null @@ -1,341 +0,0 @@ -extern crate event; -extern crate netutils; -extern crate syscall; - -use event::EventQueue; -use netutils::{Ipv4Addr, Ipv4, Tcp}; -use std::cell::RefCell; -use std::collections::{BTreeMap, VecDeque}; -use std::fs::File; -use std::io::{self, Read, Write}; -use std::os::unix::io::FromRawFd; -use std::{process, slice, str}; -use std::rc::Rc; -use syscall::data::Packet; -use syscall::error::{Error, Result, EACCES, EADDRNOTAVAIL, EBADF, EIO, EINVAL, ENOENT, EWOULDBLOCK}; -use syscall::flag::{EVENT_READ, O_NONBLOCK}; -use syscall::scheme::SchemeMut; - -use interface::{Interface, EthernetInterface, LoopbackInterface}; - -mod interface; - -struct Handle { - proto: u8, - flags: usize, - events: usize, - data: VecDeque>, - todo: VecDeque, -} - -struct Ipd { - scheme_file: File, - interfaces: Vec>, - next_id: usize, - handles: BTreeMap, -} - -impl Ipd { - fn new(scheme_file: File) -> Self { - Ipd { - scheme_file: scheme_file, - interfaces: Vec::new(), - next_id: 1, - handles: BTreeMap::new(), - } - } - - fn scheme_event(&mut self) -> io::Result<()> { - loop { - let mut packet = Packet::default(); - if self.scheme_file.read(&mut packet)? == 0 { - break; - } - - let a = packet.a; - self.handle(&mut packet); - if packet.a == (-EWOULDBLOCK) as usize { - packet.a = a; - if let Some(mut handle) = self.handles.get_mut(&packet.b) { - handle.todo.push_back(packet); - } - } else { - self.scheme_file.write(&packet)?; - } - } - - Ok(()) - } - - fn ip_event(&mut self, if_id: usize) -> io::Result<()> { - if let Some(mut interface) = self.interfaces.get_mut(if_id) { - for ip in interface.recv()? { - for (id, handle) in self.handles.iter_mut() { - if ip.header.proto == handle.proto { - handle.data.push_back(ip.to_bytes()); - - while ! handle.todo.is_empty() && ! handle.data.is_empty() { - let mut packet = handle.todo.pop_front().unwrap(); - let buf = unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }; - let data = handle.data.pop_front().unwrap(); - - let mut i = 0; - while i < buf.len() && i < data.len() { - buf[i] = data[i]; - i += 1; - } - packet.a = i; - - self.scheme_file.write(&packet)?; - } - - if handle.events & EVENT_READ == EVENT_READ { - if let Some(data) = handle.data.get(0) { - self.scheme_file.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: EVENT_READ, - d: data.len() - })?; - } - } - } - } - } - } - - Ok(()) - } - - fn loopback_event(&mut self, loopback_id: usize) -> io::Result<()> { - let handle_loopback = if let Some(interface) = self.interfaces.get(loopback_id) { - interface.has_loopback_data() - } else { - false - }; - - if handle_loopback { - self.ip_event(loopback_id)?; - } - - Ok(()) - } -} - -impl SchemeMut for Ipd { - fn open(&mut self, url: &[u8], flags: usize, uid: u32, _gid: u32) -> Result { - if uid == 0 { - let path = str::from_utf8(url).or(Err(Error::new(EINVAL)))?; - - let proto = u8::from_str_radix(path, 16).or(Err(Error::new(ENOENT)))?; - - let id = self.next_id; - self.next_id += 1; - - self.handles.insert(id, Handle { - proto: proto, - flags: flags, - events: 0, - data: VecDeque::new(), - todo: VecDeque::new(), - }); - - Ok(id) - } else { - Err(Error::new(EACCES)) - } - } - - fn dup(&mut self, file: usize, _buf: &[u8]) -> Result { - let handle = { - let handle = self.handles.get(&file).ok_or(Error::new(EBADF))?; - Handle { - proto: handle.proto, - flags: handle.flags, - events: 0, - data: handle.data.clone(), - todo: VecDeque::new(), - } - }; - - let id = self.next_id; - self.next_id += 1; - - self.handles.insert(id, handle); - - Ok(id) - } - - fn read(&mut self, file: usize, buf: &mut [u8]) -> Result { - let mut handle = self.handles.get_mut(&file).ok_or(Error::new(EBADF))?; - - if let Some(data) = handle.data.pop_front() { - let mut i = 0; - while i < buf.len() && i < data.len() { - buf[i] = data[i]; - i += 1; - } - - Ok(i) - } else if handle.flags & O_NONBLOCK == O_NONBLOCK { - Ok(0) - } else { - Err(Error::new(EWOULDBLOCK)) - } - } - - fn write(&mut self, file: usize, buf: &[u8]) -> Result { - let handle = self.handles.get(&file).ok_or(Error::new(EBADF))?; - - if let Some(mut ip) = Ipv4::from_bytes(buf) { - for mut interface in self.interfaces.iter_mut() { - let if_ip = interface.ip(); - if ip.header.src == if_ip || (ip.header.src == Ipv4Addr::NULL && interface.routable(ip.header.dst)) { - ip.header.src = if_ip; - ip.header.proto = handle.proto; - - if let Some(mut tcp) = Tcp::from_bytes(&ip.data) { - tcp.checksum(&ip.header.src, &ip.header.dst); - ip.data = tcp.to_bytes(); - } - - ip.checksum(); - - interface.send(ip).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - - return Ok(buf.len()); - } - } - - Err(Error::new(EADDRNOTAVAIL)) - } else { - Err(Error::new(EINVAL)) - } - } - - fn fevent(&mut self, file: usize, flags: usize) -> Result { - let mut handle = self.handles.get_mut(&file).ok_or(Error::new(EBADF))?; - - handle.events = flags; - - Ok(file) - } - - fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result { - let handle = self.handles.get(&id).ok_or(Error::new(EBADF))?; - - let path_string = format!("ip:{:X}", handle.proto); - let path = path_string.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } - - fn fsync(&mut self, file: usize) -> Result { - let _handle = self.handles.get(&file).ok_or(Error::new(EBADF))?; - - Ok(0) - } - - fn close(&mut self, file: usize) -> Result { - let handle = self.handles.remove(&file).ok_or(Error::new(EBADF))?; - - drop(handle); - - Ok(0) - } -} - -fn daemon(arp_fd: usize, ip_fd: usize, scheme_fd: usize) { - let scheme_file = unsafe { File::from_raw_fd(scheme_fd) }; - - let ipd = Rc::new(RefCell::new(Ipd::new(scheme_file))); - - let mut event_queue = EventQueue::<()>::new().expect("ipd: failed to create event queue"); - - //TODO: Multiple interfaces - { - let if_id = { - let mut ipd = ipd.borrow_mut(); - let if_id = ipd.interfaces.len(); - ipd.interfaces.push(Box::new(EthernetInterface::new(arp_fd, ip_fd))); - if_id - }; - - let arp_ipd = ipd.clone(); - event_queue.add(arp_fd, move |_count: usize| -> io::Result> { - if let Some(mut interface) = arp_ipd.borrow_mut().interfaces.get_mut(if_id) { - interface.arp_event()?; - } - - Ok(None) - }).expect("ipd: failed to listen to events on ethernet:806"); - - let ip_ipd = ipd.clone(); - event_queue.add(ip_fd, move |_count: usize| -> io::Result> { - ip_ipd.borrow_mut().ip_event(if_id)?; - - Ok(None) - }).expect("ipd: failed to listen to events on ethernet:800"); - } - - let loopback_id = { - let mut ipd = ipd.borrow_mut(); - let if_id = ipd.interfaces.len(); - ipd.interfaces.push(Box::new(LoopbackInterface::new())); - if_id - }; - - event_queue.add(scheme_fd, move |_count: usize| -> io::Result> { - let mut ipd = ipd.borrow_mut(); - - ipd.loopback_event(loopback_id)?; - ipd.scheme_event()?; - ipd.loopback_event(loopback_id)?; - - Ok(None) - }).expect("ipd: failed to listen to events on :ip"); - - // Make sure that all descriptors are at EOF - event_queue.trigger_all(0).expect("ipd: failed to trigger event queue"); - - event_queue.run().expect("ipd: failed to run event queue"); -} - -fn main() { - match syscall::open("ethernet:806", syscall::O_RDWR | syscall::O_NONBLOCK) { - Ok(arp_fd) => match syscall::open("ethernet:800", syscall::O_RDWR | syscall::O_NONBLOCK) { - Ok(ip_fd) => { - // Daemonize - if unsafe { syscall::clone(0).unwrap() } == 0 { - match syscall::open(":ip", syscall::O_RDWR | syscall::O_CREAT | syscall::O_NONBLOCK) { - Ok(scheme_fd) => { - daemon(arp_fd, ip_fd, scheme_fd); - }, - Err(err) => { - println!("ipd: failed to create ip scheme: {}", err); - process::exit(1); - } - } - } - }, - Err(err) => { - println!("ipd: failed to open ethernet:800: {}", err); - process::exit(1); - } - }, - Err(err) => { - println!("ipd: failed to open ethernet:806: {}", err); - process::exit(1); - } - } -} diff --git a/schemes/orbital b/schemes/orbital deleted file mode 160000 index e8a7304..0000000 --- a/schemes/orbital +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e8a73040268708a5f8bde3e9d703f6cbbab2b85f diff --git a/schemes/ptyd/Cargo.toml b/schemes/ptyd/Cargo.toml deleted file mode 100644 index 093da85..0000000 --- a/schemes/ptyd/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "ptyd" -version = "0.1.0" - -[dependencies] -redox_syscall = "0.1" diff --git a/schemes/ptyd/src/main.rs b/schemes/ptyd/src/main.rs deleted file mode 100644 index 2a982fa..0000000 --- a/schemes/ptyd/src/main.rs +++ /dev/null @@ -1,414 +0,0 @@ -#![deny(warnings)] - -extern crate syscall; - -use std::cell::RefCell; -use std::collections::{BTreeMap, VecDeque}; -use std::fs::File; -use std::io::{Read, Write}; -use std::rc::{Rc, Weak}; -use std::str; - -use syscall::data::Packet; -use syscall::error::{Error, Result, EBADF, EINVAL, ENOENT, EPIPE, EWOULDBLOCK}; -use syscall::flag::{F_GETFL, F_SETFL, O_ACCMODE, O_NONBLOCK}; -use syscall::scheme::SchemeMut; - -pub struct PtyScheme { - next_id: usize, - ptys: (BTreeMap, BTreeMap) -} - -impl PtyScheme { - fn new() -> Self { - PtyScheme { - next_id: 0, - ptys: (BTreeMap::new(), BTreeMap::new()) - } - } -} - -impl SchemeMut for PtyScheme { - fn open(&mut self, path: &[u8], flags: usize, _uid: u32, _gid: u32) -> Result { - let path = str::from_utf8(path).or(Err(Error::new(EINVAL)))?.trim_matches('/'); - - if path.is_empty() { - let id = self.next_id; - self.next_id += 1; - - self.ptys.0.insert(id, PtyMaster::new(id, flags)); - - Ok(id) - } else { - let master_id = path.parse::().or(Err(Error::new(EINVAL)))?; - let master = self.ptys.0.get(&master_id).map(|pipe| pipe.clone()).ok_or(Error::new(ENOENT))?; - - let id = self.next_id; - self.next_id += 1; - - self.ptys.1.insert(id, PtySlave::new(&master, flags)); - - Ok(id) - } - } - - fn dup(&mut self, id: usize, _buf: &[u8]) -> Result { - /* TODO CLOEXEC - Master cannot be cloned - let master_opt = self.ptys.0.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = master_opt { - let pipe_id = self.next_id; - self.next_id += 1; - self.ptys.0.insert(pipe_id, pipe); - return Ok(pipe_id); - } - */ - - let slave_opt = self.ptys.1.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = slave_opt { - let pipe_id = self.next_id; - self.next_id += 1; - self.ptys.1.insert(pipe_id, pipe); - return Ok(pipe_id); - } - - Err(Error::new(EBADF)) - } - - fn read(&mut self, id: usize, buf: &mut [u8]) -> Result { - let master_opt = self.ptys.0.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = master_opt { - return pipe.read(buf); - } - - let slave_opt = self.ptys.1.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = slave_opt { - return pipe.read(buf); - } - - Err(Error::new(EBADF)) - } - - fn write(&mut self, id: usize, buf: &[u8]) -> Result { - let master_opt = self.ptys.0.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = master_opt { - return pipe.write(buf); - } - - let slave_opt = self.ptys.1.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = slave_opt { - return pipe.write(buf); - } - - Err(Error::new(EBADF)) - } - - fn fcntl(&mut self, id: usize, cmd: usize, arg: usize) -> Result { - if let Some(pipe) = self.ptys.0.get_mut(&id) { - return pipe.fcntl(cmd, arg); - } - - if let Some(pipe) = self.ptys.1.get_mut(&id) { - return pipe.fcntl(cmd, arg); - } - - Err(Error::new(EBADF)) - } - - fn fevent(&mut self, id: usize, _flags: usize) -> Result { - if self.ptys.0.contains_key(&id) || self.ptys.1.contains_key(&id) { - Ok(id) - } else { - Err(Error::new(EBADF)) - } - } - - fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result { - let master_opt = self.ptys.0.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = master_opt { - return pipe.path(buf); - } - - let slave_opt = self.ptys.1.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = slave_opt { - return pipe.path(buf); - } - - Err(Error::new(EBADF)) - } - - fn fsync(&mut self, id: usize) -> Result { - let slave_opt = self.ptys.1.get(&id).map(|pipe| pipe.clone()); - if let Some(pipe) = slave_opt { - return pipe.sync(); - } - - Ok(0) - } - - fn close(&mut self, id: usize) -> Result { - drop(self.ptys.0.remove(&id)); - drop(self.ptys.1.remove(&id)); - - Ok(0) - } -} - -/// Read side of a pipe -#[derive(Clone)] -pub struct PtyMaster { - id: usize, - flags: usize, - read: Rc>>>, - write: Rc>>, -} - -impl PtyMaster { - pub fn new(id: usize, flags: usize) -> Self { - PtyMaster { - id: id, - flags: flags, - read: Rc::new(RefCell::new(VecDeque::new())), - write: Rc::new(RefCell::new(VecDeque::new())), - } - } - - fn path(&self, buf: &mut [u8]) -> Result { - let path_str = format!("pty:{}", self.id); - let path = path_str.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } - - fn read(&self, buf: &mut [u8]) -> Result { - let mut read = self.read.borrow_mut(); - - if let Some(packet) = read.pop_front() { - let mut i = 0; - - while i < buf.len() && i < packet.len() { - buf[i] = packet[i]; - i += 1; - } - - Ok(i) - } else if self.flags & O_NONBLOCK == O_NONBLOCK || Rc::weak_count(&self.read) == 0 { - Ok(0) - } else { - Err(Error::new(EWOULDBLOCK)) - } - } - - fn write(&self, buf: &[u8]) -> Result { - let mut write = self.write.borrow_mut(); - - let mut i = 0; - while i < buf.len() { - write.push_back(buf[i]); - i += 1; - } - - Ok(i) - } - - fn fcntl(&mut self, cmd: usize, arg: usize) -> Result { - match cmd { - F_GETFL => Ok(self.flags), - F_SETFL => { - self.flags = arg & ! O_ACCMODE; - Ok(0) - }, - _ => Err(Error::new(EINVAL)) - } - } -} - -/// Read side of a pipe -#[derive(Clone)] -pub struct PtySlave { - master_id: usize, - flags: usize, - read: Weak>>, - write: Weak>>>, -} - -impl PtySlave { - pub fn new(master: &PtyMaster, flags: usize) -> Self { - PtySlave { - master_id: master.id, - flags: flags, - read: Rc::downgrade(&master.write), - write: Rc::downgrade(&master.read), - } - } - - fn path(&self, buf: &mut [u8]) -> Result { - let path_str = format!("pty:{}", self.master_id); - let path = path_str.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } - - fn read(&self, buf: &mut [u8]) -> Result { - if let Some(read_lock) = self.read.upgrade() { - let mut read = read_lock.borrow_mut(); - - let mut i = 0; - - while i < buf.len() && ! read.is_empty() { - buf[i] = read.pop_front().unwrap(); - i += 1; - } - - if i > 0 || self.flags & O_NONBLOCK == O_NONBLOCK { - Ok(i) - } else { - Err(Error::new(EWOULDBLOCK)) - } - } else { - Ok(0) - } - } - - fn write(&self, buf: &[u8]) -> Result { - if let Some(write_lock) = self.write.upgrade() { - let mut vec = Vec::new(); - vec.push(0); - vec.extend_from_slice(buf); - - let mut write = write_lock.borrow_mut(); - write.push_back(vec); - - Ok(buf.len()) - } else { - Err(Error::new(EPIPE)) - } - } - - fn sync(&self) -> Result { - if let Some(write_lock) = self.write.upgrade() { - let mut vec = Vec::new(); - vec.push(1); - - let mut write = write_lock.borrow_mut(); - write.push_back(vec); - - Ok(0) - } else { - Err(Error::new(EPIPE)) - } - } - - fn fcntl(&mut self, cmd: usize, arg: usize) -> Result { - match cmd { - F_GETFL => Ok(self.flags), - F_SETFL => { - self.flags = arg & ! O_ACCMODE; - Ok(0) - }, - _ => Err(Error::new(EINVAL)) - } - } -} - -fn main(){ - // Daemonize - if unsafe { syscall::clone(0).unwrap() } == 0 { - let mut socket = File::create(":pty").expect("pty: failed to create pty scheme"); - let mut scheme = PtyScheme::new(); - let mut todo = Vec::new(); - loop { - let mut packet = Packet::default(); - socket.read(&mut packet).expect("pty: failed to read events from pty scheme"); - - let a = packet.a; - scheme.handle(&mut packet); - if packet.a == (-EWOULDBLOCK) as usize { - packet.a = a; - todo.push(packet); - } else { - socket.write(&packet).expect("pty: failed to write responses to pty scheme"); - } - - let mut i = 0; - while i < todo.len() { - let a = todo[i].a; - scheme.handle(&mut todo[i]); - if todo[i].a == (-EWOULDBLOCK) as usize { - todo[i].a = a; - i += 1; - } else { - let packet = todo.remove(i); - socket.write(&packet).expect("pty: failed to write responses to pty scheme"); - } - } - - for (id, master) in scheme.ptys.0.iter() { - let read = master.read.borrow(); - if let Some(data) = read.front() { - socket.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: syscall::flag::EVENT_READ, - d: data.len() - }).expect("pty: failed to write event"); - } else if Rc::weak_count(&master.read) == 0 { - socket.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: syscall::flag::EVENT_READ, - d: 0 - }).expect("pty: failed to write event"); - } - } - - for (id, slave) in scheme.ptys.1.iter() { - if let Some(read_lock) = slave.read.upgrade() { - let read = read_lock.borrow(); - if ! read.is_empty() { - socket.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: syscall::flag::EVENT_READ, - d: read.len() - }).expect("pty: failed to write event"); - } - } else { - socket.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: syscall::flag::EVENT_READ, - d: 0 - }).expect("pty: failed to write event"); - } - } - } - } -} diff --git a/schemes/randd/Cargo.toml b/schemes/randd/Cargo.toml deleted file mode 100644 index 3b7ebf2..0000000 --- a/schemes/randd/Cargo.toml +++ /dev/null @@ -1,7 +0,0 @@ -[package] -name = "randd" -version = "0.1.0" - -[dependencies] -raw-cpuid = "2.0" -redox_syscall = "0.1" diff --git a/schemes/randd/src/main.rs b/schemes/randd/src/main.rs deleted file mode 100644 index c15936d..0000000 --- a/schemes/randd/src/main.rs +++ /dev/null @@ -1,92 +0,0 @@ -#![feature(asm)] -#![feature(rand)] - -extern crate syscall; -extern crate raw_cpuid; -extern crate rand; - -use std::fs::File; -use std::io::{Read, Write}; - -use rand::chacha::ChaChaRng; -use rand::Rng; - -use raw_cpuid::CpuId; - -use syscall::{Packet, Result, SchemeMut}; - -//TODO: Use a CSPRNG, allow write of entropy -struct RandScheme { - prng: ChaChaRng -} - -impl SchemeMut for RandScheme { - fn open(&mut self, _path: &[u8], _flags: usize, _uid: u32, _gid: u32) -> Result { - Ok(0) - } - - fn dup(&mut self, file: usize, _buf: &[u8]) -> Result { - Ok(file) - } - - fn read(&mut self, _file: usize, buf: &mut [u8]) -> Result { - let mut i = 0; - for chunk in buf.chunks_mut(8) { - let mut rand = self.prng.next_u64(); - for b in chunk.iter_mut() { - *b = rand as u8; - rand = rand >> 8; - i += 1; - } - } - Ok(i) - } - - fn fpath(&mut self, _file: usize, buf: &mut [u8]) -> Result { - let mut i = 0; - let scheme_path = b"rand"; - while i < buf.len() && i < scheme_path.len() { - buf[i] = scheme_path[i]; - i += 1; - } - Ok(i) - } - - fn close(&mut self, _file: usize) -> Result { - Ok(0) - } -} - -fn main(){ - let has_rdrand = CpuId::new().get_feature_info().unwrap().has_rdrand(); - - // Daemonize - if unsafe { syscall::clone(0).unwrap() } == 0 { - let mut socket = File::create(":rand").expect("rand: failed to create rand scheme"); - - let mut rng = ChaChaRng::new_unseeded(); - - if has_rdrand { - println!("rand: seeding with rdrand"); - let rand: u64; - unsafe { - asm!("rdrand rax" - : "={rax}"(rand) - : - : - : "intel", "volatile"); - } - rng.set_counter(0, rand); - } else { - println!("rand: unseeded"); - } - - let mut scheme = RandScheme{prng: rng}; - loop { - let mut packet = Packet::default(); - socket.read(&mut packet).expect("rand: failed to read events from rand scheme"); - scheme.handle(&mut packet); - socket.write(&packet).expect("rand: failed to write responses to rand scheme"); - } - } -} diff --git a/schemes/redoxfs b/schemes/redoxfs deleted file mode 160000 index 6c1d98c..0000000 --- a/schemes/redoxfs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6c1d98cea83e2bb02b940959e6b07625ec12656f diff --git a/schemes/tcpd/Cargo.toml b/schemes/tcpd/Cargo.toml deleted file mode 100644 index f756ee2..0000000 --- a/schemes/tcpd/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "tcpd" -version = "0.1.0" - -[dependencies] -netutils = { git = "https://github.com/redox-os/netutils.git" } -rand = "0.3" -redox_event = { git = "https://github.com/redox-os/event.git" } -redox_syscall = "0.1" diff --git a/schemes/tcpd/src/main.rs b/schemes/tcpd/src/main.rs deleted file mode 100644 index 8878b00..0000000 --- a/schemes/tcpd/src/main.rs +++ /dev/null @@ -1,937 +0,0 @@ -extern crate event; -extern crate netutils; -extern crate rand; -extern crate syscall; - -use rand::{Rng, OsRng}; -use std::collections::{BTreeMap, VecDeque}; -use std::cell::RefCell; -use std::fs::File; -use std::io::{self, Read, Write}; -use std::{mem, process, slice, str}; -use std::ops::{Deref, DerefMut}; -use std::os::unix::io::FromRawFd; -use std::rc::Rc; - -use event::EventQueue; -use netutils::{n16, n32, Ipv4, Ipv4Addr, Ipv4Header, Tcp, TcpHeader, Checksum, TCP_FIN, TCP_SYN, TCP_RST, TCP_PSH, TCP_ACK}; -use syscall::data::{Packet, TimeSpec}; -use syscall::error::{Error, Result, EACCES, EADDRINUSE, EBADF, EIO, EINVAL, EISCONN, EMSGSIZE, ENOTCONN, ETIMEDOUT, EWOULDBLOCK}; -use syscall::flag::{CLOCK_MONOTONIC, EVENT_READ, F_GETFL, F_SETFL, O_ACCMODE, O_CREAT, O_RDWR, O_NONBLOCK}; -use syscall::scheme::SchemeMut; - -fn add_time(a: &TimeSpec, b: &TimeSpec) -> TimeSpec { - let mut secs = a.tv_sec + b.tv_sec; - - let mut nsecs = a.tv_nsec + b.tv_nsec; - while nsecs >= 1000000000 { - nsecs -= 1000000000; - secs += 1; - } - - TimeSpec { - tv_sec: secs, - tv_nsec: nsecs - } -} - -fn parse_socket(socket: &str) -> (Ipv4Addr, u16) { - let mut socket_parts = socket.split(":"); - let host = Ipv4Addr::from_str(socket_parts.next().unwrap_or("")); - let port = socket_parts.next().unwrap_or("").parse::().unwrap_or(0); - (host, port) -} - -#[derive(Copy, Clone, Debug, Eq, PartialEq)] -enum State { - Listen, - SynSent, - SynReceived, - Established, - FinWait1, - FinWait2, - CloseWait, - Closing, - LastAck, - TimeWait, - Closed -} - -struct TcpHandle { - local: (Ipv4Addr, u16), - remote: (Ipv4Addr, u16), - flags: usize, - events: usize, - read_timeout: Option, - write_timeout: Option, - ttl: u8, - state: State, - seq: u32, - ack: u32, - data: VecDeque<(Ipv4, Tcp)>, - todo_dup: VecDeque, - todo_read: VecDeque<(Option, Packet)>, - todo_write: VecDeque<(Option, Packet)>, -} - -impl TcpHandle { - fn is_connected(&self) -> bool { - self.remote.0 != Ipv4Addr::NULL && self.remote.1 != 0 - } - - fn read_closed(&self) -> bool { - self.state == State::CloseWait || self.state == State::LastAck || self.state == State::TimeWait || self.state == State::Closed - } - - fn matches(&self, ip: &Ipv4, tcp: &Tcp) -> bool { - // Local address not set or IP dst matches or is broadcast - (self.local.0 == Ipv4Addr::NULL || ip.header.dst == self.local.0 || ip.header.dst == Ipv4Addr::BROADCAST) - // Local port matches UDP dst - && tcp.header.dst.get() == self.local.1 - // Remote address not set or is broadcast, or IP src matches - && (self.remote.0 == Ipv4Addr::NULL || self.remote.0 == Ipv4Addr::BROADCAST || ip.header.src == self.remote.0) - // Remote port not set or UDP src matches - && (self.remote.1 == 0 || tcp.header.src.get() == self.remote.1) - } - - fn create_tcp(&self, flags: u16, data: Vec) -> Tcp { - Tcp { - header: TcpHeader { - src: n16::new(self.local.1), - dst: n16::new(self.remote.1), - sequence: n32::new(self.seq), - ack_num: n32::new(self.ack), - flags: n16::new(((mem::size_of::() << 10) & 0xF000) as u16 | (flags & 0xFFF)), - window_size: n16::new(8192), - checksum: Checksum { data: 0 }, - urgent_pointer: n16::new(0), - }, - options: Vec::new(), - data: data - } - } - - fn create_ip(&self, id: u16, data: Vec) -> Ipv4 { - Ipv4 { - header: Ipv4Header { - ver_hlen: 0x45, - services: 0, - len: n16::new((data.len() + mem::size_of::()) as u16), - id: n16::new(id), - flags_fragment: n16::new(0), - ttl: self.ttl, - proto: 0x06, - checksum: Checksum { data: 0 }, - src: self.local.0, - dst: self.remote.0 - }, - options: Vec::new(), - data: data - } - } -} - -#[derive(Copy, Clone)] -enum SettingKind { - Ttl, - ReadTimeout, - WriteTimeout -} - -enum Handle { - Tcp(TcpHandle), - Setting(usize, SettingKind), -} - -struct Tcpd { - scheme_file: File, - tcp_file: File, - time_file: File, - ports: BTreeMap, - next_id: usize, - handles: BTreeMap, - rng: OsRng, -} - -impl Tcpd { - fn new(scheme_file: File, tcp_file: File, time_file: File) -> Self { - Tcpd { - scheme_file: scheme_file, - tcp_file: tcp_file, - time_file: time_file, - ports: BTreeMap::new(), - next_id: 1, - handles: BTreeMap::new(), - rng: OsRng::new().expect("tcpd: failed to open RNG") - } - } - - fn scheme_event(&mut self) -> io::Result<()> { - loop { - let mut packet = Packet::default(); - if self.scheme_file.read(&mut packet)? == 0 { - break; - } - - let a = packet.a; - self.handle(&mut packet); - if packet.a == (-EWOULDBLOCK) as usize { - if let Some(mut handle) = self.handles.get_mut(&packet.b) { - if let Handle::Tcp(ref mut handle) = *handle { - match a { - syscall::number::SYS_DUP => { - packet.a = a; - handle.todo_dup.push_back(packet); - }, - syscall::number::SYS_READ => { - packet.a = a; - - let timeout = match handle.read_timeout { - Some(read_timeout) => { - let mut time = TimeSpec::default(); - syscall::clock_gettime(CLOCK_MONOTONIC, &mut time).map_err(|err| io::Error::from_raw_os_error(err.errno))?; - - let timeout = add_time(&time, &read_timeout); - self.time_file.write(&timeout)?; - Some(timeout) - }, - None => None - }; - - handle.todo_read.push_back((timeout, packet)); - }, - syscall::number::SYS_WRITE => { - packet.a = a; - - let timeout = match handle.write_timeout { - Some(write_timeout) => { - let mut time = TimeSpec::default(); - syscall::clock_gettime(CLOCK_MONOTONIC, &mut time).map_err(|err| io::Error::from_raw_os_error(err.errno))?; - - let timeout = add_time(&time, &write_timeout); - self.time_file.write(&timeout)?; - Some(timeout) - }, - None => None - }; - - handle.todo_write.push_back((timeout, packet)); - }, - _ => { - self.scheme_file.write(&packet)?; - } - } - } - } - } else { - self.scheme_file.write(&packet)?; - } - } - - Ok(()) - } - - fn tcp_event(&mut self) -> io::Result<()> { - loop { - let mut bytes = [0; 65536]; - let count = self.tcp_file.read(&mut bytes)?; - if count == 0 { - break; - } - if let Some(ip) = Ipv4::from_bytes(&bytes[.. count]) { - if let Some(tcp) = Tcp::from_bytes(&ip.data) { - let mut closing = Vec::new(); - let mut found_connection = false; - for (id, handle) in self.handles.iter_mut() { - if let Handle::Tcp(ref mut handle) = *handle { - if handle.state != State::Listen && handle.matches(&ip, &tcp) { - found_connection = true; - - match handle.state { - State::SynReceived => if tcp.header.flags.get() & (TCP_SYN | TCP_ACK) == TCP_ACK && tcp.header.ack_num.get() == handle.seq { - handle.state = State::Established; - }, - State::SynSent => if tcp.header.flags.get() & (TCP_SYN | TCP_ACK) == TCP_SYN | TCP_ACK && tcp.header.ack_num.get() == handle.seq { - handle.state = State::Established; - handle.ack = tcp.header.sequence.get() + 1; - - let tcp = handle.create_tcp(TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes())?; - }, - State::Established => if tcp.header.flags.get() & (TCP_SYN | TCP_ACK) == TCP_ACK && tcp.header.ack_num.get() == handle.seq { - handle.ack = tcp.header.sequence.get(); - - if ! tcp.data.is_empty() { - handle.data.push_back((ip.clone(), tcp.clone())); - handle.ack += tcp.data.len() as u32; - - let tcp = handle.create_tcp(TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes())?; - } else if tcp.header.flags.get() & TCP_FIN == TCP_FIN { - handle.state = State::CloseWait; - - handle.ack += 1; - - let tcp = handle.create_tcp(TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes())?; - } - }, - //TODO: Time wait - State::FinWait1 => if tcp.header.flags.get() & (TCP_SYN | TCP_ACK) == TCP_ACK && tcp.header.ack_num.get() == handle.seq { - handle.ack = tcp.header.sequence.get() + 1; - - if tcp.header.flags.get() & TCP_FIN == TCP_FIN { - handle.state = State::TimeWait; - - let tcp = handle.create_tcp(TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes())?; - - closing.push(*id); - } else { - handle.state = State::FinWait2; - } - }, - State::FinWait2 => if tcp.header.flags.get() & (TCP_SYN | TCP_ACK | TCP_FIN) == TCP_ACK | TCP_FIN && tcp.header.ack_num.get() == handle.seq { - handle.ack = tcp.header.sequence.get() + 1; - - handle.state = State::TimeWait; - - let tcp = handle.create_tcp(TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes())?; - - closing.push(*id); - }, - State::LastAck => if tcp.header.flags.get() & (TCP_SYN | TCP_ACK) == TCP_ACK && tcp.header.ack_num.get() == handle.seq { - handle.state = State::Closed; - closing.push(*id); - }, - _ => () - } - - while ! handle.todo_read.is_empty() && (! handle.data.is_empty() || handle.read_closed()) { - let (_timeout, mut packet) = handle.todo_read.pop_front().unwrap(); - let buf = unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }; - if let Some((_ip, tcp)) = handle.data.pop_front() { - let mut i = 0; - while i < buf.len() && i < tcp.data.len() { - buf[i] = tcp.data[i]; - i += 1; - } - packet.a = i; - } else { - packet.a = 0; - } - - self.scheme_file.write(&packet)?; - } - - if ! handle.todo_write.is_empty() && handle.state == State::Established { - let (_timeout, mut packet) = handle.todo_write.pop_front().unwrap(); - let buf = unsafe { slice::from_raw_parts(packet.c as *const u8, packet.d) }; - - let tcp = handle.create_tcp(TCP_ACK | TCP_PSH, buf.to_vec()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - let result = self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))); - if result.is_ok() { - handle.seq += buf.len() as u32; - } - packet.a = Error::mux(result.and(Ok(buf.len()))); - - self.scheme_file.write(&packet)?; - } - - if handle.events & EVENT_READ == EVENT_READ { - if let Some(&(ref _ip, ref tcp)) = handle.data.get(0) { - self.scheme_file.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: EVENT_READ, - d: tcp.data.len() - })?; - } - } - } - } - } - - for file in closing { - if let Handle::Tcp(handle) = self.handles.remove(&file).unwrap() { - let remove = if let Some(mut port) = self.ports.get_mut(&handle.local.1) { - *port = *port + 1; - *port == 0 - } else { - false - }; - - if remove { - self.ports.remove(&handle.local.1); - } - } - } - - if ! found_connection && tcp.header.flags.get() & (TCP_SYN | TCP_ACK) == TCP_SYN { - let mut new_handles = Vec::new(); - - for (_id, handle) in self.handles.iter_mut() { - if let Handle::Tcp(ref mut handle) = *handle { - if handle.state == State::Listen && handle.matches(&ip, &tcp) { - handle.data.push_back((ip.clone(), tcp.clone())); - - while ! handle.todo_dup.is_empty() && ! handle.data.is_empty() { - let mut packet = handle.todo_dup.pop_front().unwrap(); - let (ip, tcp) = handle.data.pop_front().unwrap(); - - let mut new_handle = TcpHandle { - local: handle.local, - remote: (ip.header.src, tcp.header.src.get()), - flags: handle.flags, - events: 0, - read_timeout: handle.read_timeout, - write_timeout: handle.write_timeout, - ttl: handle.ttl, - state: State::SynReceived, - seq: self.rng.gen(), - ack: tcp.header.sequence.get() + 1, - data: VecDeque::new(), - todo_dup: VecDeque::new(), - todo_read: VecDeque::new(), - todo_write: VecDeque::new(), - }; - - let tcp = new_handle.create_tcp(TCP_SYN | TCP_ACK, Vec::new()); - let ip = new_handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes())?; - - new_handle.seq += 1; - - handle.data.retain(|&(ref ip, ref tcp)| { - if new_handle.matches(ip, tcp) { - false - } else { - true - } - }); - - if let Some(mut port) = self.ports.get_mut(&handle.local.1) { - *port = *port + 1; - } - - let id = self.next_id; - self.next_id += 1; - - packet.a = id; - - new_handles.push((packet, Handle::Tcp(new_handle))); - } - } - } - } - - for (packet, new_handle) in new_handles { - self.handles.insert(packet.a, new_handle); - self.scheme_file.write(&packet)?; - } - } - } - } - } - - Ok(()) - } - - fn time_event(&mut self) -> io::Result<()> { - let mut time = TimeSpec::default(); - if self.time_file.read(&mut time)? < mem::size_of::() { - return Err(io::Error::from_raw_os_error(EINVAL)); - } - - for (_id, handle) in self.handles.iter_mut() { - if let Handle::Tcp(ref mut handle) = *handle { - let mut i = 0; - while i < handle.todo_read.len() { - if let Some(timeout) = handle.todo_read.get(i).map(|e| e.0.clone()).unwrap_or(None) { - if time.tv_sec > timeout.tv_sec || (time.tv_sec == timeout.tv_sec && time.tv_nsec >= timeout.tv_nsec) { - let (_timeout, mut packet) = handle.todo_read.remove(i).unwrap(); - packet.a = (-ETIMEDOUT) as usize; - self.scheme_file.write(&packet)?; - } else { - i += 1; - } - } else { - i += 1; - } - } - - let mut i = 0; - while i < handle.todo_write.len() { - if let Some(timeout) = handle.todo_write.get(i).map(|e| e.0.clone()).unwrap_or(None) { - if time.tv_sec > timeout.tv_sec || (time.tv_sec == timeout.tv_sec && time.tv_nsec >= timeout.tv_nsec) { - let (_timeout, mut packet) = handle.todo_write.remove(i).unwrap(); - packet.a = (-ETIMEDOUT) as usize; - self.scheme_file.write(&packet)?; - } else { - i += 1; - } - } else { - i += 1; - } - } - } - } - - Ok(()) - } -} - -impl SchemeMut for Tcpd { - fn open(&mut self, url: &[u8], flags: usize, uid: u32, _gid: u32) -> Result { - let path = str::from_utf8(url).or(Err(Error::new(EINVAL)))?; - - let mut parts = path.split("/"); - let remote = parse_socket(parts.next().unwrap_or("")); - let mut local = parse_socket(parts.next().unwrap_or("")); - - if local.1 == 0 { - local.1 = self.rng.gen_range(32768, 65535); - } - - if local.1 <= 1024 && uid != 0 { - return Err(Error::new(EACCES)); - } - - if self.ports.contains_key(&local.1) { - return Err(Error::new(EADDRINUSE)); - } - - let mut handle = TcpHandle { - local: local, - remote: remote, - flags: flags, - events: 0, - read_timeout: None, - write_timeout: None, - ttl: 64, - state: State::Listen, - seq: 0, - ack: 0, - data: VecDeque::new(), - todo_dup: VecDeque::new(), - todo_read: VecDeque::new(), - todo_write: VecDeque::new(), - }; - - if handle.is_connected() { - handle.seq = self.rng.gen(); - handle.ack = 0; - handle.state = State::SynSent; - - let tcp = handle.create_tcp(TCP_SYN, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - - handle.seq += 1; - } - - self.ports.insert(local.1, 1); - - let id = self.next_id; - self.next_id += 1; - - self.handles.insert(id, Handle::Tcp(handle)); - - Ok(id) - } - - fn dup(&mut self, file: usize, buf: &[u8]) -> Result { - let handle = match *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - Handle::Tcp(ref mut handle) => { - let mut new_handle = TcpHandle { - local: handle.local, - remote: handle.remote, - flags: handle.flags, - events: 0, - read_timeout: handle.read_timeout, - write_timeout: handle.write_timeout, - ttl: handle.ttl, - state: handle.state, - seq: handle.seq, - ack: handle.ack, - data: VecDeque::new(), - todo_dup: VecDeque::new(), - todo_read: VecDeque::new(), - todo_write: VecDeque::new(), - }; - - let path = str::from_utf8(buf).or(Err(Error::new(EINVAL)))?; - - if path == "ttl" { - Handle::Setting(file, SettingKind::Ttl) - } else if path == "read_timeout" { - Handle::Setting(file, SettingKind::ReadTimeout) - } else if path == "write_timeout" { - Handle::Setting(file, SettingKind::WriteTimeout) - } else if path == "listen" { - if handle.is_connected() { - return Err(Error::new(EISCONN)); - } else if let Some((ip, tcp)) = handle.data.pop_front() { - new_handle.remote = (ip.header.src, tcp.header.src.get()); - - new_handle.seq = self.rng.gen(); - new_handle.ack = tcp.header.sequence.get() + 1; - new_handle.state = State::SynReceived; - - let tcp = new_handle.create_tcp(TCP_SYN | TCP_ACK, Vec::new()); - let ip = new_handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))).and(Ok(buf.len()))?; - - new_handle.seq += 1; - } else { - return Err(Error::new(EWOULDBLOCK)); - } - - handle.data.retain(|&(ref ip, ref tcp)| { - if new_handle.matches(ip, tcp) { - false - } else { - true - } - }); - - Handle::Tcp(new_handle) - } else if path.is_empty() { - new_handle.data = handle.data.clone(); - - Handle::Tcp(new_handle) - } else if handle.is_connected() { - return Err(Error::new(EISCONN)); - } else { - new_handle.remote = parse_socket(path); - - if new_handle.is_connected() { - new_handle.seq = self.rng.gen(); - new_handle.ack = 0; - new_handle.state = State::SynSent; - - handle.data.retain(|&(ref ip, ref tcp)| { - if new_handle.matches(ip, tcp) { - new_handle.data.push_back((ip.clone(), tcp.clone())); - false - } else { - true - } - }); - - let tcp = new_handle.create_tcp(TCP_SYN, Vec::new()); - let ip = new_handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))).and(Ok(buf.len()))?; - - new_handle.seq += 1; - - Handle::Tcp(new_handle) - } else { - return Err(Error::new(EINVAL)); - } - } - }, - Handle::Setting(file, kind) => { - Handle::Setting(file, kind) - } - }; - - let id = self.next_id; - self.next_id += 1; - - self.handles.insert(id, handle); - - Ok(id) - } - - fn read(&mut self, file: usize, buf: &mut [u8]) -> Result { - let (file, kind) = match *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - Handle::Tcp(ref mut handle) => { - if ! handle.is_connected() { - return Err(Error::new(ENOTCONN)); - } else if let Some((ip, mut tcp)) = handle.data.pop_front() { - let len = std::cmp::min(buf.len(), tcp.data.len()); - for (i, c) in tcp.data.drain(0..len).enumerate() { - buf[i] = c; - } - if !tcp.data.is_empty() { - handle.data.push_front((ip, tcp)); - } - - return Ok(len); - } else if handle.flags & O_NONBLOCK == O_NONBLOCK || handle.read_closed() { - return Ok(0); - } else { - return Err(Error::new(EWOULDBLOCK)); - } - }, - Handle::Setting(file, kind) => { - (file, kind) - } - }; - - if let Handle::Tcp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - let get_timeout = |timeout: &Option, buf: &mut [u8]| -> Result { - if let Some(ref timespec) = *timeout { - timespec.deref().read(buf).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))) - } else { - Ok(0) - } - }; - - match kind { - SettingKind::Ttl => { - if let Some(mut ttl) = buf.get_mut(0) { - *ttl = handle.ttl; - Ok(1) - } else { - Ok(0) - } - }, - SettingKind::ReadTimeout => { - get_timeout(&handle.read_timeout, buf) - }, - SettingKind::WriteTimeout => { - get_timeout(&handle.write_timeout, buf) - } - } - } else { - Err(Error::new(EBADF)) - } - } - - fn write(&mut self, file: usize, buf: &[u8]) -> Result { - let (file, kind) = match *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - Handle::Tcp(ref mut handle) => { - if ! handle.is_connected() { - return Err(Error::new(ENOTCONN)); - } else if buf.len() >= 65507 { - return Err(Error::new(EMSGSIZE)); - } else { - match handle.state { - State::Established => { - let tcp = handle.create_tcp(TCP_ACK | TCP_PSH, buf.to_vec()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - handle.seq += buf.len() as u32; - return Ok(buf.len()); - }, - _ => { - return Err(Error::new(EWOULDBLOCK)); - } - } - } - }, - Handle::Setting(file, kind) => { - (file, kind) - } - }; - - if let Handle::Tcp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - let set_timeout = |timeout: &mut Option, buf: &[u8]| -> Result { - if buf.len() >= mem::size_of::() { - let mut timespec = TimeSpec::default(); - let count = timespec.deref_mut().write(buf).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - *timeout = Some(timespec); - Ok(count) - } else { - *timeout = None; - Ok(0) - } - }; - - match kind { - SettingKind::Ttl => { - if let Some(ttl) = buf.get(0) { - handle.ttl = *ttl; - Ok(1) - } else { - Ok(0) - } - }, - SettingKind::ReadTimeout => { - set_timeout(&mut handle.read_timeout, buf) - }, - SettingKind::WriteTimeout => { - set_timeout(&mut handle.write_timeout, buf) - } - } - } else { - Err(Error::new(EBADF)) - } - } - - fn fcntl(&mut self, file: usize, cmd: usize, arg: usize) -> Result { - if let Handle::Tcp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - match cmd { - F_GETFL => Ok(handle.flags), - F_SETFL => { - handle.flags = arg & ! O_ACCMODE; - Ok(0) - }, - _ => Err(Error::new(EINVAL)) - } - } else { - Err(Error::new(EBADF)) - } - } - - fn fevent(&mut self, file: usize, flags: usize) -> Result { - if let Handle::Tcp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - handle.events = flags; - Ok(file) - } else { - Err(Error::new(EBADF)) - } - } - - fn fpath(&mut self, file: usize, buf: &mut [u8]) -> Result { - if let Handle::Tcp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - let path_string = format!("udp:{}:{}/{}:{}", handle.remote.0.to_string(), handle.remote.1, handle.local.0.to_string(), handle.local.1); - let path = path_string.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } else { - Err(Error::new(EBADF)) - } - } - - fn fsync(&mut self, file: usize) -> Result { - let _handle = self.handles.get(&file).ok_or(Error::new(EBADF))?; - - Ok(0) - } - - fn close(&mut self, file: usize) -> Result { - let closed = { - if let Handle::Tcp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - handle.data.clear(); - - match handle.state { - State::SynReceived | State::Established => { - handle.state = State::FinWait1; - - let tcp = handle.create_tcp(TCP_FIN | TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - - handle.seq += 1; - - false - }, - State::CloseWait => { - handle.state = State::LastAck; - - let tcp = handle.create_tcp(TCP_FIN | TCP_ACK, Vec::new()); - let ip = handle.create_ip(self.rng.gen(), tcp.to_bytes()); - self.tcp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - - handle.seq += 1; - - false - }, - _ => true - } - } else { - true - } - }; - - if closed { - if let Handle::Tcp(handle) = self.handles.remove(&file).ok_or(Error::new(EBADF))? { - let remove = if let Some(mut port) = self.ports.get_mut(&handle.local.1) { - *port = *port + 1; - *port == 0 - } else { - false - }; - - if remove { - self.ports.remove(&handle.local.1); - } - } - } - - Ok(0) - } -} - -fn daemon(scheme_fd: usize, tcp_fd: usize, time_fd: usize) { - let scheme_file = unsafe { File::from_raw_fd(scheme_fd) }; - let tcp_file = unsafe { File::from_raw_fd(tcp_fd) }; - let time_file = unsafe { File::from_raw_fd(time_fd) }; - - let tcpd = Rc::new(RefCell::new(Tcpd::new(scheme_file, tcp_file, time_file))); - - let mut event_queue = EventQueue::<()>::new().expect("tcpd: failed to create event queue"); - - let time_tcpd = tcpd.clone(); - event_queue.add(time_fd, move |_count: usize| -> io::Result> { - time_tcpd.borrow_mut().time_event()?; - Ok(None) - }).expect("tcpd: failed to listen to events on time:"); - - let tcp_tcpd = tcpd.clone(); - event_queue.add(tcp_fd, move |_count: usize| -> io::Result> { - tcp_tcpd.borrow_mut().tcp_event()?; - Ok(None) - }).expect("tcpd: failed to listen to events on ip:6"); - - event_queue.add(scheme_fd, move |_count: usize| -> io::Result> { - tcpd.borrow_mut().scheme_event()?; - Ok(None) - }).expect("tcpd: failed to listen to events on :tcp"); - - event_queue.trigger_all(0).expect("tcpd: failed to trigger event queue"); - - event_queue.run().expect("tcpd: failed to run event queue"); -} - -fn main() { - let time_path = format!("time:{}", CLOCK_MONOTONIC); - match syscall::open(&time_path, O_RDWR) { - Ok(time_fd) => { - match syscall::open("ip:6", O_RDWR | O_NONBLOCK) { - Ok(tcp_fd) => { - // Daemonize - if unsafe { syscall::clone(0).unwrap() } == 0 { - match syscall::open(":tcp", O_RDWR | O_CREAT | O_NONBLOCK) { - Ok(scheme_fd) => { - daemon(scheme_fd, tcp_fd, time_fd); - }, - Err(err) => { - println!("tcpd: failed to create tcp scheme: {}", err); - process::exit(1); - } - } - } - }, - Err(err) => { - println!("tcpd: failed to open ip:6: {}", err); - process::exit(1); - } - } - }, - Err(err) => { - println!("tcpd: failed to open {}: {}", time_path, err); - process::exit(1); - } - } -} diff --git a/schemes/udpd/Cargo.toml b/schemes/udpd/Cargo.toml deleted file mode 100644 index d7dc3e3..0000000 --- a/schemes/udpd/Cargo.toml +++ /dev/null @@ -1,9 +0,0 @@ -[package] -name = "udpd" -version = "0.1.0" - -[dependencies] -netutils = { git = "https://github.com/redox-os/netutils.git" } -rand = "0.3" -redox_event = { git = "https://github.com/redox-os/event.git" } -redox_syscall = "0.1" diff --git a/schemes/udpd/src/main.rs b/schemes/udpd/src/main.rs deleted file mode 100644 index 23d6479..0000000 --- a/schemes/udpd/src/main.rs +++ /dev/null @@ -1,586 +0,0 @@ -extern crate event; -extern crate netutils; -extern crate rand; -extern crate syscall; - -use rand::{Rng, OsRng}; -use std::collections::{BTreeMap, VecDeque}; -use std::cell::RefCell; -use std::fs::File; -use std::io::{self, Read, Write}; -use std::{mem, process, slice, str}; -use std::ops::{Deref, DerefMut}; -use std::os::unix::io::FromRawFd; -use std::rc::Rc; - -use event::EventQueue; -use netutils::{n16, Ipv4, Ipv4Addr, Ipv4Header, Checksum}; -use netutils::udp::{Udp, UdpHeader}; -use syscall::data::{Packet, TimeSpec}; -use syscall::error::{Error, Result, EACCES, EADDRINUSE, EBADF, EIO, EINVAL, EMSGSIZE, ENOTCONN, ETIMEDOUT, EWOULDBLOCK}; -use syscall::flag::{CLOCK_MONOTONIC, EVENT_READ, F_GETFL, F_SETFL, O_ACCMODE, O_CREAT, O_RDWR, O_NONBLOCK}; -use syscall::number::{SYS_READ, SYS_WRITE}; -use syscall::scheme::SchemeMut; - -fn add_time(a: &TimeSpec, b: &TimeSpec) -> TimeSpec { - let mut secs = a.tv_sec + b.tv_sec; - - let mut nsecs = a.tv_nsec + b.tv_nsec; - while nsecs >= 1000000000 { - nsecs -= 1000000000; - secs += 1; - } - - TimeSpec { - tv_sec: secs, - tv_nsec: nsecs - } -} - -fn parse_socket(socket: &str) -> (Ipv4Addr, u16) { - let mut socket_parts = socket.split(":"); - let host = Ipv4Addr::from_str(socket_parts.next().unwrap_or("")); - let port = socket_parts.next().unwrap_or("").parse::().unwrap_or(0); - (host, port) -} - -struct UdpHandle { - local: (Ipv4Addr, u16), - remote: (Ipv4Addr, u16), - flags: usize, - events: usize, - read_timeout: Option, - write_timeout: Option, - ttl: u8, - data: VecDeque>, - todo: VecDeque<(Option, Packet)>, -} - -#[derive(Copy, Clone)] -enum SettingKind { - Ttl, - ReadTimeout, - WriteTimeout -} - -enum Handle { - Udp(UdpHandle), - Setting(usize, SettingKind), -} - -struct Udpd { - scheme_file: File, - udp_file: File, - time_file: File, - ports: BTreeMap, - next_id: usize, - handles: BTreeMap, - rng: OsRng, -} - -impl Udpd { - fn new(scheme_file: File, udp_file: File, time_file: File) -> Self { - Udpd { - scheme_file: scheme_file, - udp_file: udp_file, - time_file: time_file, - ports: BTreeMap::new(), - next_id: 1, - handles: BTreeMap::new(), - rng: OsRng::new().expect("udpd: failed to open RNG") - } - } - - fn scheme_event(&mut self) -> io::Result<()> { - loop { - let mut packet = Packet::default(); - if self.scheme_file.read(&mut packet)? == 0 { - break; - } - - let a = packet.a; - self.handle(&mut packet); - if packet.a == (-EWOULDBLOCK) as usize { - packet.a = a; - if let Some(mut handle) = self.handles.get_mut(&packet.b) { - if let Handle::Udp(ref mut handle) = *handle { - let timeout = match packet.a { - SYS_READ => match handle.read_timeout { - Some(read_timeout) => { - let mut time = TimeSpec::default(); - syscall::clock_gettime(CLOCK_MONOTONIC, &mut time).map_err(|err| io::Error::from_raw_os_error(err.errno))?; - - let timeout = add_time(&time, &read_timeout); - self.time_file.write(&timeout)?; - Some(timeout) - }, - None => None - }, - SYS_WRITE => match handle.write_timeout { - Some(write_timeout) => { - let mut time = TimeSpec::default(); - syscall::clock_gettime(CLOCK_MONOTONIC, &mut time).map_err(|err| io::Error::from_raw_os_error(err.errno))?; - - let timeout = add_time(&time, &write_timeout); - self.time_file.write(&timeout)?; - Some(timeout) - }, - None => None - }, - _ => None - }; - - handle.todo.push_back((timeout, packet)); - } - } - } else { - self.scheme_file.write(&packet)?; - } - } - - Ok(()) - } - - fn udp_event(&mut self) -> io::Result<()> { - loop { - let mut bytes = [0; 65536]; - let count = self.udp_file.read(&mut bytes)?; - if count == 0 { - break; - } - if let Some(ip) = Ipv4::from_bytes(&bytes[.. count]) { - if let Some(udp) = Udp::from_bytes(&ip.data) { - for (id, handle) in self.handles.iter_mut() { - if let Handle::Udp(ref mut handle) = *handle { - // Local address not set or IP dst matches or is broadcast - if (handle.local.0 == Ipv4Addr::NULL || ip.header.dst == handle.local.0 || ip.header.dst == Ipv4Addr::BROADCAST) - // Local port matches UDP dst - && udp.header.dst.get() == handle.local.1 - // Remote address not set or is broadcast, or IP src matches - && (handle.remote.0 == Ipv4Addr::NULL || handle.remote.0 == Ipv4Addr::BROADCAST || ip.header.src == handle.remote.0) - // Remote port not set or UDP src matches - && (handle.remote.1 == 0 || udp.header.src.get() == handle.remote.1) - { - handle.data.push_back(udp.data.clone()); - - while ! handle.todo.is_empty() && ! handle.data.is_empty() { - let (_timeout, mut packet) = handle.todo.pop_front().unwrap(); - let buf = unsafe { slice::from_raw_parts_mut(packet.c as *mut u8, packet.d) }; - let data = handle.data.pop_front().unwrap(); - - let mut i = 0; - while i < buf.len() && i < data.len() { - buf[i] = data[i]; - i += 1; - } - packet.a = i; - - self.scheme_file.write(&packet)?; - } - - if handle.events & EVENT_READ == EVENT_READ { - if let Some(data) = handle.data.get(0) { - self.scheme_file.write(&Packet { - id: 0, - pid: 0, - uid: 0, - gid: 0, - a: syscall::number::SYS_FEVENT, - b: *id, - c: EVENT_READ, - d: data.len() - })?; - } - } - } - } - } - } - } - } - - Ok(()) - } - - fn time_event(&mut self) -> io::Result<()> { - let mut time = TimeSpec::default(); - if self.time_file.read(&mut time)? < mem::size_of::() { - return Err(io::Error::from_raw_os_error(EINVAL)); - } - - for (_id, handle) in self.handles.iter_mut() { - if let Handle::Udp(ref mut handle) = *handle { - let mut i = 0; - while i < handle.todo.len() { - if let Some(timeout) = handle.todo.get(i).map(|e| e.0.clone()).unwrap_or(None) { - if time.tv_sec > timeout.tv_sec || (time.tv_sec == timeout.tv_sec && time.tv_nsec >= timeout.tv_nsec) { - let (_timeout, mut packet) = handle.todo.remove(i).unwrap(); - packet.a = (-ETIMEDOUT) as usize; - self.scheme_file.write(&packet)?; - } else { - i += 1; - } - } else { - i += 1; - } - } - } - } - - Ok(()) - } -} - -impl SchemeMut for Udpd { - fn open(&mut self, url: &[u8], flags: usize, uid: u32, _gid: u32) -> Result { - let path = str::from_utf8(url).or(Err(Error::new(EINVAL)))?; - - let mut parts = path.split("/"); - let remote = parse_socket(parts.next().unwrap_or("")); - let mut local = parse_socket(parts.next().unwrap_or("")); - - if local.1 == 0 { - local.1 = self.rng.gen_range(32768, 65535); - } - - if local.1 <= 1024 && uid != 0 { - return Err(Error::new(EACCES)); - } - - if self.ports.contains_key(&local.1) { - return Err(Error::new(EADDRINUSE)); - } - - self.ports.insert(local.1, 1); - - let id = self.next_id; - self.next_id += 1; - - self.handles.insert(id, Handle::Udp(UdpHandle { - local: local, - remote: remote, - flags: flags, - events: 0, - ttl: 64, - read_timeout: None, - write_timeout: None, - data: VecDeque::new(), - todo: VecDeque::new(), - })); - - Ok(id) - } - - fn dup(&mut self, file: usize, buf: &[u8]) -> Result { - let handle = match *self.handles.get(&file).ok_or(Error::new(EBADF))? { - Handle::Udp(ref handle) => { - let mut handle = UdpHandle { - local: handle.local, - remote: handle.remote, - flags: handle.flags, - events: 0, - ttl: handle.ttl, - read_timeout: handle.read_timeout, - write_timeout: handle.write_timeout, - data: handle.data.clone(), - todo: VecDeque::new(), - }; - - let path = str::from_utf8(buf).or(Err(Error::new(EINVAL)))?; - - if path == "ttl" { - Handle::Setting(file, SettingKind::Ttl) - } else if path == "read_timeout" { - Handle::Setting(file, SettingKind::ReadTimeout) - } else if path == "write_timeout" { - Handle::Setting(file, SettingKind::WriteTimeout) - } else { - if handle.remote.0 == Ipv4Addr::NULL || handle.remote.1 == 0 { - handle.remote = parse_socket(path); - } - - if let Some(mut port) = self.ports.get_mut(&handle.local.1) { - *port = *port + 1; - } - - Handle::Udp(handle) - } - }, - Handle::Setting(file, kind) => { - Handle::Setting(file, kind) - } - }; - - let id = self.next_id; - self.next_id += 1; - - self.handles.insert(id, handle); - - Ok(id) - } - - fn read(&mut self, file: usize, buf: &mut [u8]) -> Result { - let (file, kind) = match *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - Handle::Udp(ref mut handle) => { - if handle.remote.0 == Ipv4Addr::NULL || handle.remote.1 == 0 { - return Err(Error::new(ENOTCONN)); - } else if let Some(data) = handle.data.pop_front() { - let mut i = 0; - while i < buf.len() && i < data.len() { - buf[i] = data[i]; - i += 1; - } - - return Ok(i); - } else if handle.flags & O_NONBLOCK == O_NONBLOCK { - return Ok(0); - } else { - return Err(Error::new(EWOULDBLOCK)); - } - }, - Handle::Setting(file, kind) => { - (file, kind) - } - }; - - if let Handle::Udp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - let get_timeout = |timeout: &Option, buf: &mut [u8]| -> Result { - if let Some(ref timespec) = *timeout { - timespec.deref().read(buf).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))) - } else { - Ok(0) - } - }; - - match kind { - SettingKind::Ttl => { - if let Some(mut ttl) = buf.get_mut(0) { - *ttl = handle.ttl; - Ok(1) - } else { - Ok(0) - } - }, - SettingKind::ReadTimeout => { - get_timeout(&handle.read_timeout, buf) - }, - SettingKind::WriteTimeout => { - get_timeout(&handle.write_timeout, buf) - } - } - } else { - Err(Error::new(EBADF)) - } - } - - fn write(&mut self, file: usize, buf: &[u8]) -> Result { - let (file, kind) = match *self.handles.get(&file).ok_or(Error::new(EBADF))? { - Handle::Udp(ref handle) => { - if handle.remote.0 == Ipv4Addr::NULL || handle.remote.1 == 0 { - return Err(Error::new(ENOTCONN)); - } else if buf.len() >= 65507 { - return Err(Error::new(EMSGSIZE)); - } else { - let udp_data = buf.to_vec(); - - let udp = Udp { - header: UdpHeader { - src: n16::new(handle.local.1), - dst: n16::new(handle.remote.1), - len: n16::new((udp_data.len() + mem::size_of::()) as u16), - checksum: Checksum { data: 0 } - }, - data: udp_data - }; - - let ip_data = udp.to_bytes(); - - let ip = Ipv4 { - header: Ipv4Header { - ver_hlen: 0x45, - services: 0, - len: n16::new((ip_data.len() + mem::size_of::()) as u16), - id: n16::new(self.rng.gen()), - flags_fragment: n16::new(0), - ttl: handle.ttl, - proto: 0x11, - checksum: Checksum { data: 0 }, - src: handle.local.0, - dst: handle.remote.0 - }, - options: Vec::new(), - data: ip_data - }; - - return self.udp_file.write(&ip.to_bytes()).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO))).and(Ok(buf.len())); - } - }, - Handle::Setting(file, kind) => { - (file, kind) - } - }; - - if let Handle::Udp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - let set_timeout = |timeout: &mut Option, buf: &[u8]| -> Result { - if buf.len() >= mem::size_of::() { - let mut timespec = TimeSpec::default(); - let count = timespec.deref_mut().write(buf).map_err(|err| Error::new(err.raw_os_error().unwrap_or(EIO)))?; - *timeout = Some(timespec); - Ok(count) - } else { - *timeout = None; - Ok(0) - } - }; - - match kind { - SettingKind::Ttl => { - if let Some(ttl) = buf.get(0) { - handle.ttl = *ttl; - Ok(1) - } else { - Ok(0) - } - }, - SettingKind::ReadTimeout => { - set_timeout(&mut handle.read_timeout, buf) - }, - SettingKind::WriteTimeout => { - set_timeout(&mut handle.write_timeout, buf) - } - } - } else { - Err(Error::new(EBADF)) - } - } - - fn fcntl(&mut self, file: usize, cmd: usize, arg: usize) -> Result { - if let Handle::Udp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - match cmd { - F_GETFL => Ok(handle.flags), - F_SETFL => { - handle.flags = arg & ! O_ACCMODE; - Ok(0) - }, - _ => Err(Error::new(EINVAL)) - } - } else { - Err(Error::new(EBADF)) - } - } - - fn fevent(&mut self, file: usize, flags: usize) -> Result { - if let Handle::Udp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - handle.events = flags; - Ok(file) - } else { - Err(Error::new(EBADF)) - } - } - - fn fpath(&mut self, file: usize, buf: &mut [u8]) -> Result { - if let Handle::Udp(ref mut handle) = *self.handles.get_mut(&file).ok_or(Error::new(EBADF))? { - let path_string = format!("udp:{}:{}/{}:{}", handle.remote.0.to_string(), handle.remote.1, handle.local.0.to_string(), handle.local.1); - let path = path_string.as_bytes(); - - let mut i = 0; - while i < buf.len() && i < path.len() { - buf[i] = path[i]; - i += 1; - } - - Ok(i) - } else { - Err(Error::new(EBADF)) - } - } - - fn fsync(&mut self, file: usize) -> Result { - let _handle = self.handles.get(&file).ok_or(Error::new(EBADF))?; - - Ok(0) - } - - fn close(&mut self, file: usize) -> Result { - let handle = self.handles.remove(&file).ok_or(Error::new(EBADF))?; - - if let Handle::Udp(ref handle) = handle { - let remove = if let Some(mut port) = self.ports.get_mut(&handle.local.1) { - *port = *port + 1; - *port == 0 - } else { - false - }; - - if remove { - drop(self.ports.remove(&handle.local.1)); - } - } - - drop(handle); - - Ok(0) - } -} -fn daemon(scheme_fd: usize, udp_fd: usize, time_fd: usize) { - let scheme_file = unsafe { File::from_raw_fd(scheme_fd) }; - let udp_file = unsafe { File::from_raw_fd(udp_fd) }; - let time_file = unsafe { File::from_raw_fd(time_fd) }; - - let udpd = Rc::new(RefCell::new(Udpd::new(scheme_file, udp_file, time_file))); - - let mut event_queue = EventQueue::<()>::new().expect("udpd: failed to create event queue"); - - let time_udpd = udpd.clone(); - event_queue.add(time_fd, move |_count: usize| -> io::Result> { - time_udpd.borrow_mut().time_event()?; - Ok(None) - }).expect("udpd: failed to listen to events on time:"); - - let udp_udpd = udpd.clone(); - event_queue.add(udp_fd, move |_count: usize| -> io::Result> { - udp_udpd.borrow_mut().udp_event()?; - Ok(None) - }).expect("udpd: failed to listen to events on ip:11"); - - event_queue.add(scheme_fd, move |_count: usize| -> io::Result> { - udpd.borrow_mut().scheme_event()?; - Ok(None) - }).expect("udpd: failed to listen to events on :udp"); - - event_queue.trigger_all(0).expect("udpd: failed to trigger event queue"); - - event_queue.run().expect("udpd: failed to run event queue"); -} - -fn main() { - let time_path = format!("time:{}", CLOCK_MONOTONIC); - match syscall::open(&time_path, O_RDWR) { - Ok(time_fd) => { - match syscall::open("ip:11", O_RDWR | O_NONBLOCK) { - Ok(udp_fd) => { - // Daemonize - if unsafe { syscall::clone(0).unwrap() } == 0 { - match syscall::open(":udp", O_RDWR | O_CREAT | O_NONBLOCK) { - Ok(scheme_fd) => { - daemon(scheme_fd, udp_fd, time_fd); - }, - Err(err) => { - println!("udpd: failed to create udp scheme: {}", err); - process::exit(1); - } - } - } - }, - Err(err) => { - println!("udpd: failed to open ip:11: {}", err); - process::exit(1); - } - } - }, - Err(err) => { - println!("udpd: failed to open {}: {}", time_path, err); - process::exit(1); - } - } -} From 5224a4cdca8d250c2ced65d8564ab60ef8ba6aad Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 10 May 2017 21:41:15 -0600 Subject: [PATCH 02/16] Remove flash.sh (it still needs work) --- flash.sh | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100755 flash.sh diff --git a/flash.sh b/flash.sh deleted file mode 100755 index 5099457..0000000 --- a/flash.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -set -e - -ISO="build/livedisk.iso" -DISK="/dev/disk/by-id/usb-Generic_USB_SD_Reader_12345678901234567890-0:0" - -if [ ! -f "$ISO" ] -then - echo "Did not find ISO $ISO" - exit 1 -fi - -if [ ! -b "$DISK" ] -then - echo "Did not find disk $DISK" - exit 1 -fi - -echo "Flashing $ISO to $DISK" -pv "$ISO" | sudo dd of="$DISK" -sync -sudo eject "$DISK" -echo "Successfully flashed $DISK" From 3338b39c6950e3ec98de1cd529a025da287fd2dd Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 10 May 2017 21:50:53 -0600 Subject: [PATCH 03/16] Update cookbook --- cookbook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbook b/cookbook index 0506e36..1fb6bec 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 0506e3602e7e59de94a0e6c200d9aef82fe8e82c +Subproject commit 1fb6beca6361c2642b8829b9ddf922299c1984d6 From 734e21cb562b8b63dd5bc2faeed77cc495d4e816 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 10 May 2017 21:55:04 -0600 Subject: [PATCH 04/16] Use pcid.toml from drivers --- filesystem.toml | 48 ------------------------------------------------ initfs.toml | 37 ------------------------------------- 2 files changed, 85 deletions(-) diff --git a/filesystem.toml b/filesystem.toml index d876abe..f3f85d3 100644 --- a/filesystem.toml +++ b/filesystem.toml @@ -12,7 +12,6 @@ acid = {} binutils = {} contain = {} coreutils = {} -drivers = {} extrautils = {} games = {} init = {} @@ -52,7 +51,6 @@ path = "/etc/init.d/00_base" data = """ randd ptyd -pcid /etc/pcid.toml """ [[files]] @@ -127,49 +125,3 @@ data = """ Welcome to Redox OS! """ - -[[files]] -path = "/etc/pcid.toml" -data = """ -[[drivers]] -name = "82543GC NIC" -class = 2 -vendor = 32902 -device = 4100 -command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "82540EM NIC" -class = 2 -vendor = 32902 -device = 4110 -command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "82545EM NIC" -class = 2 -vendor = 32902 -device = 4111 -command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "82579V NIC" -class = 2 -vendor = 32902 -device = 5379 -command = ["e1000d", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "RTL8168 NIC" -class = 2 -vendor = 4332 -device = 33128 -command = ["rtl8168d", "$NAME", "$BAR2", "$IRQ"] - -[[drivers]] -name = "XHCI" -class = 12 -subclass = 3 -interface = 48 -command = ["xhcid", "$NAME", "$BAR0", "$IRQ"] -""" diff --git a/initfs.toml b/initfs.toml index c64b788..dcb005b 100644 --- a/initfs.toml +++ b/initfs.toml @@ -25,40 +25,3 @@ cd file: export PATH file:/bin run.d /etc/init.d """ - -[[files]] -path="/etc/pcid.toml" -data=""" -[[drivers]] -name = "AHCI storage" -class = 1 -subclass = 6 -command = ["ahcid", "$NAME", "$BAR5", "$IRQ"] - -[[drivers]] -name = "NVME storage" -class = 1 -subclass = 8 -command = ["nvmed", "$NAME", "$BAR0", "$IRQ"] - -[[drivers]] -name = "QEMU Graphics Array" -class = 3 -vendor = 4660 -device = 4369 -command = ["bgad", "$NAME", "$BAR0"] - -[[drivers]] -name = "VirtualBox Graphics Array" -class = 3 -vendor = 33006 -device = 48879 -command = ["bgad", "$NAME", "$BAR0"] - -[[drivers]] -name = "VirtualBox Guest Device" -class = 8 -vendor = 33006 -device = 51966 -command = ["vboxd", "$NAME", "$BAR0", "$BAR1", "$IRQ"] -""" From 1103beb7b3067434af6e68623238b4c9da5aa1a9 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 10 May 2017 23:12:19 -0600 Subject: [PATCH 05/16] Remove update target --- Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Makefile b/Makefile index 7eb8525..951f39b 100644 --- a/Makefile +++ b/Makefile @@ -12,16 +12,12 @@ clean: -$(FUMOUNT) build/filesystem/ || true rm -rf build -update: - cargo update - pull: git pull --rebase --recurse-submodules git submodule sync git submodule update --recursive --init git clean -X -f -d make clean - make update # Emulation recipes include mk/qemu.mk From d2363a06c6db4f478cc4ded13061d59d9316ca2d Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 20:55:47 -0600 Subject: [PATCH 06/16] Update cookbook and installer --- cookbook | 2 +- installer | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cookbook b/cookbook index 1fb6bec..b3ad568 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit 1fb6beca6361c2642b8829b9ddf922299c1984d6 +Subproject commit b3ad568eda0530ae94964d9e3210236478334414 diff --git a/installer b/installer index 318e7bb..31a60eb 160000 --- a/installer +++ b/installer @@ -1 +1 @@ -Subproject commit 318e7bb89f37228984bc92976ecdb28adb63dcf0 +Subproject commit 31a60eb8a32315e1f5f610f6c6d19d1cec61649c From 10d2e9c1f4e7d01f12bf2ffd59886cd5343e01f3 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 21:16:24 -0600 Subject: [PATCH 07/16] Update kernel --- kernel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel b/kernel index 62d3f4b..32b0c06 160000 --- a/kernel +++ b/kernel @@ -1 +1 @@ -Subproject commit 62d3f4bd93c425b263bd9b762632f4601e0ec1c5 +Subproject commit 32b0c06314363a4993db4cd308010a63bd261b7c From 056f2f112be472548722bad3b1e24e57ca8d0333 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 21:17:00 -0600 Subject: [PATCH 08/16] Update bootloader --- bootloader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootloader b/bootloader index 787f018..155e86a 160000 --- a/bootloader +++ b/bootloader @@ -1 +1 @@ -Subproject commit 787f0184fa96a227e51a7ce083a29b06f8945fd8 +Subproject commit 155e86a846b05a7f416fc102d0046c3cb722dd8c From 737b9c4c60739c98fb57b89195875055628c2f83 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 21:19:31 -0600 Subject: [PATCH 09/16] Update recipes --- mk/disk.mk | 6 +++--- mk/kernel.mk | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mk/disk.mk b/mk/disk.mk index d0a8972..ed926ba 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -1,8 +1,8 @@ -build/harddrive.bin: build/kernel bootloader/$(ARCH)/** build/filesystem.bin - nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/harddrive.asm +build/harddrive.bin: build/kernel build/filesystem.bin bootloader/$(ARCH)/** + nasm -f bin -o $@ -D ARCH_$(ARCH) -D KERNEL=$< -D FILESYSTEM=build/filesystem.bin -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm build/livedisk.bin: build/kernel_live bootloader/$(ARCH)/** - nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/livedisk.asm + nasm -f bin -o $@ -D ARCH_$(ARCH) -D KERNEL=$< -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm build/%.bin.gz: build/%.bin gzip -k -f $< diff --git a/mk/kernel.mk b/mk/kernel.mk index 6b9cc48..5293900 100644 --- a/mk/kernel.mk +++ b/mk/kernel.mk @@ -1,8 +1,8 @@ -build/libkernel.a: kernel/Cargo.toml kernel/src/** build/initfs.tag +build/libkernel.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* build/initfs.tag cd kernel && xargo rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@ -build/libkernel_live.a: kernel/Cargo.toml kernel/src/** build/initfs.tag build/filesystem.bin - cd kernel && xargo rustc --lib --features live --target $(KTARGET) --release -- -C soft-float --emit link=../$@ +build/libkernel_live.a: kernel/Cargo.toml kernel/src/* kernel/src/*/* kernel/src/*/*/* build/initfs.tag build/filesystem.bin + cd kernel && FILESYSTEM="$(PWD)/build/filesystem.bin" xargo rustc --lib --features live --target $(KTARGET) --release -- -C soft-float --emit link=../$@ build/kernel: build/libkernel.a $(LD) --gc-sections -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $< From 3679387fd209ab54434d854840d328b1c988db6e Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 21:44:18 -0600 Subject: [PATCH 10/16] Update bootloader and travis --- .travis.yml | 4 ++-- bootloader | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index d8e9d69..20d3c7f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,8 +24,8 @@ before_install: travis_wait 30 brew install redox-os/gcc_cross_compilers/x86_64-elf-gcc; fi script: -- make clean && - make update && +- cd cookbook && ./fetch.sh && cd .. && + make clean && make build/harddrive.bin.gz build/livedisk.bin.gz build/livedisk.iso notifications: email: false diff --git a/bootloader b/bootloader index 155e86a..76d3431 160000 --- a/bootloader +++ b/bootloader @@ -1 +1 @@ -Subproject commit 155e86a846b05a7f416fc102d0046c3cb722dd8c +Subproject commit 76d3431d89793ab13e1996ef4d3c6ec7c79acbc7 From d7511b8164574d5340010885575daaab43cabb68 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 21:57:36 -0600 Subject: [PATCH 11/16] Install xargo --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 20d3c7f..a57c1fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ before_install: brew install nasm pkg-config Caskroom/cask/osxfuse && travis_wait 30 brew install redox-os/gcc_cross_compilers/x86_64-elf-gcc; fi +- cargo install xargo script: - cd cookbook && ./fetch.sh && cd .. && make clean && From 2f481d536349cfc53d6ec48ffadb63453eda7c96 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 11 May 2017 21:58:02 -0600 Subject: [PATCH 12/16] Use cookbook setup.sh --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a57c1fd..fd2b81a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ before_install: brew install nasm pkg-config Caskroom/cask/osxfuse && travis_wait 30 brew install redox-os/gcc_cross_compilers/x86_64-elf-gcc; fi -- cargo install xargo +- cd cookbook && ./setup.sh && cd .. script: - cd cookbook && ./fetch.sh && cd .. && make clean && From 01d728cbe08f892da9e3eb9f8823d48f3d999fd1 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 12 May 2017 20:36:25 -0600 Subject: [PATCH 13/16] Update cookbook --- cookbook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cookbook b/cookbook index b3ad568..b91b276 160000 --- a/cookbook +++ b/cookbook @@ -1 +1 @@ -Subproject commit b3ad568eda0530ae94964d9e3210236478334414 +Subproject commit b91b2762d6360da65703631f4b733ea38c5b47e5 From aaa96bf3296258cc3ef5139eb4c8f13e383311d3 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 12 May 2017 20:37:59 -0600 Subject: [PATCH 14/16] Disable a few packages in default build, use partial filesystem to avoid incomplete build --- filesystem.toml | 8 ++++---- mk/filesystem.mk | 9 ++++---- mk/qemu.mk | 53 ++++++++++++++++++++++++++++++++---------------- 3 files changed, 44 insertions(+), 26 deletions(-) diff --git a/filesystem.toml b/filesystem.toml index f3f85d3..355a1bb 100644 --- a/filesystem.toml +++ b/filesystem.toml @@ -8,16 +8,16 @@ sysroot = "build/filesystem" # Package settings [packages] -acid = {} -binutils = {} +#acid = {} +#binutils = {} contain = {} coreutils = {} extrautils = {} -games = {} +#games = {} init = {} installer = {} ion = {} -lua = {} +#lua = {} netstack = {} netutils = {} orbdata = {} diff --git a/mk/filesystem.mk b/mk/filesystem.mk index cce220b..6516b10 100644 --- a/mk/filesystem.mk +++ b/mk/filesystem.mk @@ -1,11 +1,11 @@ build/filesystem.bin: filesystem.toml -$(FUMOUNT) build/filesystem/ || true - rm -rf $@ build/filesystem/ - dd if=/dev/zero of=$@ bs=1048576 count=128 - cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@ + rm -rf $@ $@.partial build/filesystem/ + dd if=/dev/zero of=$@.partial bs=1048576 count=128 + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@.partial mkdir -p build/filesystem/ cargo build --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs - cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@ build/filesystem/ + cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@.partial build/filesystem/ sleep 2 pgrep redoxfs cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook $< @@ -27,6 +27,7 @@ build/filesystem.bin: filesystem.toml sync -$(FUMOUNT) build/filesystem/ || true rm -rf build/filesystem/ + mv $@.partial $@ mount: FORCE mkdir -p build/filesystem/ diff --git a/mk/qemu.mk b/mk/qemu.mk index c1a31da..a76d9f9 100644 --- a/mk/qemu.mk +++ b/mk/qemu.mk @@ -28,28 +28,45 @@ endif #,int,pcall #-device intel-iommu -qemu: build/harddrive.bin - $(QEMU) $(QEMUFLAGS) -drive file=$<,format=raw +build/extra.qcow2: + qemu-img create -f qcow2 $@ 256M -qemu_no_build: - $(QEMU) $(QEMUFLAGS) -drive file=build/harddrive.bin,format=raw +qemu: build/harddrive.bin build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw \ + -drive file=build/extra.qcow2 -qemu_extra: build/harddrive.bin - if [ ! -e build/extra.bin ]; then dd if=/dev/zero of=build/extra.bin bs=1048576 count=1024; fi - $(QEMU) $(QEMUFLAGS) -drive file=$<,format=raw -drive file=build/extra.bin,format=raw,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL +qemu_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw \ + -drive file=build/extra.qcow2 -qemu_extra_no_build: - if [ ! -e build/extra.bin ]; then dd if=/dev/zero of=build/extra.bin bs=1048576 count=1024; fi - $(QEMU) $(QEMUFLAGS) -drive file=$<,format=raw -drive file=build/extra.bin,format=raw +qemu_nvme: build/harddrive.bin build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw -drive file=build/extra.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL \ + -drive file=build/extra.qcow2 -qemu_live: build/livedisk.bin - $(QEMU) $(QEMUFLAGS) -device usb-ehci,id=flash_bus -drive id=flash_drive,file=$<,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 +qemu_nvme_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -drive file=build/harddrive.bin,format=raw -drive file=build/extra.qcow2,if=none,id=drv0 -device nvme,drive=drv0,serial=NVME_SERIAL \ + -drive file=build/extra.qcow2 -qemu_live_no_build: - $(QEMU) $(QEMUFLAGS) -device usb-ehci,id=flash_bus -drive id=flash_drive,file=build/livedisk.bin,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 +qemu_live: build/livedisk.bin build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -device usb-ehci,id=flash_bus -drive id=flash_drive,file=build/livedisk.bin,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 \ + -drive file=build/extra.qcow2 -qemu_iso: build/livedisk.iso - $(QEMU) $(QEMUFLAGS) -boot d -cdrom $< +qemu_live_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -device usb-ehci,id=flash_bus -drive id=flash_drive,file=build/livedisk.bin,format=raw,if=none -device usb-storage,drive=flash_drive,bus=flash_bus.0 \ + -drive file=build/extra.qcow2 -qemu_iso_no_build: - $(QEMU) $(QEMUFLAGS) -boot d -cdrom build/livedisk.iso +qemu_iso: build/livedisk.iso build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -boot d -cdrom build/livedisk.iso \ + -drive file=build/extra.qcow2 + +qemu_iso_no_build: build/extra.qcow2 + $(QEMU) $(QEMUFLAGS) \ + -boot d -cdrom build/livedisk.iso \ + -drive file=build/extra.qcow2 From 952530efc8e6e582ad4b11f0c58e49565f89823b Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 12 May 2017 21:05:05 -0600 Subject: [PATCH 15/16] Update kernel --- kernel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel b/kernel index 32b0c06..4d2808a 160000 --- a/kernel +++ b/kernel @@ -1 +1 @@ -Subproject commit 32b0c06314363a4993db4cd308010a63bd261b7c +Subproject commit 4d2808a012de5b6d4247a5eeb3ca510034911c7f From 9bef268e525cfd25e2a1cd936ec521acda370ed6 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 2 Jun 2017 20:31:27 -0600 Subject: [PATCH 16/16] Update rust --- rust | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust b/rust index b16c7a2..dd729f8 160000 --- a/rust +++ b/rust @@ -1 +1 @@ -Subproject commit b16c7a235fa0f57fed6b7ec13ffd3cff1bcdd9ad +Subproject commit dd729f8960a9ffce86c497db8cd8a775d1604181

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 diff --git a/res/fonts/DejaVuSansMono-LICENSE b/res/fonts/DejaVuSansMono-LICENSE deleted file mode 100644 index df52c17..0000000 --- a/res/fonts/DejaVuSansMono-LICENSE +++ /dev/null @@ -1,187 +0,0 @@ -Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. -Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) - - -Bitstream Vera Fonts Copyright ------------------------------- - -Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is -a trademark of Bitstream, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of the fonts accompanying this license ("Fonts") and associated -documentation files (the "Font Software"), to reproduce and distribute the -Font Software, including without limitation the rights to use, copy, merge, -publish, distribute, and/or sell copies of the Font Software, and to permit -persons to whom the Font Software is furnished to do so, subject to the -following conditions: - -The above copyright and trademark notices and this permission notice shall -be included in all copies of one or more of the Font Software typefaces. - -The Font Software may be modified, altered, or added to, and in particular -the designs of glyphs or characters in the Fonts may be modified and -additional glyphs or characters may be added to the Fonts, only if the fonts -are renamed to names not containing either the words "Bitstream" or the word -"Vera". - -This License becomes null and void to the extent applicable to Fonts or Font -Software that has been modified and is distributed under the "Bitstream -Vera" names. - -The Font Software may be sold as part of a larger software package but no -copy of one or more of the Font Software typefaces may be sold by itself. - -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, -TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME -FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING -ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF -THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE -FONT SOFTWARE. - -Except as contained in this notice, the names of Gnome, the Gnome -Foundation, and Bitstream Inc., shall not be used in advertising or -otherwise to promote the sale, use or other dealings in this Font Software -without prior written authorization from the Gnome Foundation or Bitstream -Inc., respectively. For further information, contact: fonts at gnome dot -org. - -Arev Fonts Copyright ------------------------------- - -Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the fonts accompanying this license ("Fonts") and -associated documentation files (the "Font Software"), to reproduce -and distribute the modifications to the Bitstream Vera Font Software, -including without limitation the rights to use, copy, merge, publish, -distribute, and/or sell copies of the Font Software, and to permit -persons to whom the Font Software is furnished to do so, subject to -the following conditions: - -The above copyright and trademark notices and this permission notice -shall be included in all copies of one or more of the Font Software -typefaces. - -The Font Software may be modified, altered, or added to, and in -particular the designs of glyphs or characters in the Fonts may be -modified and additional glyphs or characters may be added to the -Fonts, only if the fonts are renamed to names not containing either -the words "Tavmjong Bah" or the word "Arev". - -This License becomes null and void to the extent applicable to Fonts -or Font Software that has been modified and is distributed under the -"Tavmjong Bah Arev" names. - -The Font Software may be sold as part of a larger software package but -no copy of one or more of the Font Software typefaces may be sold by -itself. - -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL -TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. - -Except as contained in this notice, the name of Tavmjong Bah shall not -be used in advertising or otherwise to promote the sale, use or other -dealings in this Font Software without prior written authorization -from Tavmjong Bah. For further information, contact: tavmjong @ free -. fr. - -TeX Gyre DJV Math ------------------ -Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. - -Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski -(on behalf of TeX users groups) are in public domain. - -Letters imported from Euler Fraktur from AMSfonts are (c) American -Mathematical Society (see below). -Bitstream Vera Fonts Copyright -Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera -is a trademark of Bitstream, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of the fonts accompanying this license (“Fonts”) and associated -documentation -files (the “Font Software”), to reproduce and distribute the Font Software, -including without limitation the rights to use, copy, merge, publish, -distribute, -and/or sell copies of the Font Software, and to permit persons to whom -the Font Software is furnished to do so, subject to the following -conditions: - -The above copyright and trademark notices and this permission notice -shall be -included in all copies of one or more of the Font Software typefaces. - -The Font Software may be modified, altered, or added to, and in particular -the designs of glyphs or characters in the Fonts may be modified and -additional -glyphs or characters may be added to the Fonts, only if the fonts are -renamed -to names not containing either the words “Bitstream” or the word “Vera”. - -This License becomes null and void to the extent applicable to Fonts or -Font Software -that has been modified and is distributed under the “Bitstream Vera” -names. - -The Font Software may be sold as part of a larger software package but -no copy -of one or more of the Font Software typefaces may be sold by itself. - -THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, -TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME -FOUNDATION -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, -SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN -ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR -INABILITY TO USE -THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -Except as contained in this notice, the names of GNOME, the GNOME -Foundation, -and Bitstream Inc., shall not be used in advertising or otherwise to promote -the sale, use or other dealings in this Font Software without prior written -authorization from the GNOME Foundation or Bitstream Inc., respectively. -For further information, contact: fonts at gnome dot org. - -AMSFonts (v. 2.2) copyright - -The PostScript Type 1 implementation of the AMSFonts produced by and -previously distributed by Blue Sky Research and Y&Y, Inc. are now freely -available for general use. This has been accomplished through the -cooperation -of a consortium of scientific publishers with Blue Sky Research and Y&Y. -Members of this consortium include: - -Elsevier Science IBM Corporation Society for Industrial and Applied -Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS) - -In order to assure the authenticity of these fonts, copyright will be -held by -the American Mathematical Society. This is not meant to restrict in any way -the legitimate use of the fonts, such as (but not limited to) electronic -distribution of documents containing these fonts, inclusion of these fonts -into other public domain or commercial font collections or computer -applications, use of the outline data to create derivative fonts and/or -faces, etc. However, the AMS does require that the AMS copyright notice be -removed from any derivative versions of the fonts which have been altered in -any way. In addition, to ensure the fidelity of TeX documents using Computer -Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces, -has requested that any alterations which yield different font metrics be -given a different name. - -$Id$ diff --git a/res/fonts/DejaVuSansMono-Oblique.ttf b/res/fonts/DejaVuSansMono-Oblique.ttf deleted file mode 100644 index 4c858d401ad72117f18a29a9b5b9348ee7a51aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251932 zcmeFacVJaj);GNOX}9L~^xU38NQDpr0nC*Sp@benOCg~XT4qXQTS`?A5#7GqERd+!x0^`{WEBHYfOw5690C!u_?+ zuo2zG%wH<-A1#?RX~wPR{)uZN4&eH=lM3d}A}aimNIZk+Crw{evgXFABRC#FxSwuLE-sj; zSxmMQ-jIs#J5I(4ZFepO$CGg!J$c5wg?-j%ZNo9f7u;cbX;Fb`$aP+p#kW z7S1xfET{=T2;(8HnFTY7zna-T6USW%ahJ?0ojb2x+Z#=UFWpH7LCYeVTlNDq&d4@boHj`J$ zPO^vWCkM$+}BK z`p4h;e2H@Xz*g5!QSMWqocGVGb-(qP`zY5WDZkDCFV|xg0Vh6O!(ns-g-JN(2&eED zQ8zOtkX=ivcSDs{zjdp2gkw3HU}>A}sjb&&&8V z75two*p;GDIrFTLkMpa9W%ztX`COr#xvccpvp%lVf}j5O8@`TJ__~wA*WFwAmR*bI z3>(_rh2Jp#rkJO|PAXjAo9KExKHNoedJW6LXP?Ih;IrSbfi9Apt$YqpJ_ioQ`NBa; zf9PO*TR1Fx7_J$noKfz@vF8My;J-UCOZdPUte2vKxy2-6;`Aw#hzqi0I*C<2Aq)K1 zDI-(vp`2kWOiL^zf_T_{0j@wB9awp70>?hIk_zjPP<{sMYZw(M)#Eb)pvH_PqGu9< z4A#!a=K%IS>4%=4@Y+q<=M=fYlOnQG+mBI&ZXhD$ZkqTK=|~-{ZR*8;MoKsf*hD93 zcwW$P!Yv{-4JC^nVCpW6kmQu~nuzpw3@`!VI+IH@AL@y#-Nl3t_V(tptV^cT*_xw*%=Ufe+LF!up> zj{AiBAMQKu4)-rUi|@hb@&)_?emVa%{|x^c|1tlyFhM91<_a$hZwP-D-W6(vv%*Kh zFQQqrizCGeVukp$Aw|HOHHdKRFIN-gBIBTyR`-)H%L) z+;jZm40hU`y_^G`qnx9iW1QohOPvRtwa!nRUpoKcyz7)*T9?-q>&kFty0TpTT-mM( zuGy~juC1V?!N9J?g{QnkJS_Gae2I+Bu_Wb z6wg}E8=iMOHJ;O+%bxE%|L{uQU~jnB?QP>t@GkZ)^*-rc>wVt4&wDZ28%tul#`cMw z6k8g1BJOnDS8+GuzK{EN{F?a9@!!WkXiM6rw4Ig^ln{|PF>zMng2cs%%ag;BoyjrD z$-6>!Id{eFTEA=Ku06Ycxqs>b*VL%2C&mfe=>>Y7*3-N6XW9TtMRPs40bCCEE_a&y zi2Ibgp-_qhC^e5?%s&N6t><6oFY!MLg~A+RgRn!`BODQq3ulD$!bQ;}Mu_di(PDvE z2}-R5r79FkJ!g2y@R~xYJ%%?8?;6gUE`d^NP%6Z3wpX9RQYSnYJYRrP#H;p(d852Bpj0|2wZgjwlzQ3wakMvv#CD3!ip`Im z0!p1yC{-VKFTNuFMNsNjg;G-!!~_c{H6yVsaZ%zDg;E|+O1&#`muFYyt_`5n&!7}- z`h`)d>D#6gO^2ImnhrL--SnrXx0?1f?QQyF(;H2%H|=P8wP|b9mZq1Qo^RUNw5sWe zrkPD8O~adpHVtYT*fgLiyQzOu*QU&-#3oadwn=Ita)bP<{Ih&tz9IirJ|&-&PsktK z54!i!z4Q0Z-8*~l^u6Qv-oJP3-h20s-aB&d@V%OQZ~p6#x2kWwcI(AkFWlOAYt^l% zZY{et5bit^Z?vb^Xrzt@SV0Z>fL2 z{<-><^|R|s>u1(atDjOosoq=fu8*h>uD8`&>J9Zl_4;~Ey{hg`-L1O%y7%f1)g7#R zr|!>n`|I}9?W)^Z_j=unb2+#DRq{KEYmLcOGhRl|NnpgAIE^6 zjZbqoFv?HRx&X@nOy6yXE<1@9)*ih8xCU4axDNOh@FJid0AGi01>ipPKA;-Fe4AeY ze*iQ<`#RD75v|(~6utu&4R{>qFQM%L=!HJ~3vK{lAo~AAn*%tE{=d+^3-|yq4saT9 z4gd?1`v`!sbFl2VPXYe}m<6~2_ztiL!0yZ7NdUVSgQxt{fIEdY*AMJD ze1RXhGic`l7T}t*Xcq&PqmSqF>|Rf!{};5+_<{Qz?Rvm#IR6FO*8v}+k8$vrGygRp z0`MaomI-JR(E``ZJK%v&VGdv}`mdth0C*XF&_vh)cmw^tX!ijAjQ)PKM*zSP&)VaF zTJ(>i#kd7FUf@nR4`Aaxi54^vKqDUW6-@v$`WTCdF^P8ce?r?10PC3tUB%G=j8lk0 z3!I1*=zGyt0x)->Kb$|{l7TP)?MlEC=!2F9;D>=Q7%hHhSc85JTKtZIFcj@NKQOPu z@EidAB@9RV5?~wppo!r%0Px80WdIHsFq|27`GMiium=EMWB$0|O~7IFOV9#028Ivd z)Bt=KE}&ng*m1xopvCy?#pr_{?cg2zLiBH=4-iu2Lp{tU$D&;qXx;8c7b zE#~6@zQoOF_X98waSPgm0E|Q2iWc~DyodgFv{)OCGwAO?`yl}M6nCQiE8rUXz@g&? zpbmZD$AS4czDFN8abOKN?xA0U_GiE^=pQEps3gu{^iQA-0|37w?&ov?dZCZC?d%J{ zd?f)bc*r>leJ$G2evm9^$M``4zMSLyAlcAP04&Azc!qNY0ArClpv4@WwdhYli+MRe zL4P6IPXS+|zZxy(O1Rm4q?5wgcXQJEB8d12}@d8|{03P(>r=!}&oKgI4r|3gdML0gSjl4lVHI4n@B$ z+HgPw`blW*eo$dfZjT>Ssc6}K0V>E3H@g==)gCSTeFFMvXt7opsM67brVLaa(dGb# zpbs3mhXF8O74YP)^n3AfKLy`=m8N_AE5>A8K{6y59Z*(cvYXF z1-(7p&<8Jh9tVKtD)6Rf24F2AYBSn(fH%;`Ts&_B-a#Mq@BoJl)C19iM?I&}AB6S- z;4=CcuLm^qe20E6TJQ@4^<+XY6ylZ8$Md{u0LHAIg*FTToT`_hjRJr^>J?}~4{sav zSEB{a7^t5{n+{lvKE~=@>IXHR?Pb4t66gPdb`5~d1#|a4?*}!;<;A-9?!$TTwD)7c zMf5SgXbg^l`k#d0u_P9t29L*f0)Q_y|3aGu0KPRpqs<3Qf;&vnVm`5@=xYdx15Oxd zO=wR6fFCXJ8TXYRw4hns4L@jYXzKyr;~L;1?jGRZ=tmL~Uje`zv<|c{0yd-XLW^q| zXu)gozXBehk8y*o6wqSuZBzW9#U$EJ1x&*=afBp@fFSha(OLiz=(mUaKG6@_E@)=} zKoc$IoLB}}fW8myA^>o%?SXa)U^)7|2uTL*7$E*YlAV6g_D75HC1WhwY_#BU2HL@d z>{0_l(9c1OdG5k*v=h+c`dt{K7Gv2}30RLl#=dI?8ZhpU9udJLCYOcQxb?BEs*I z_sB8nG?_ytl43GNI!hLk*T^g~4YF@OnW|QiHDrtG6Eat=Q|rkjvOslMbyjtn*QvfF z)5#LVNxq(^YBnl#|dC*%x1a|Ji< zy%k5e3cpJspDPir8d6S{bLFIl8w%`|kPAv|^a3zj0le-cr5M*WU~VmNoQL)ZIfXmP z;1W)GY7M!|Wsv*0#~!X5Dd$S?lr3ZneUe-ybHQF$sTNm%%_ZPo2k?A&BjQz9C>ST& ztKyHq*iM|ai&rI^%1hb!Fmig7rg4KXw&8RYKbD^@c!dT0cchAQ^Z8^dxhP&GRVpv3 zl1k_zAz%3`SMFXV)krpOfsjx4z+U){{~4d<}3KoEaZe){W z;!3#tq?GRo?k~aY?vPdV0JC6JO9|GzjU1Fjf#)bmbeZ;ZG5sd)_YKK)ogM8?N_^zd zWm38JlbroQi(EBLO*y$jq&RxN7`2~|QSTRGykGyfFTYMo%+ASm?Z4KmXW*{A@_XXk zuv|O<|FP3}TCbi-m=>sscr79{JbIJm7lg^M1bIk?2%lc~l1N`twK$j)NJ{OM+wF+y z%Izz+Q>|vVImT^vPZmhSTt2d)PJTgU`1z+fQarLUm?NJLDv6LRqkYMks>s0z7O4m$ zP%UaCjY^a>nf!2R7#X4#B(;j?*_Tw}G+NV@n|EuETS7aVJGUb#HyduJV$>?}2bJj| zm_s{{_RusP^;-Efm6vCxJ{Xl-DeQ# z2m#N8AeAIRjk$cqrgXRK?e?kE>{b5w<@+x0!+oxD2@HT4=qll|cntS&k{n-pq>kj; zHDajMm>V9%sf1v&(_xQ_j0g`63AR}+W|Pqnq}OTGssNQ8E^V00bmb$A8Z+uz+x|*d zJTLH>O1(TLl4ecg-72>NUaOb)THP6L1$gcKVfQRk?oZh^nUc6BEDA18mM3qYd~eG3 zDNQ7flHsx(N4d%TD*0``LN1`&8g(Lr12Hjo5{?k7SQ@Sy}rpGv0t zd~MW36(1(V*iuqWp;j6*Dmu@p&UM&ES@USF!R;^^BU4>YgIa}%erTA(-6lT8q}B;B z(Sj;br;2Q+@WS!qW>70YuiEytx9{FI-8p^#j@bedc4pt1JEu~7|sBn^Z-~u6ma%Ce|ZX3TZXTgiZx#BJpj!*Cod2e#w{%urq zIdx*nh^>8Hk8c@0WZ&EJoxf_i0dlX6^9GH$K)0wXi+c5caF8bP$q5I#b{FYo@5ZHX z)~mk%UUG)L*(OCTkMvYOQS&2sLxdh9!hXmj9rT+6I;=Ap=}U2B*xPubjFG%%oY6Bb zV|<%&$zzS<`Eg-UkqMx)qzTp%jXp-xLF?2c=rc`N6b+cLe22}oGo$dGJNI#Dx?{$~ zams?(+d|Tm`FlN*szb-L_93Bcnv&NOOXFy0%zyuytC=!r;I!!j22H7`S?!yfoZS9M z#hQb1U$0<^ZwQ?-c;NKu0|!p4sHyOkB_*{xvbv&%W(}G;ZQ#J^QwLWZPEAgkm$mB1 zAsUfScjVU%o`Nr?O&x?Ul9I|EUwybnStCuio4ysQA&q0f6@T^>#M8EItTt<0YMjkx z)zcuIpw_6hf<~iGp~H;J=`!K$bI^ z(g;{4OvuzKB8EE_5H1Y&l$Oaq2^M(0LB!!RNR!DVgGws}5niV?n1G|sU?2PzQVB|D#LS?SuPMu0gWMpESNA|K(ZvFFW3&nd@l^H;M*>JTJ&U@oCDv zT|Oh3ECueZ)uFzC(E#k)e0OUEHFx0R(n2i3Cc?j<+*dRhe~@9sGYhnu>n|jLZ_H$nFVPgFBZ6L|5;#H4PZ7=fDOzeMu&DJ~UL%=#$|Lh< z6m%MWkYq7kfdKppz^KniZ@SCQ)Up#ePNhLq6$4=`#wF1V(VS+E5fbDrw4}4Vf3Cd0 zGcA#~bf!6TX^wFH#L2?*as^#Dd?>x+)4y>3}#$qTr$Kbhnv1O5c-v?3R1dqrxV+=N{JCLyuz4=jE@t zt+1d(lI{yvG@FTOHWLvu`BE}dq9Qb<1nk~C?x)*B?WOQ4BptLC-QEx{|MR82H07ea zk|OF(Q|NU*4-rnD*bX6Ej6^OEz5)Glmn$EoQYZ(S!)e`(_qiu`;`%};w=Eb4Pf~or z;5x!%41~`lGdUO*gk!(HX*$l9m0yDf)F;!MyqCV((6xc4$nZQdCsR{*!K?7B)2GiQ zbcn!F9wjww0JlwS9^hTfW3(rfrco0={QZVK$D~ca%)rwNAv;RJ13GvIDddDNgx5HV zEOAAV1(xDei9}oVB*_|_iX{L+X*!L2-DLXV%IQ?!vneD6yqdzN2q|KUl%h&er)W~N zDZ0UAFdfVd<_8Od#lg~G)nN5t&0y_dT@|UKRa_NcB~*!3QkAMoU8SkgR_V5pZFC#A zjo&706Sqm*RNK_sG~2Y>bgBRC0msR4dYn7X9~X{`$ED+{v|AAbG0lSk)_7;$aW z$zzRcb1GAMjVqj%^K@$Ov6Hwv896x_odyl2z2295J-u$teTrcmTDNZX{RitNQfoR6sjA3Ug#+5(Wkwrg#Q+3J<#tHP4iMJK{4-Ix$it z2IFj9k)=Q&MO?~lJo|2~VhMCk6@6GJq9lffg+~Y>k)kAtD$@_VBI19D!9X%-1_@x- zk8ltIBv4U3x7XD$(@ittxbPKo#$H(#KkIVA;hTMiy7wN~vu6*rc7$4%|g^P_g{ zPrRJ}=A^c-zKpRq-2s0N!r0r8{=NiaEeh6-(##GjlANPlv!jZ<1yXTvJghdY5Fg@n z5kX_J^5NE4O+1?yW`=nw@~IYF%lMY*C&(wJy%95uWj2govnN0UwW#=(p>w~^St0*P z{@e5m<73AhD?E6k>gktUTV6dgLER(%_4L&gb)!#0fx3H zpdd`ADiSF_M5EJEPSC4WBIYJ(1U&@*SAO%_uX35(g@w|>8tPVtw!c5xqoHn?r!ce? zvy|`OSVceI`rWb9jx)Va_i9`nEpm+#f1x35r@WO;d>^a}o)Lie;TW@vO!akwCCsY@ z(M4Q5TmV<5pmN!ZR4_9OLyJsY5gB4CR=Hg^#3UlDoR;E~Mp(60HzNY9%ZDa{iP1r! zf?V5r)FQJIAljG-t*lc&+hFBBq!3%NG@rZcZamdDWpv`v`YHLj-&Re3w{QIL{o{|^ zeQo{VH?qa6d*qEKXBMBoHmGMIZFezyJvVgr z;)Y|3Dyd$GI}#Hoe=XOQOgU4t;Lfmu{J(!zO-r8r>@!5GK$m^srK6yW#PpXaay-Y2 zV4F-4RNzIZ5s6BI3W7i2uH5~N*icZ62!fm1_}!+4FF)tCja|j7RHddBQKgZowoV(?dvDDFIypB z`r+aam+86XJIhMScQ2$D<~?<4%amm`^qbg?Qw~ykaKnag;~mwjF3bP;=+D)+x%}6b z6wTSUbj)-%Cyr!cP6GmTPxD0vh^`08!2$(sKy?CogX(^gGfC*za-W`N6mM<*b5xNS z7WhH_(Km|;4 z>ZFk+Q_dcq|HH8Sg6}`AmbX0n>0c3jh5wriqIiWEP)0=t`{Ey33X(}Bs6>+>s4}^k zq)eCzSx+dtN1e*3V1%3tb;AM06g#ZSs)@Q5%~qu zd==$Lh!CuTb={tk?Cx!to*FKgrc+^2!#;lKgX@Bu|3E%2pFBi&R8xe4IFd{Ag+=@h z1)q_Kk4%@i=|nA3fdFOj?QtJ}fP@*70L0$dZ5~|b^n1DPP^XWM2cnT9qOgF@hdmJ@ z5H_B!w_Cje7g&DR#9`^KoCd$RIs0 z7$TCA1&1cg<_PU(iwo=4;c>7Q^E@GISj<9kf0Q$F?bTX#R#7&JE1&AqJV&47Uf^F4 z1ek@*${k``^kxK>FB3&^>%Bz0du3}sDkR4tiFW4FC`L!+U>C!6zU zUVgD)*3#0fo;4f4qMiG8OYn9uE_-Hc)l&KDD{_%MP6sWg-OkafjZdz>yx%b} z1+gnck`Xjywu6?;_jOmy10uqJ6S4Y5L1N~DM&z|>02Q^omVF6h5+;PIh%SN!A+ku8 z60X$fL}p#qDkf1%SBU9m9UQP4z!w45U`;FYflotB%MD3!U4D-4+i}18oVW4kn$N|g zhF|%8zb4RCayeF1D8^cav8v%wx=5MNM?{OoMMamzrK5VSXmOdTNyE-%hLa+#rpPjc z7HJndsY?s%n20*FHQXs$L`#$*Jj6m>upe#)tT;cZQ*J9pT#LEGxc5QA}Z`-ovqAm2*C4ZM2*xH{9U2+s_)=Ap?BArV}c~lW^T4F4>7U>K4VwclIjN#!% z3Gu>OW>+&g;5Qv$dZxxOw&Pli0~RoA@k1Ef@%xAWaZG*VGjpa^UV+p1Oo!xK@$?bkd%OZ}jZgYv%`ZzM+$-nHq=pnJk}^|1Dpp-s+|6=F+TH`!_#W zAg27>utVOx>iyR-K;SVQW4)k^HP@G_7Ij1i6IUkyn2D*&l$e8rNNtQj#NheynK7}%!^al2@f7ja zC6@A#A|u$XZJW5*7=bvg@fK&e)Rt+kS~zlw$K&TZ2!19Kf3srXLV}zDR_qAr=NEF# z+z4^s5@@q}Gu-^SQ6HE6?H9MpJHFF2%2(%X8yNq1)sVuyJrf5xJlW&W;Yx z97`?Z1P!==10XU9PEZ$dixKnJN)UEhJ%kxDFA_nZhERnQuG~~u0n-HYcD>m?ka1v+ zatkvk1_zUA${EG-flGuy4rCgQ{BS-OKmWXZ?ZdT=S1Uo1#;x4MUlX`9jh)%LqKGRK z(1ool*u#RT(Sj$mT1}=_;ZUJS0)MKNWC3#WDsX45-|m9v+`fey6s#)_4s(-{8=!go zV{ZBMb(-mJIN_$9Z^);?4G)&@*(0n}p4)T_{4fa5HIosrz(k#1M-dkSzKBZH>vfrW zm6{^WRb*5bX@?k#Ef|H0iWa?&AVT+1!1Gm%@%yK-zMF>6;_kJmF{$LiP*&?o@@%e@qxVqhqCqc78pqUn96iFvv#KY`WCL2a zX)wfipqUk|tV69BlpeN`WolI%Pt-txPE^5N(*-epVQ64>C)EdG6koM)vBJg(rUEl9 z_+Whd5D+;R&#CYqn$f6`QByk37i&{dgdGEQ0RnchskK%F`%HpKG)Y#KNfn}w(3r=O zaaOk#4xksf*h9*BfzGfyZdW`n9@+kNB+uea3zQK8Ro1Z zt9)H09>yu<2^9ZfE5xj zJentr8LA~VL!C%;w5n$W`G6kreFp;EC2b&6XMkeX~KnH6NC#7 z(%3rU$WW}K<&djpNLIJcOo}2kMR5g@#cic#DDFWG(Qc9_AFEo! zm(7&rHDjOcvV0LDh^3^--@oS{D~2o_0G`#T;F#>|Xc0A56E&JetHz3;F2y1IEP{ZM zHIo*Z5I!7Yu~^M&<`ZdQTZIQ{sMYp}M!(xCc*quii^=3a0H-$_O@3R6xDhGh$c(?g zacapE@(fz@@n7LY{q4K5^I}Tl#rL;OpHyA5?-%)-#@zw@A_v0o8;J@M_}3AU;Za2- zrYNX@6h|gU(8zE;!4qyu2p5tS-wIDgw>xaLh|?{w0^t>Vunyep(^AZ9}U?4 zto`iNL;TvK9KM*2&kWwO<>+sy5qXD750Tq6>{RKzy*(zZaUUH^pMR7j;1NCW&hpGw z)XBW$8_Lv-7CK3QRuTkWCkA0D>x1+mG&C6fC>m)KgM###sDljVh2SEMtte=SP7usd z2ycj5#B{@TaA3>^5)>Y84x)N{GfkA7B2eI$dW=D}+Gxkff)(Jr@?M@IR<9uD? zkO+_C;;r$v_~7`E41zc^r`1B8YPoO{PQ$r2NLsexVyrQ?nBbU@PNWkZX&q@B89Xw? z3X$fI!m%Ww^LJvqNPDu-6VN4;#|_yx?u|=@D;K@~qI^L9dh)r6@rCDRz43AGs^XeW zv_IA6yd&Hey6>+TniucR+_dN#4R6Evo|5g*1L@!y z74i8T0yAHDX3S(tijpBJ0Xk5kDwryWE!>6Q#T1QF7V#g3ftA^)py&s}Jhzs2K%hn}r=`wa~=f|8cRDXErYt%ZmUBogiQe#@A!QlRAL|vpNOl#A{ zqi`rz*NN{aWQb|%j=J7LZ?T8EmoASVDGpbU&`sk@#3J=%ZLw}KKVO)yUZg40J*BSH zKB?QJeo6bBE{3W9G#=$DzzS3U8{f~P{XQ|$MWFfUU)IW=N}f=UBY*4Dzi@UL80EB>*v zaW-3J563*(ql^*K*?RKB+w`AbG_G2C@ktD=j9c4quCb7NHDF8qiZN+OXP+I|VKICR z0G`9}_P{l~!lL{hR~8DRPhe!Kj#oNND)Cj4lZY(M``l_X%~OcwOzcMH&s zkUwEQEe{uAhzb@LM9fD_Hs1XRqzCgcAB6jWo_$;1C_no)JqzM~Lf6V=9BT0>A+lY# zEVInI@g1@PQi4nQ2tP*lmIk}ih0708tb{Yb^8WtE z-A*Oh`!&O}_ZxzE#$8j~8E9=Dxrr`x&h{B~ixetXaxVcWyEM{JKYR-?SM znycokg=&3u(C+Z+i0a6<;&jXeKzgt_Zjr_DEg{}$cUp6RS5mdum)wB`^AdUvos|3B zXR+!tOKV(xYiGW62!VR_eLcr5D;s&H)I0se=pz^PT$<4mS>A70(UrsT0~%LWk1yW! zbnW-uG&akKF==TB;^KC0bWLXTnKnOk&7--vG0TBStaW%ha@>F`(xGI9;5> zEqbH9HY*ow!HF0#I@+7*wh&E4FsX192d|D^>+yJFB%|AFiI#L>(ROcazlzQ75deDAV{kFk07Z@zI(@XFAybFYQU5sK8#BRYz}^J zzg>AZ>ZgqvcYW39>cKJHpBXW8PuEUam22|Ty?GKW8{fJ47Pzlye0^p@GveS6m5tYjG6*;qGLF(MYILmGD9sIQsLE9 zL=<~hTh|6#Z6QXH@D-^uBfeSS&7v;6f@qw?zJ zu2_+mJL=Y)g{uu*k6&)D8$R+cN2{oN`uv5X7@xA5pAumy^iM1*LOi50N;@icw6`KC z>KUmbWOYz+oE>3LS5&N)SB1M&rZ{Dx!=P7m5p$DoDzv(j>Wi4HnQZ4uNhvMmO8HVv zX?STwX=G_ssa?xzaavdoNhHNS3`~T1c<$!an!)dpgeT^epHJkBMQWUWD3r!@rG^je+Oq!`VJ;t->a z=-@opvRI5_tTU;`B8sLvD6(i}UKJ7M2v9Fd1*qvEtsy1ke9z- zb4yIyjddZA2s&4q0wYPQpQa+XTK%BD*d#%ILBuYDn;?kZ@Ar3a_weAhlhV^-1ee zlB6hmqESfJ>yo{Y*2qY}^=7*4=FM8apf+7)@nIPMEt7l5r~cll+$ydsHlU5O8}8qRALo*G7{OtC-Z*%-t%Sj{m15Vi=UQsJqmwbX|QX(;xk zoN?T!~5@(Y>hh$3O7FC8n5UUq6Zm z@!h!|-zno168UVp$S=r5~g;h2?Fy{Qth(#rqZ9sg4m2<&N_0pe^|Bs^g zuf>1(j_mwy!c5v9!?y8tRS%xI`oY!((jPH!iv2N&yJ6fqQtr!CyIEqw4PU-FqU{f8 zxA-*7Xy@0FwFqekoSNSaY2R!PdIVfQ_zBG}14HlI3oz4hhvsujd2SX5aXAi*@-WC< z`Tia*=AVr})3U4bh26RDOSXm==s`KJu{YOym7E21L*^lK#9x-2ka^>LDgF%$2*5I| zTNPF(M#)rZsgf$yW{Zs&^;QJ7^sJP_q-T;2zCS7r{Sv@$#Gx9#wN=r)=&`P`*1J$h zJLcvqIRh?Nr5Ziv6X(S@|De@;BG=mS{+7+&j+TCXw=RD&Dkqu$*9JDmrk{Y@Es${u zL?-J{1aT)B%)&x0m>^>t zWijKEC5pP%-|u>-yU6WvS4;-x6B3KH7*zO^SfqcH_Jib_P@(PutGo({%>+{-S5aj z+waLiXn$a%Wd*i2Gg~i3KgJ%BgVq2Rp#C3`gJ0ITeqRg<`MU#BkRxTVTk*W$E|FC|9%d%UQDk6KXFE z?LYXNP49j}VfH+DS+Jj)WO<}8 z8RM|R&ad(fii!5}HV?#>!|CGfZV|yFiX*ed%A;Bq-hDu+^PIrGgXFW@D$Mo@^=fl5 zUC*zJrLkUo!$s(HJS<6+JS1ZUf@c*)txTr%ihRVAVn}D4s(eB@Gi~GNwU!xYAco$; zm&!V(F{L#$sV1u1-ibTj9^5Zih>Vw zrjgj}6}(Mx04(cG>td}DCNqgJdM$Qygii7s(8>x`)+a2K|J%d^IqX)B0(0-J|6xe; zQnxoscGe8-n|=9-i51?+8u@CCFhcQjN`^k&9)1q&*KZ zHa)IZ^qJd+UzC_wcc$@6A^*#T%VOA$Qh$v~I>s7L{_5*u2;z)-(d|OGm{;jUm)n)8 z)4SY42pL851XzuEFd2o4xYd^8wl1ApABA9kl**`5Mf>w&Y5}Xo}PSR-~(ud9uH8Mr% zFP#atg$5%2t!&Wr4so&mkUy)y71F(ZUKv>V;x(hHZ`nNg#+@Pii(TF zvwS`(hJ}X_F+4ns87(lg^dfT<1?DIoc%v^u$3p>=xb5(_yv+QsN|yk`mR^h zng#OJD4Ot?_^N!Os&Ts`Eu?$;rqcQ0JyW>+D*BkhBTJj=@Xp43%w?l*NDzw#A)Uah z^#})H4hacX67?uM8!dLoiPZ3rBIU|IbqREjWz>yhDHS3VKzT- zkK#lR(sl*RYkQTdf`>qzw58Pw*wQaTiwG|x8D^zKp6vc)mHaFm}I@>UXrG zQ{R^(-smcSRt+RA;JP;+<0~I*=Smw9od$iHj(|RJBK)}p!HvQU=nXf#868`3TDL}v z9G2Ft(*k1}H}EC8k$pm4uYl?U6jlfnuhU&8a%>GE!c4K{pY086&Mn+*-z=$qKVILA zHH3#bmJiXe2?*GHOdmUSSDx?<*FpZW_H#O0$Zx#Xc#^tNQor5q2(=ZE5Rmf=s4EEwLzHG&BCl^V-W0cO@(T`#kkJq-)*cVDvecR zv#Mc|H){xgE)ELfVQTo%^bu40*iH%QfbvuXKmATm781fB0&jV2(#st)pU;2JK7B}8 z*M!dx?WNydpp&P)BmdBEK>sb{W)BwzHSFM-dkIXldKo4UG$g|p1!1FBso8`wnM27} zHs>Uil!TuXe=jf4oRP@llidyf;L7X`@49(Y<4zcH4PS2B&ByqkRU^MGY=*DZfxPL9 zjBk_PA=%{&4+{-38TA@g9%LfXNyx*eo36k+@#iKXLwwFmS9)BMNHy_B6BidECCAf{ zWnmlRm&I+QNC%{&4!ofO-iu=FGtXV=C~L*n77GpcPD)PV1rEh3$;nB|UT-nPB;wtT zpj(hZ)EGq+RW}<{CV$TJ;pb@P{2Y_ z_rlVCIVx3(B+!usgY13ZeO;wWqMWvH_G9*L8<#oShxhH6^7JZXQU<@!uzh2&Wm0yy zFZQlGEj+99h8g9~o-wz1P5Yz~*_&p*aJRfF&chO1l(Wco?wDjp4uS1geYVwp)duW3 z#CAyT*j~y0GxA>w?wfwXCiBYy+!y~pM@nW=dc4aN0@OR>LPRNG5si+O~;eRIE)7c$rM7HWNvSKY&J1dLY;%{=CB2t?k^=9-jI0tUlep zF*s1EuArK2C^2FQu$;8wp!#Wqh@&AYfcjbe71WC(3I|5?Ke~fqo@xtc0rMM{yHX+; z=AV+^-k@OKW-S>I_IT{SJZWLR&Q;UPT?*#gC5`OQFu!DdoX3Inl1p!69|3!Nb*#@q zb%K!?gz4cHGF=x%48c*RhFZ+^N<-HxYw0P$@UUeX$gb1<~aSeFL*dO9wD~fS< z_hy5#NwkIiA3DMiFkWU`v(!J|{d_x=N}k6H8`|-OGRh>YXt9i~dWdC~%V)69Z8N;H zXzavKbErk904sB}pc$neEmr7-itxy=)kb}BP>j=o_btF8V!2KlM2um?&GyVL3Zw-BScKgdhhSO;#2pF&mDdk2cP;~Ff`d}4vZYhVa+3xJh ztc;S3Lm%x}*Zbv>ok}vgE|sHpzfo5vr0{P<}Vu99R{g zhTr)02c21f4%PV?X&Dy9+`SOfaZ%RVEwKr7PL#YZj|+1(q`7~{I~{Q*C5=iqyFMWv ztVu}PbMEshIR*PJFIU~6!d)gyIC6oU6b1<0p^H<9XK3U({%m|uQmQjP+7%RPF}UNRC1bFqts_h?NTgSY!O~mm)y5Ugc80aT-2lMQ z{R`b6hEc5E)?fN1b<3B(**C^#g!<(zs=?ye8j6im#rdT`MqEayvX1zPOUC3aU79y$ zNmzAWwZrak?jB#AJf?kWe(KJ#)p(Jz|2QpqJojW?d3oO0rOW8N>T%WW#-+9&lTv`2_I;jWCu&SYyIQbhQCxU~1Gm zsF5jF^PvDFk3!UHJ`+g?f$R^JEV}(RjVWjd7ZwW3+K9EQF{`B@5s8U#1KV&f@@8Bg z4t!wOFA&8 zes}C+=@lL0?B2CYdaPcu#3bqj8kHOQqH}W?w!6J3Y;Io=)+0J5U8lDQp5U%Av57)T z_bwjzrAAduiYF$xQ;absD<-}Nqy;vmLuA~6&|spBVUGdRGquedet}PR8WQ+XpV7Y! zk<~r7>@rQ^l=n`wynVu-!AkK*KSPBicc044Nl&eInnx}f@zk97_ z(+3$>jmi|%B(a@7s866gDDf3c-oPqiiU)*A^_hK~kM~JFRSuVfLW3N5PBeRe5Q|}| zu?360=3U)%T&X5Nse$(Q&a()542zj!^x=meGMe&$rFgH-Ao!5&@D8w^ zzPO;*4cgbuZ^XXx7=4`xuZQl4c;&IJ?YHz-CE0>VN@AN%HdmWYZF{EF%co3oU3=3V z4E649)C_=za^sy(vDGqIQIF8%Y(I>mGFiA8etcYWUWVc#hMEhtlj_WUnnfkt4I z^wSTUtn)KVGs`NTd7{&#_8sPQJ8<#RpS#Veo%&98_P~MJ1Kyc3^_>9&vIk^mzcX$5 z7kPPO$BY^C#j>Sepc$K&_l1x$Ju33~6;G`XkC+@9a(3^VABMcvKRdf->f}S&1K2yJeyLDbyg5^thjz=ALVoNd#&jkn*HqK&utW8&+iOv94qAHjLhi1dWpT8?34zdMN41Zy~*a7snWScZq!v$tpQD$+w# z^-`h`j45d3-y1+fN z&E~>38;{!mFrQACj{lVbZ=@txGT}jNan$1dS8n#E5bVm_-B7`gmxE~*aw-4s-r*s% z@IR{=?tu5-t@8Cl6((=eC$m&WGTS1e*GeH8ZOC?`Z96e*w>|z!Jb5+!mH4gpEdxVs zMm>Agh$ey$HYHgilC*qcpEh1ge3v%fwkcR6bqKbxJ&jEILwhPV5mpOw?>}Jae0qmb z`l0EJx9Kof1xlcKyPK1Gu^JMXU=H;LW6dBR$^Vzt68c|O7ni$fLvD^WGj>kZw07N+ zGM@NbNl9M+{yl$Z%`E$!wIvKFEbcSTAol2TWM58O`LEo;;eYFx^;kL``Fjgz((f%X z(4|H!#CvM)V^xLtGwUgbvG8~2F!p95Vun!uOw?43v`eIhQOIrw?a z3&!V3L1dU$ine(5Nbn-j52a?+gcPaQf?vHHl$(wv;>GY1Wxg~x*Lb73#A_tv2PizNHPG<$Wb>B8P1kxWM^ zaFALs;x&y1tx1v4*e4A2nQ|M_8r{?kY&UNG5*uaDFgLN~O*YsVv`Id+M?OFY>_I%0 zqF!e!e;soSL%l;fj>9fVA_)n-#A=X3EqIkjm}nrEIKw5Q?h<#|QV<>*#Krj7_PIp=s<3}S&Tpn-KJ|p8$Su&gRM;c zv(gq13md*Pef}Exyp1=^nfXj)unlQR?K@@t5hN8;uS_`1juI z!3%u{U3#ng@-AULCbysU#E8*-gZmcDA33sZao3POi!&BIIY$_)AJgZ_SA%Vf>=9!J z_3%y2@uj5&hs-rwCXN|A598;uggZisQoomSh-2k@{^~u2tNt&=d+?_CwO`6*TUqrU z?xn<%D&Wt>l3l*BN<7wIriYMGEQ%Zh8v&uRS$(&N4QS2f-C@RH8t#mWfmjVjOg6a4 z6UD-^WIbHX@Gy%ph(%^Kh8W^BV6!GcEzeC@ONt^1WSHP(-S$UK0uhrIcRY}j2*hgr zRwrWxB}$7-wLc)uv@zVTmWZui5vTjrF&{^h-d!U}GfFCVx|bi>&GX@58thze)8E}= zaQfQ9u}fStP(P||?Cb1k8&godhg;XM!xEvxOZS4F3ke<3Z|Hzw!x}Fzej!Vnx(H>k z#e>KsU#b==McH@;ZpW@To?@FurW$V_7$R{7l}^GQFEut;Dd$Crl|G=f6&5zrq0Ah_ ze;`zC`@0{t#!?weaY;dLU@B1mHM;t4;8tj;V%iA%iJX~AOFW4 z6|d&Bs3iVBlzj<6)J6OM&UX*wko#U(c3EJ#PdPj|L`6m95Cla;R8T%Y0Lbe8-4sCUew8 zi+mG-yXz*Z7o=td>R-~G@j9h=L3_%6WU$^n$k)lB3s(B3IJu`NgRRnw*myx_aA~P1 znjB1El|_I#wx#yS=ONA7cC2Sw`u_5*PiLj3@8b_fm(}eYT{iylTS6R>&Yav;_FS*r z{15QGE&Yco5`}a$7mXPVt7L%2p0hIQ6nq_fp7mh|TWE za!4lf+)`m`NEQDKiei=bjckc?iS?VcA287Mw3)`SCi&*#mbga zR}-uwT(Q$t;{eyG<@dAb_m=iBYIn6$OjGP=DQ)}w8k^5gZw<759_w1qCn*nuUQq3b zMOnGR{`0@qjwsf#W@9Wj_q{Ujy_(ot42Z?z%u{CzV#C2=)!o1iJ?qu;EZ*U6H2^2@hmRX#PFE z`sxNGKPYq-T5R!NfCO7~f6I3wGq$}PQ3{d*kR2v#OcZ1(mu*n)9GaO`R+g1H^ku5w z@K#dNo~cvz73S=a%Q$GtGl!P-%p5Z0N0f7@GLG*vW#7IjMGN%zw}`?HbdOpa;Mbx$ z6e#?oSeaF*qy!>~@{a6a$k3>f4ANQUf|a>AyQ#?6p(0<0dbHAUw3{nKUW46ew}Z;r zo$W<^Rf{Q14p%~0k~8@|EGz$kYCJ%`eJCca!^%OZWFExe6a|r>FOkaagGyIwt$`ma zWl0A9P93W@m_Hl9_a1MSUaCNKtK=grY3|7qOr$kb$3)FtIt7=j6N5&zt-Pbt=0N>({^6zXg}H& zwIKo>{iqZ!{2;QqQeo%k8l>^_2x9(vOGqSPslZW~^&oh4WFK@Y^2xMi(IQikPKdRa zj39F0(Ox!U7;_Bde~f>qc*M#Dfs5v})sNs&o6VoLmynR&*o>0RbUt!kvbfI)V*eJQ zCL!&U$oUofnrPYAsDErl+C{s0AQ~{z9}>S;Yg!@6XB%vuxF|E%*P&8l-L$l$@foVm2AW` zzMoZ0<4^D=7RoAE<#hZ^fAOZ7)CYS2UhLd@Ms-}{1D~_MA`P~N?h#!>(o&LegbJ0L zDI`+src6x=SB?&G8=W*Vq^4^`*YL;~pH!_*^sqO@_@vmU+572y{9?KaP7U#p#3V=x z*0?!{N+KTTRUtruPPP3qK2)~Hh^mSvdrQy?+2MV>MJ{Grf`M$bwM2mXr24RI&&upc z`_d7o$&kK3CU98V~C`0q)8}JvIz`otJOgu{Ab!S=QlhYfCS%CpT~35*0Ns zi|(?>p%gfgX2FS6arO_lFGTt&;e^~yI3f36(xIKsUT$AtX-9mBy0;j=hZtYnS@3Gg z>23t=bV5b`)vysTS7!{!>tBRNx3=7CZ zL{U#kv)i#07)`eza92W6imTnO%=7ZF4IM5V^wt6`% zr{85}yqxsQm0SEQ|E8+;yQT|s7qfc4QGH$FKOR5$1OEx}7GF1S8#{{dk10|qp8!6^ zWW`fi!`zs=E2XzMv(89<2{Cq2BXTDpQHoDeD-_Ayk|IM~P^HnRP{sR|`3E+7$2Tfh zd)IX7k{n_(y6Bx0NvJHDY>JF=)jQdHXq-$Yy`6_C#?C{NoI)bJrTCL9!UIcXV;Fvf zR2laL$~N=s6rE)C`nT;sTiszxtP%{nvi%F93WOFpZMZ`aktK%6CUg$lP1V z?T@_`(IaVU5jTI_cX>};_ho&TY)u)QUY>UOIi+%3#jJJycV1LYzIJ8rW zmi9WE_8B(qneFXTwM~1uCe=EQ)Um&-wOvtX(?3(lKD}vPX&SXd_PL64J&QQ9&am(n zu)?fmqB^?T%f;kh;A|@JFThP@CI~}LossTof*{nrTi3Kyb&nJiVxy8xh>hwND558I zZo3#@Q|%Xl7?$NHtC1tCD#Mr&k`Wr88J|^dEDtFUEf14ZTqdX{s3&L|oEv=QRF^tq zT}WMMU1CF0Lzjl+hWv(tImS65b3*5Ytv0R>Ssl7MEVQe!Ye?77#LUF3{>J_x{X_eQ z)g?Jl##$;>n6S#s6f7VcRa}_bU~MHoCt0<{-w^A%w|BE7v-z|kGW*&kVP36KXUy+j zUL&QuYSg{E7uWf^vFqH;!*%4~ob}1U-Iw;OTkRLOcKE_=zucSdu2Kyin6NC*Sg z(2StOHHEX*yScG5{enz}QAs@tma`4H+BAJm!GcAD)(@K)kUykb;?anx;(>*QkIlJw zYlvr*f8OAzh(p1_*_j!=b}TV1s33gZ30VsHU%)d|xFcC=oQ%gJ??~WlKN-IX&Cvhh z_8I@&E>(AECp?zNsk5}F18IK{iT4s_0-h=;8=&rj{|#}x48di%iA209o>!c~A;8$bmUkbQ|a1vG))p?-?M&_?&D zM*AA~z|{$UK@Ru|fNV5Gu?66$kT_61O5VC3~s0-FQXg2)MS$V@pt^;byNhBt^Qqk>yQ0ZG7KZeweD4I zQN4r+3==$H^;z9aiNU_!9tq*d)Ae(R3RQ&#`*^4tgQFTfmIv1)ni9htI*VV%`uPOd zg~oRFw)3@f42X5?oM5fvV z>}p=53uI-?&Og>%6~C}>9dn*Ib9zX~%7Kq1E-aD5;zL8%<|)qx`0+#hH&2s0oxg}H z73VobKIazsd>(F}@z3p2b%%C3PkEd=xm}LA6XREi@x}RDWAa5F4CUSq43%T@A!Yra zgYprd-U)H}HJz3tD1SYI@+rQXV)Dc2jR*?K7w7TA{~DNX!%uLPEg|{V1Tf3V{FjjY zCCyX*$B=xxx6IG|4>9@BheS-Gpk4C*SZJfLW7OKkV?RS^-yGHu3gf(l%%T1R?K1Dj z`&ZO1`Y&y>pJ*H!ZTjbG`nC06ZS4=5AFICZYLce28{%Xz4~>s@T;5q z@Ts=`FWD6WP8wh1uwsDRF83$A65~s2EbRo(=VHCo-_BvF4Lpb1;gM=&c;s4(qQA+~ zKT^OC9-;n5ucv8c`iK&_$;X3=Hs)f1!+YSK~s12l@GWQ#^XNAml3h zc^%h!e4uEIvTqEoiCXTnI?y}7!_P+@sP*^Nd3m}(m+%b=)c6N7UyWmEEYTkk4kp+S z2n>WKa!m=P&rFF@4~b7!B$xGlt9!`eFc9(-49Pa)jV#^xi0G6gJ46(;M|E3h*Tc!p z8T^DF>mSstd)523`~ORpGfSSedGoCM_d8}f6Mo3{8^U|Cy8!RqWjqivhroLwLr5!) za=YB$YQF*A+x8cDFZW;VY}=pkOdfwlhyH|Ta{o2f{`!B&+%EU0dybxv;Vk#uGCr+W?!Tf#e_F5H-%4Nd&F876CDwIBv9R^ihv3Oa z`&LB}i$yy=XSpM{EbtEy@J9(aMZT}x-Wo01>Eeo-r|K@ytv#svEJZt|TCj`kfn;g& zK@;=86eUGQU5aYdH{QIo%6wzhrJKw3%MV9OkS06lM&z(@@YMM#U^-)k45830z3~a9Do2(aAe}(){uvNbCL2JpDYM zW*;_E&-Y~Xs;r!HG$WL96r@u<6S5=v4jb}}xl#2;)9l$z{9ILH!sP7Q0XRF^wpR%n zw}`BF*b_j3c9LJal1wE*az!hoQqeB=kH?;)pAAi?{_vNhUC6JJg{D7bJ8Y-v)L*9Q za)0Yt4+l=Z3|z(dA%p|dC&=^m@>HUoeBW*G6K=@xtROhCml$99gNkCy zdu0XN&Tx6oHQtKD$ zCiM;BpHhU1qV4cfQaMvm=n`IRRGX1QC#9JYQPX-4uMXY%R}h=`LYJo=&sxaGNWJuT zKD?thzpTG~>rO_;8kp+yHg!5tl7$zmzr?Gyl$))EomF82BE?SqJtsNlA2O-g%702! zR*h`SufG4XZPGIC3e^W~wA__OfiEaQgL9x9?62j!PWZxv`a*Zhe2?mO0*{W2 zIv(^dH{YY&XK_c@wbF0$#knm2UfjmHIbub&iOECH4wEwOnSW<9KE;zoWk|2#aqOx{ zOwL|JiOCofBdGe@O#m*FHEjmQL?mTvE9EPro%lGl&qRBH+#fKYUMImefgnI{xxe`y z@fZ{lwU?Wi)cO5K0f;6^+NdDX2Bh?!M4A;D~+$1 zC3RP>zx(H>`Xy9}n-O16} zL1W*El2FtNCp**zhD-5_*JB|A3bjtKQ~dC-Dn}ul=HpkZ`M2gPhoq!&)hB3!s5ZVrRSvmVt5}#dpgsQ^sk^Z6yLh_z zs{MRDU3}D@o-W;xhK76-g`JDWbEP+>gd^z!2{rzn-d^r*ssNNhP*QHVzo(}Yf|KDa zrZ@p;B4j_2#R196cGU{Vt9a6=+^EY$Zp{XKad@Adn z%ZIRSp((B+ZQNK8&UAN1vk)m_gZbvIQT&d;1B;!1iol!xY%b0T_I}_Q@r4l@;*T@_ z!utexd(_e&_=I|;giqmwPv|Z8M|(fAO-M(IsJ*Q}#v%DKjCuiw3H2!?SXVDWh zuqIv}|6{bD7k8$T_ov?|ir|sJ(`v{G+N}OJ{IaO2Wv3CrC#j%3Dc~N&JS@q%?n>pA zu!$3&d`EY%ylYy(8^)5kYtNZZU1G*dro4COzu1`MdA_!8XGX?j%3n@Ab^CHlnfm&L zhH3l(zfTK6EClA62-_T_Y)19?EXlgTz!m9SpW5TxeB>z(S-Wc6Z7j1q(3rSwTRZH zY`sr=fisSVpP^83KC2?el$D9s?~>C@Sy`F%Or^@r2~Ccs%&g3AX>l=%WTn=ttEZcN zj6AMZy9h z?mBEx!U9FcRBNRli2w5c^1n8w)Hd5GK7?&T7H~r>WdVCMbV4~GhX%(wk2=qWnA*68 zGSRGfrWOZuc+W8v&|ZmzD}!QG8) zoGHfcOZ$#k5!`Kk(T43VuHM~EX(y%^&h5hbyJ$4o>BZyycxsQTK=*Jj5BGk(dX5P2 z4tIC+%vH8zW^G#*wWOrH-Okx3t7q>6J5!eD&w8=%nDM=NX1K); zhxA=rx>;%&U+ypK*$qObXz!n^Sqylp`vd@BvDxJ9^r* zTgR9ClRhK+wF#bl0l(b8#xl-cKAmc;VjM^gHshSf_{haZJNBL0XUY4s7yFzn=s5MK z@nygKd9+KK4VM0PkPgbA!7#-hv?qzU1_jk%6~1bbL*Zd~RW;SXVci8kRfuCOK6Xh&^w#nQ6cHOrLp%26+OyA}41%0RfyoT!DTH%+bfBdsN zKA%eYs%_&>XS-WD`hz>DtL&zsy_-1yC5l`&7wxcysf{EjNY$Qn`{;TQoP-y>MgJa_ z{)4E$#g5kAAD_4BPrhHdzlgIyf3RiM{SNmGS`Wr2Ik?_NJ{c~LW9eUranKLvV%4MN z{;p_8Pn^q|4*lugQ~&mRBlo9!FZUPs1~G`8FfY|Yb5Wq0x3IcoFgZEWPKvRqNG4Y* zlgp8zHW_AXuVY9rLLw1bCfQJZ@gMo3>})h(4{Ihyn=6YwC#nWUMD!b2UoY1U{LdQw z8sF2ttVqwFiSJNhP!<5OB4!rv8%Ke`D%iAvAR>#GKO-aZ(`9#Za z=DUrn*DS-idIBE26YHu`4itM94f>Ub{dOnGPwbgH>Yd8lMIqA)cOd|3;D=%Rdpten z(vjp8e*1Fu3Z1r@#Y#Vim@l%@;>u;qPeewHSiVeob>Nbxufo<<7H*q!0hZpSH5SD zWCaI>Z{N=U;yKN;*)#OkO-B0K$9nf^a(ShC-{rC6lqbGmz%Ptni}g&zdYp)=3E*i^ z%2pMYY#(o=lL8wMWDImLG3BD-%B9PP4ULS5i(kI<$L>eRTpC=OoU-w;x2t>i!V;Ue zu-Dm8te}44^=lI+DhCZ3^7u|#-tJvd(Zy?N-np0ujuXtAfVfhBg(5XxsO<^_nh|!< zq3UT zh~Q)SV|)Xzi@+3^BOW%|G|gB=utE_E$EsfPa7S@)A8a6Qh`^v&I9(+>$(>M0S%}g3 zr$6@X#@4gIp?Uh`iBEd!N-|UZJ7?}HeWNw5`^qo_1 zPpRf5w?Dde{SKSgj6#{kWgwDXc*Q6+I(iUlJV=TaJY6*jGPonjHzKIba*yd{C89aO zaV%A2aVMoB+ErXaTnhXrzyQ9Yl63l-Gm#NBYu3IP5jlo!b2B8m`}2RlJ|=!caC+~4 z{T%G|xxJ%ksKW>?6 zkY1@ZPccaAO3ft(JZlnlSPDGM&K$;ir(u69aQ{4sj(MaS+{x@|DV$4}PcJcpAOoo> z(_NJw(Z=u{mJ4V;nwN)wA%ExQz z>K*zW+urljZaOgP>Lk;|kH`N0b$H-;Wl(U_oRfF-`ZM9-bEekMKCpf9+AUp@-wFx) z{@u-Q!p^glm#PP1pFA+XRsO?-R=r(HReA@TPY#xx4Cdd~hfZvG@_5iH+(KW9BgMl_ zMp;XrFV@l*IyrnlLMOM2lJ6CbX)~VS#6S{|8cFqy?y58@HrCUFEehZZ&P7z$oXiPI zsEvyce3jn}VBs#t+UTCSqfqDCb9+SiSkw*G-l(eD8K1BnhQRz26(%oGNu0F_bR`S) z40~ux&%7U|Xea?7D4H;XZm+sMgMaa_etn6mRTjCrdisOH1eIi__-nEsAMpln?Vi5u zLa*`h`M30J$D9EJ*;dxTCbI4R8jZi7pl{lN{rMG;x3~E9AOm~!0P&5!e2{vyxl5@FJ!l#&)3EMmH#tlEn-Ttd)Lf zGB=~V`8dEz^4D?fxevw_=u0;f1KZk#eFJ2Z)@fo>>MALnY{WBV8?o}cO_r;|-8$Hc zG4?AE@E(N?lg75(`7og{(QQ$J21J1e`DPEjsr&ZHHDO_2Xunv>Zw0VV_S)ao-bJ+R z-1$4NoqK(qbZ|q;Yt77K(^kD(piMF%TN1-E4I?UcmxiIn85Vk;*-I zO*eL;`W4m7|Hi944_=dAHD@Uw&3(|o97rHxiqO_C1s}7>3c+FG{R_c%kn<$7>h?;_ z?A7?0xs5q#ZytIhR+m#)9P`GZH{y)B{flDWILJRf=pH>OGp}q)zdl!)LCISj{xx;Z zm&!j{9Dbfe|K5*6O~)L-KMHh&YUsNIfF#VvjE+>^1T-lTThC^Fb@QiZ_{U%0_%*Di zX0tY^s7n`+qqawng4#(E;Gf3_sfL4p5q%>+mZ0YN#!^yFRdM_DZC%0SMaP0=Ti}aR zkIa`|c(7AdE#o}d|3(AjNd~v_1_z85fbobM$Xt#IHi6p3vWN&MRTVNb$jf8dE#{;A zXW|swM-+EAT3ACj>01joSiu_ELdX(t6RTJ|hyU3u*uw+TpIUE%wz+G(px-1egWe!hUkVr{MI`#CfSqT+3?SAJl2%*Zkw-KV7R? z^Zxh!yL~$FDvE)Y&W~R3Zk4wb$4*QQ-5NEKCf#NJbL&fwaXvj*SuZWG=bvTM`W^vp ze%DBF`3jbbdF_FdBh=fF1w-1GSXWA_yD6Af zhFZsoh()sKI{*jIrV7pt`oI?Ve={I>*|U*Ff7*AtIm$n4&Urh#%ZF2v`A3(=tO#g0 z&9vR_^v-`L==7mvl+B9cD--Q*-(dTl`A<2lf0Kq^;NL+{c&n_~{FeGCi!JcmdDj^i zn_%+cf2xpz2fBgV2_eYlX(VK?3BN2J-%%#%Emm>qM(&WLIk(2e){cIyFHyWM*Z-JU zxOz12GxjbEO6nAov4NfToOqC)N!mA@<3$nvXG77lTT3dXq2?c1r%-)id>`DY{=mJ} zz%dhM71}W*6HyFGCI@YDiYQkk-#9jI@`ch*J~jn?dTa95HQv7Kw~xECD014}+Ln(Z zLcaN^;qk>D-fPxZzA;w4-(>pb;@-1ye)<`c=B(`9|7J|gz3V66Pw+L48$EehkM5ZN zAm&d3-gTH?0)-G{=^v+`T6VPjQge{su_ya=YV~uQI=ke;obXU`NLW6p)J zx#{tPFxnC05LKWoq8k_pghe6tDzz}VX;C84cfj;30V*3Nr3$~Y%7ki(+V*ORb4P8o zxL)Ra9=L2Nm`LxmDMXxsE9L`3wHO(|tHD~NltqIq8qy8vE^LOp^)h4XxK63E*+729 zi77~Kq4-fq)dHC@C*C3VPjNbqq zO#|IEDbiYJki`j<_fOU&e)lPCbuXzV<99<^q34O;k@k*dDPRpzd#O*5b_NN-+ue?g zAd*Lldn$bIP=)L??s||1$&{-03jTd$N=Q22{`0?Yr-vNc^k*=;61@CERLnxw0t?ImVdcJyc-KlSlf{6Eb8tB+a#yrY;C7DH7y)(lICLCAk# z%tUy_JV^ut$iTR#`t=FBcKNC=1hO4pVffnHBU3_qoHz|(OqKcIz4;j#mLcUSn_m*^ z*@yM?Qr{$b%AOb~)dvJ|O-dA!6(PFv6n|#P3yb-$uU%xGtEVT%6lQvl>ZA=13{F!` zE6|2xqXnUFL?ZyIHz(|6~Wx*Cxre;MSI%BHp%Oe;=yw_22RKu zm7nm_`4enU?$F_N(M8()ka3s0rSIssoJ#m@l3tu25f$OK(IE&{208-=jM-Vn0pJ-0 z#TW_SQlTJ2{bs$CZ|S)74J67!zE2r!XmQlBniB>V%)T-Q;qf5zagr!^u!AH~(s;DL zvs9ymJc98slw~|%6~-H&j4|-zEG>xdF6Y;zB~+<)q}B7p+8O0N)3s52AOD7b#9O1-^XmuT&-&&4a}Ti7hY#_-X;Bl#t-AZ~e?ua+ z%=xQ4CrgsY#;iCB#6)m-yK*0CpN&q_+`n{&4Q&e*(1#@AKyZ{9CWp1p9&7WNVQ=+H*q`9SV~rI;o$ z;e4ovI{{E1nT9p~2%6Xn^ATSl5kQ_G8AV@0L#Xfz?4v{nnBL3N4w3`8DAAx&d#6v1^$>EI?Bmm zjFh(V5U+m0+mHW{;5*XMekPU;d{F^khJioQx^Yv4Ia2sUWGn;>V(SH;U?E?;a_4S{ zM`l8Cq2bFu{1NGxp=G*(y~DpWu;&)X1v`bT?$Z0@pX#-vzkRu?DtGYVOnykHJBv$t zWSs8dy-dtWIEAN#uhX2N7KAdw=mD*YxQ+#%lwqk!IAiuZ>rw6H0F-LteYYxi8q9H} zEVy=Nc~*LWj8TL7`*~k7ZYW;&W>gX|N@;(X_Xj@JtiAhhrWiKuWM5bkS?g~+Pqh;J zO|o#uIa5=ta|WAIz1aqqTI1tLD9o?z7Pj7@hsHkAhQKdg2;0j4I3JTtQ$;uPB&e4% z^5&i&js5J|`nmEW3$GIwg(A?PeUO_;EX_^>x|a%ymztvV^XZ;*EF<|#{g)}1Qoh!I z?YpO}(ipP*5dYVaRfaWto|~P+PE9Eo!Cab{C;y>oUf{%;$4}4Sm24;heF_|+ zoF7->Qa+I7Y+?xPkds4rM0YjVPP*RxG>bWH=)I}@{pQqAhvJrP(yQ?f0g*FQAKl5G z&EL~F9L~v4n3Ov#KAD&CFW82^62tq1_xy=J1O0gl6p9fzFD3R43XZh-65d}XQxs(T zL%<)rV&-bXn^>2Kzp%xvDRj)(3-BVc zffE`16EUyteDyY;Tc*espPPhzDuZ8H!&=08>0BNW>w)=6tY;wg6X!V94*OtPzcucC z#Scq6e9nX&z$e@_>;r0-^V~(8{0bTmaq@>nyU2wT{!$vsZ>jjN`2IuoE?klKCD9968Pautvatz}#kryQ%Vpl?+l>SPI=+dRz3mN^E_FJ|v zZCsx~etp#`W_)2Li<)`r+2mB$#)2^jF*D&Q;?-*g7H?;xwwUoMB|X;OGM)dl8e9)> zlOOh`h#!*UxE3pN+TytSiTfquxD>rC=RtCP5A?@+;JP7yI?f&Ai1QZx<@FG`pz{#9 z)^dN!_(uO7qFv+yiT-EA`td0-4$%{nfQRUb#$lCZ9Fcb+`pfiWlTH6JK_BG)%RBUM z&%405VqTn!>K!qDc!%*H%Bhn!IotLpKeF84I=SH;BHq!w>qV z{6oMm(>DwJ579%7gLQnOhdv^HUhZ#&UydiE@dbXj?T;KEM)Xa_Z|nGSe}Z4`Zyo>P zcrxqwPMCLr*dOc^!T+wj54X_X9xr1jZ9?Wgov+-V#+Umq@6ez2XE4UGleSp;%k-Jx zC;HdEKM&JqEBqbldHepz{oCU!tnmApKa=BY5I>Lc$qOamoQif4Un3n!q4rWs`(E>B za=eVCKeRc~|2+Cryo?F$z*u~u48LHCVA!ytAgf_FnWu9nJDt)CkCvpSgk(rm)!Bum zhGr=79bB;LR4Op5j`9eKjqM)W)es@&R400y51VfWUtrzeSp@MsqXInZ7q^{(=?r(g%-rNa=T^E^5a7 zc|8*Qhq^VNZ8}Oo<85AEpn4IqND_X~sZh?uiP@z_%UQB6OfCUUfWbWl$fzc_b0_7b zxPb|V&TBa53%(10JiBsuVfQ}Y>3(_cmC&Aj!h4@QU|?a(NADit;%zb{8@l->v3E3~ zNtx-ok*_|rE_U&xmdA5S{7P33&bl%oB0b2td-;xK-KG^7d!==cO4LQT89*CA!&P#Q z!cxUQ=O`=%#6%kgU>(ZVKUyb17VtzZ#Bho(4fQ5FZm>z?12NbR@S8Mt##E%6Ln0TB zLw}06!25r2Z;B9xV5Oo{uQ>+Sg}Z$0_KkZos>l7lu`#-twSivtF};RW@6X6cN&e5i z!a9%1&1OY$_O%@m5xuW%aA%KaWK1*u#-!W)O}B!s=QZ>-Z0qh$Q!0=Ij>XR7TV*3 zhDfWW-&1~rR?!HV@*wobws8?1_3*f}lrj32Po*WgPO4B57b}lzo@-F*g$~*B(Uvy5 z%wbfL$2s7RsI(%-OQw}82yJkOW!g$HG%{^nV`)!D%oyd~SZJSg6i83~t+_W=+GlN- zX-&HfVU<-hbX)K_L34!c(M&X8c?vx8k1KJDH4$k@Fh zjP-bs6B`pWvyK3XjSVXAUlcv>;O&DRF%6l^LPNUBS7b_TizL0P(eR6mZV7?)JvnA9 zk8IV}@Q(o3dB9Zz9ZW+J#~tBnyTO*-fII`OM5^qRO?P&uk7i$OQ)K%6zA*w6gKtQK zY;bIrt&)Ggs04!49r1p6zJ=~3<#Qkq8$MOVL+{%?{I*^Dvv#06ifqVUS;8*sL3GF6 zN=|HIkwh?$yV8M-rHJGa?~O_xRs!@>N%)@mkr5Glr0`->Vd4CUi15O~{HTfPvkH<^ z-kRNGfMdW!ZB%`a*##-dZ_P^2bC}f77EocHZHZT+SRb2ECYu-wB0vP^qdZr&9%tSO zS{>j7c*5tOXcOMyLB4-0U`W0qv%3{+rBV5r6;Shs|5rdoG!jLANXtP2DX^;L*q|Y> zLAilCc1O$=0OfBW{z`T}ybL-%v-J%8>^|@-x(lBzY;`{L46^~&U^^42qtb-3EDL@& zvf@%cZtB%w-s?bBX+}97M`T*x&RV_?8t9vBPA*S-@PI8lb2%p`m)&KC$61!y54yK? z{7!he3D!okk4Q=lWL~2_4t`ulAtl0^k?P~Z!b}XhKiQF3FX=tk0z@M9@Re#rtkO)) z7v;<)Hc9yQhYd{aGPHERv$IRfU3=#~6ssgj$`Fm7zsKL1Z@v@}aoMpohs8b5?8v?E z>Ed6Vd$NCLr-($nfOQpGovvbqx% zUz3flXVq0MqlYd`kem&Da~JG;#sE0i0nTIXycl9eTi60%Gosv~fh{Cnd@0uN`W$0k z7u_%cKtj1rY30P1-SqrV%QTrgoxzNm@Jn99dH7@fFp69KBV_zjA=lRf>qP`4`2M?xS+I(rvnJx?0wz(fazjOC9^C1bf>Kr!W-oa9#T92_iVRUGDFp`T} z#>P-XqPMGD#9e`KN0IC)|0;^X-pD>5^4r#@8|Lv*?8VFPHSe6ajK9Y3@*aKn2JSs( z`m_1`iuJ#kz73>+&qo(jmK@l_-@fAMvwQA$yoF8Ny!qm>rtxDgYzDsk2XquM$hh+` z`oP&KTi-};#i1hjR0AU}V*XN7JPevbjc%S{-iFJMN?sc-Z&+wp7&RhyGq1by=AEOZ z(Mjg-gIW5Vm4~J8%--~M_~UoG&pdIcd1e+n7EjA9JpImb{-kN10bjGY?43&p&Yr_6D5q49rLG-+AGO zFg;#xhGkX60b3#o@HSmJzi>TD3f7zN3~3(nqW;V%dZTXjnnB80L*Coo#Cx#Uo7kUt zr49XzS8MF>A)t_nr3gte&v#W@x92b5HB@ zFDyKAASjgI`}IE>zlM#Kmuf=l&ktFBGA2MJMNOVmGwFjf5qZ*r1Jxs5+yCOZz~!@2 zx-^?ig9asT1Pr?X!#=>^iuy(hR0+1Eq{}f4-rzoZf=aJ^M~nCN0<4jPVV7!Fnm;V5 zWDYMxL{#xVlvh_jXtL#M2*ZzT@S4t^VR zNZ}=w{12LgIjmi+s<7opi1#}x!WMBh5{meLu5t#Scc9y0%iIBeyI&r2lf%R6m{%Iw zqm6&;QBu|+BKcfkSpB3XN)|&TkKmNVAi>F_qitBZHKwP>LQD%B84Ni5u~uLF0HUUM z7qPmQw-w~`wPSvR4h&+dZ^rZ8yrt-|KB4JyH0y?=RZk35g+@i8p3H~*Vr2AdJuQK( zG`6H@hWxcjH4{82n&dCKZ4`Ro0&kg!wUoWfK6dzloN_QI`J^Q2$uKSjrVV(^vGbCe zm2RDPcm^hhP4AL?@+8v?&L7yvkdvER`24I{g#%TZ8LzXbI3s^<&^nK<1NgtX_EwH7 zF(&O}PRxDRE;o1M(I{`P$y4~4DRy?p|9F{TS_!>os*tasf3zuUYJ>y9$zbulW|CG% zq6-D3db4T8+1GbOME1GPvM0U3-|_YF?WfVDElWxY3rgr!ivsrtJywJFChs;=avk{Z70?8;|=&fZYL+-gWAqcrMc-*(HkZfjY2x4Tkz8X&d$Rs z4%BY~T-kuDC-x9pENvd`6{#1gLS7~86wY1&5xx~+gw$&B6e@ie^yuNG-?g)K@bO{6 zeTI}(KV4Jf;X0uImfZnQt|%&Wa_-q{)qtTx>-7_dk0^Zqy1#q=Kxu?eZf^a7ieUi( zPY1iXcS#;ql$yFBIx0OkD$1#|_Moqm)9&S!Sv`SDkR7iAzJq`d0agEh@L??-&)Uue zQsZ115$UC$J?quXrP;xWJ$nvVlwaWClH6tTjDWdgGBO=q;^N1p_3l+{DDK<0$F6}H zn)9mybsioCdR_dIxM?A^q?|UJfr78XO{&3)hl!>SBK>UCdKhLhi`tmq&U!X z`PktFo`KV69Nm=ruk3u~hrE(!vy`md{1n|TUFweXl&LYSv~1JZb=rV+V>gwSNg3zZ z5LBHP`}+sz;wu;iPvX2`LPNwLi7*qY)S^}7oD zPaL~dRS|3ns(Enf!IH%R+81J@_aE;xud;%5V|L%NZsxn}AiK#&-MTH{TMPK!R#kv* zgaN*I54B}#4;T#E38ED^AbY$)`P3l(XJd0=^@;`0ElA+^zRug1A2M`nug!-5Q^w)? z*Pl*`-n{-I`&Q~|or>RW;Vlor^7#|HaOdE)QQ_$%ky|3-yTz`6?fjiFB86vE>f>70 zb8P;wL6^)wBnx(!QC&01P+M2r7woWL;K1jfevbLCG5;Lw=?-4*OgzxtZNSliTJI^7 z`IyO5=uF1Lb}R|I1f4Wuz11oa>rGF9%CX)lO6S)zV)z0+BsPmp=O5krluf>6p3A>U z^u7MJHc{%qv-zvvsMNpUz3peDKt73WFjw=p`H!ns-6vd<6dzz+A6n-SuX84W6l)Mw zo)U^B5)ond`K?>M@|-i-%Sp6wrY3x zapUmTi{fp>#U4>rk{{VNq8Fw934g-gZftH0ESR+T7~YxXADo`n`=!Z8=dwdo!-e8v zrCERdCY6q?{uD4GMi?-vft!eDVe-@4R3)a(K4punY`d~ILTu+nH=b^^hTWcru+?Ts zRi1M|yzLh#74w1|fNK@9GUki9@^QCfF;|SuTphyR5NidJsv!tEOnhG1>m{0aqF;vq zIKPR3`I8qtgGvC9`PvMxepWCpEo?KoE|gOK1`%XWtlbXqD8+4uKBPv(1ui|ltWoSz zQ*&%HKf`X0Vxw^Hd$9U|mWctZzK7-7f2#5P_A>9(#4oR3&ysQHu`~u-vGPTnJ3>7T zg6qc1hDOL$%H8ignbXJAz(3Wpo2&e@%PE8l_A+zI{JCO}z;{%8@LA-(z>eJp3v*IF zrsW%-VD;LTiCR|w1mCEtTHkVZ{dy%h0nQQUrjR|f|4q>Wn*|I!qhJ~h<6;} zK;F=DFgZN~uRG!>CB=SPuc+fev8>j}KuRd0$Vu>ZF*Wwr1i2S@FID;W8Y)j5s+7|C zH(~L=r-Tj=^KQEzbpI(SWuU8Lg(W!ttc%ObfB3N_8(MzdyLagTIQ1|I8w$JPY|IH) zpV~4bWCMnSlk{@9{hqwOCWLZPu)Qau?CYv8s-M^(_Ua1HLmpNTd9T}`mFw%kb6}0Q zp@WlU!8X1G^TJBs_`XMVFD@M$df|rvwxCRU(ZGk5RP>FDK|I&T_ww*SS6J7rWm`v7 z2KaaHv2=}roi=}OSqKcqyyqbvVhQeY_Xs_okchCar2`Q5^()S>H)PUVxYyW4%7yta z@%q-{W9;Mj85FNS|IobHAjIoO&pR|PE(G!VZFb_kA(KS7zO>T3fULsOBJ%Cg|Xxl3uVe5u?_qa^M5v- zs}qTap3)-ON-iy;{jgZe0U1;H0j|}6OHX*!=IB9!jmPIE7e4d4YEH{6 zW#fZo%ElJ3WTj#y@DcT9AQy<7357_y6#8H&uCbi~Aj4`z_CPSQU)cLEr={`tMDibd zux9w6NGa7nI!SN-z%e9g&D!C;RCD^2q?OeAWrdaoN>laTL|KY6(^}s(#v8nYlRXo$md7hx6E7t@7~pK^M47!i1lJG!`uS*{+&UM}If(#Ne($A;#&(5NCgVeAmb@ zmAm8_+O&)RxQ-RF?rs{%-Yw?T#DN9sxa9*IOwoy&2%XZY%5zfo!OX!0QKw&c;dE5N z;Pj{5_xcRqyBCSL65sfUR5SD|{@c1GOV%yleAD9yk$IfSXkMn8r}2QS6e)bm#?8=9J0{HJfF^V>4r|L3NrfBDSWLZ`TOj?bZ% zbN<;AuivQ8Zn>%K=i9&j#`TGK<4f^8;-~aDPe@p8`V%nEmD#A+^T&)`hHcg!b?;E!!#*;_Slqp9fDIloTi76uv|Tw$wp+py z0&2h2@sk-@k%8>B_RW{4s(HoyoOKDCl=p1rga#w*j&7LKR*?}hlN1qAQ*+{~?!~(J z7~K?$tW+y~d2JLjKNGi^53d(KL5!jN7;w`V7GcY(_#u|++i9#;2w4r&bXx8B7j;)p zWM)cV(ubwe9q}+AjKclxj4{5)`FV@H4QS_-K!Z)Clp+suG(pHAW4q-JOYd}vj5JO; zUxzrYkxx~ezRi~2s;JO=uHiY^7iRYB=jxi8I#cTGmXcD*-(^9QLqfSpRaIEDzjh7V z#h;0aDlUmcaGaP|^?KX9vWo=4x|Fknsqil_2D+R)Epq?v)RcJYXV1OG=iWYD@zlud z?7_Fsf7dr7%Y5a+%)b3yUDHx#UXY5lYijow6`~fMDKumYjtbaepo)jQ_=+l3XI6ijC6GKtf;IUxj4VT)j2Y%DZMEp-7ko-cgH-V$~+bx z4!E*HLk!N51M^ny95&2NV3Vh(_}aD6u7ktxP;qs|}G9UmPN=lN6QXe1Tu5^Ce)Jf%s}pp(N&w}*$1dk`Tr zRWWYsONjgMvg$AYpsz#r6_)`@g(?G4{uN;#{atfUcL}-t{9WDE(ZfBbKdi&&Hy_(x zG}iniWX{o`84ao$v4-}oM#`?mCPXJ8ou++E(B+)W%8c6M8KfJ1Jn-20p1I*(@_ib4 zT^T+u97#bVpBV~#YW)Q82LOJNf20=TF(D6xWja)d&xR!1-C{?dpJ``5cVeXXuP1e{ zn6hh5@~e>%%=zrM##*s))!4WlNj>9z-h8|vtLnq|RmV)yP!D0&w*Z4iTGm@ z$)RnDorj=7oK|wk;FSSv{|rhsLSdhkrWq_MfM16zpJl9^a@6B>k~b&7-7l`0I@R%#h~bve6@_zqTVrl72D285A2gcXMr}@YnE8 z>`&6odK?8C`T1)H<(|TV5rbuX90~sa8Ri7-ghiHa5VW0jZnyM#HT=6~s=+Vc%*f_qP@{u0{4V{d+_1HUuJP(4>F_Uck@bS)+vml{>gdv?O z+cL+eIVW*98y*i}#jEj5_}DHR1R!Zey_L5ub0FbcD3jaqXbBSl%uI#P0d_-JdQ^d! zQ=@=RN;$E&zZLO}+IkzYOi=-iDuWCIOM{OSDj z=Kq{mUA#D(vVa~ur<~A25r#~09iP9Wnn!xM2jUZwh?L*B^)_p~W&V83WmFjEY3!nT zgZWn!w50y?K~p>cEAdki^VNPSGocAG0~;?L)I;R<(+4^_b=T@pNiHfvW&YM6HE~B| z2e;fgXywy~;0Y%B-n;ct)qafWNw#_e0)$x;792!*))^3p6&*m+~Urg%F|st``FPL{`?H6^l$KOXa>oD-WF zd8gVL!?Mz~-f2bp?XH2o$GT2?V~MN%?z5A5-pdcvs_u~q%W_GvMVbw%ykl2S9$eEj zD9vrw{m21v1F&>v!g=Ru+(izGm1PQ{h^}FhUS@1mck*23s}uTr_(czVzOZCasiAmq z$zbL&p(MnxxbgUcOG@38yiv<~PVx4NI%;%t-!<>d;i)rq=4k>)IOf=HnFHt~7~w-^ zMIr7hy&u1{plN8SA*Asj^N{^(1Ny_imZSBE%6e6)YxzuCqnkPP@R@lqCc>fSEfCOOS$nuHWuwf%Rv(qvMrL@@i@Z>q9-;{v*zsxZVaYpAc2g!Qa z9g=W-?64YHh_p~fOV$)935!754AwC)AAZ6Ce5MWrG}HC2@jc}q*)ZsJAcsIk)s(ujG<&n$yMI3<4POvJ1*@^tfuAIzH* z5y?06!g=%V1q>=;{yzk0i;7mQedLjg_Tk}iv0AOYeLKzfYu0OgwB*jWC8cCmBqXtO z{F|uA%-GVWHm#`5%y99`&!4`dqy#91`!pNA3uBw_A{dgUMdGH3!J|Sv+)aq+Q)^5_ z)KU78io?*}NR88a<>{& z!fBC`pPQA!*jcuJ>Q?>;KXfibDl3HpBR~rWMj67V8OhT0#uj-PLfdWV7R8y6B^eM1 zk}LvTtf&KDGr%fOnHIowW2L7vwqC0k-lfa#$L}Qd_Hl|VELd??whh6Qg?N26da_p@ER)>LKhhp6DV|s5A#Ag9&M^ccJojZQ6&b)T$(o3R zSC%)&G;g>Ci729HH6)^_aOV8lS$iC5H z`z6=?`xD};FIcQif8AC!@w#bKr%q#A@Hb$QW1NWA!rR}bp8Sp0lKFrFo)9GTKhoUD zuYwg z-*{+bQUdEOxw75~@dH~PD1jQ1!VCEI17PT^=tU6760BTtB-AS1wj+fM8G%Cj>pz;H zPZR`bhm_^^E6@g(4e7@&ywreFvl+RwV`9hFkDr|z9pyTsp%f*b__56Fq`*LJ)R%|4 zrlxfbi#^p)6KM?|$G z+3c>;R$7XJX$>Nj$r8$84bDYK9f?rKX}9xJkF&WOB_p32AUR;eYb%znhzofOZtn_L zyAOvOQsxbqRX*m!*||epW=zyMjdOI1Om5qJ&lawftnyV-k76x5R6SBYgpt)!<^2Uh zf+-$%2<`* z7j$S&`dFbtmy~4nH#kQRfCBx3o0}nQ&-DsMv@ZH32mlN0RIK*E6(UUW3)U`MLZT%7x|EjLt9AFAvY?l| z-%P2GDRXqrPya49K55F`8UBHNXaS4=9{J=ZBBO#67h3lF{%?qvs@?S`vwNKO9eA&61cj(%nxeaHZ zKihD&E}+&mWYy$xfpy(8JUvfH^}#(dGy6^r4UwA6{VbFlCj8xJVZc{jZHc40rY|1Z zUN~;F>^s0#gPtI6>i?1UCU8|%Tm1Ol=iGrw=6Sv#ATu(H3Rgr0K}A3YN1Sj%Q9)2~ zz!~QO$8yerP;;mhEw#}~E7O;yHmTLCSH85Kl__`g`>uWNMXcWY|33d;1m1J*IeS=p z&3o;&WTU_X@>?rn9Lw)!!eznEU`e2IL!6R73`fREBUSVx5yTr3EE@yjQo5&)tFgE7 z_8T9uDk|F3Z_4E7dSvxY)2(1pD^>&y8T)Kbk2K@q$vq4ieMhEtv$ym0oEJGWJQ&y; z>f~HdkQNLF5aI8$Lx(uH_yi-rSjviig?4uQl<~tjH?PR>yzEYaVQ>QV5aZ4O(@4U& zt=giV6$XqdjI46SAZd->I84&{7^gc|vp$=p~CxQVVio8 zg^0ax{7(s{uw~NjVp&z^`}MK+tM~`Y<6D;JRK?y~9(%8fe@Iu-AnwNgMZdgmeAux&D-udl*< zNm(GAMvy3_+9EH!LZR3mZF3tTDPmf=Z|bnA`~7QI@~bOrdgt^jULO}1IoVC?>*U-& z$Ty)rEG$$j|6u%t5CmKJccoFvj*=8p@#{n2j}d{jT7U+k;t&ED%Ir>8oT+QuUj z;s_-KJVV+Kgf#T7>ex|qYuh2s*DtIbzgo9RgvhJ>Yb$Q3{p`g3$-ds54*zukRp#+M z-s`+E5w6;jFF;dwrB(70%>%_()NW%hPAM!VFX>yA<=DOd@CA;&W;9i$$It0IYqVO& zm#~_Wl1W4PPI(+Zl$^X2YeQ|VKwH0vcm=REio3%4v~3Z#XN&9|CYthS*ZgD$x76;_ zcROrI_w{j5Z|{=4bRjH(nv&v)=tt_DUz3>P zST)CO&h!Wezx1y5hpRj*)vd;bGs}w;3+3qx311l-f_YbI?1Z0N5jhyDX%o{;E_ICX z9yQ;^Fk|)%r6=!rHc#-pu`Kksyq6buewspb~TZ6yaM$DY0p5z{+`x=G9_ zx~{;++p(?vYnj%CUS7qCi8HO0o+Q-+%=ZiQqxj?%-*`A_)5LtlzS`5i@neQ0YsZ{^ z%OA|Hikp}k8XCW(c5Os(2;Vn1J0jB3GB7ZEu6)C;f7ceQ6b9$yMa9dWs3WZzlT>>f?>|>ej!IIo@qyJJim2m;6=cKrbbYO`KHH zXHx&6_8BqVqkRw5&Sl+drM#)ViaKRSOB1*&`+?4=u~*bpvNz5VYo&JuoG;7o$h$#% z8dVpA7iy_!BzuiY!|Y+2rKl?8aayKD%#liq`Xt|odVDQUl?PG^kpw1zb4!<6;M9HQ zu>8(tHjgjF8g4?{<3!ug-(fH~NfTQ-@n4=ftaZN37qWRYp8M)IWGC(G7|%8uk5ne# zlV89)7yx_*N|?HcsRI*|##!4KCfeBaG1%Bt_DG8uF+#rAJ+;`7R@^-`cfdb$bMby5 z-rs3@A6f;;I4#1`D6m~C$0=`B+SnK-*x2+o*vR*CbN@LYH?@0lnxUA~EVfmiCvVbz z`(OM!5SPMGhkvKF)2yBm*0w&e(_&Ff86l7f2`}_Yc5xh-U(sj2rn@05DZ3-a>0at= zX;s{N{0Ku&2i|}wqL2CL<26$spe~btM`-hA8&}xm(kDfAea59EJ2~f%KZ2Uh5l)fO z(XrFA!|jmuV;00f4>sAMr(wkS-o;jy&ZW>k4IQ(S!VJ{MYV1m@wPo;~<{50&8fl?w zfle)>-jh~m|FKdC9Yr^~#Hg~5Sr%j;vn?1>d{(7veGMq4!;c}^At||pWgqKMK=+{{ ziTkauDfi=?0wJ!Y4;uC@nQ?o&wv5;R{IfE*Pth;x3ZUN<^s8E^k(7RsiK?yNZg>B` z`bDiMMET0L4f__=+}^JKiOu}af0XurlE0I_hD|7|oD8x`Qlrt%Dg!dv;nQ0&AKuiJV#GSnRtZ06@6(Km;0*&ar(Wqbr%Q4V?Mv)UUzYCq;d~! zM5|im=j1^m{tCM=VDvay7?>nQhHnnP<$Fu~m1f+!wHf~tZp>m|$tBVZz(7TIkKC1~ z`m#6JSDVrPHBG3fO(rVPVZJq*40*EF-gF99Vh{1XkFG!Za#M{r*vkzrA6hopxvK(f zva|t??xlETyCFJK zpYHDw&?jJId3MU!;GkeTyCqguxqXsm5=_@?yr>Q@JdRfkdX?PRR=pKl$&y~bG38xRCzK_$y4@Jds%r|d)at(@Ur!?^RoAH@N)EW@^SWY@p1KW z^YHRz!>}Yo?j4lY#cH5+(`p!8teBN#B?B-TYg=nOYkO-4Ye%bL3@3re_zV=f3mvi} znGQH%A*64kodO-gqAlh+OfLz~2#$8~cL?o_t7#<>>6+5cPLA3A>o@oXN4q-o@3*|c zhj6$VJc4RZXr*;n6~?!)FXf?X3n9~j%(4CCicZq-Q_{+2AKLhT{ygM-^(??HL$2#CxcIblrj))1fY!-nrIQ1-=49z+W?2zlO!x12r84IL+T*O z0(pf~WL#{Q!k8FKotIZh$jq<^JBQ+;<;mT;_HgOiwOjYRQ5F_n?vp~shjg-a$jx17 zNJ`Rl80l(l4OOF~vx}pJdsukCqPRFKE2l}mc6PCmVQ$WD7A~P-S;aA(EwN#Rsj04E zj6VT(@O4^Z+l!1a0-XF4zwqJmoyO%X@3s1M-)ZcSc>3ILzaigz_*Y*MzSrTs*R+zz zZ2xB&M%ZF^lEY@=srs4J?0sqc zqef|by@1Kre|=W^=_Pu$8#Vr_y!}xli&vgK_+*?xXjh*kow$!Djmtdi)gL`-tS1@r zh5QcUT%8@Y+Bb=Zt6t|;(!y5Kd71=Ie_Q>NoJ;gT{xfG^6Gf^%bqP zy;gf&v|-}=(Ak3xI7g;=-^KzlZFbBe(~@P{Iii)%iBVB|-N3TCP|0qEA1i!-xa9Sj zMT2rD`qcQpxN_-wrp}ar(4yZmb5A=O8P!yh287vKw zLC%$OW%V#}>`J>o2>n27|Gt>_OPb#5NRmaWiDJx+>R;px?FF%y3P%n7&^cJpkMPZa z>TAC9WXvWoEyZD@OP>@^E6184y*-9#FEnX1hK@b;#pSLs&I!Z)7rBe}O|lJerF}Tb z%%?D3ohs8{qm>q_RSPUMIwo7#fBZQq9`>l%6&qs+^;7$4{Iq_$XmzwES{tp4RmHMc zb*v^GS+vsC>6$`SJ{zPSq;UoZ2J+FbbnGm@x=hM>o4>k@6eu>6*JG_s`V+=5R?P7? z^-t0#+9r$vYYOG$T48;mwuxu3SMfET4+HM()ixo|%!bx@$~qx!Pyt%_PhxfW4mpFw z_<{8}IFDZ`cJZ>Kl4{2C&E{U&Othn{|L4d*g`);&r4qX`?*q4XLEa;ekkH48{ZsK( zct=Sd>)7s)Gwas(h?8qr-k_o>o|@3L>oU8PdHLk@?VE#luR;GG3*QHg9Y&<|);+#K zeutG1&Yn~Be%d!@QecuR9rBg##Qx%5;Z@Q3XU&_uwN_pZM?5`ivJu3yBFZFA7r^d! z{<(97*HpJ(@GM_iOU;087&m+61pkT)c>8{2EJxw(r^4n!6(ECRp?RK z0rey51CM#~l;hm>xS)HSLuYc1={a%AG)^ZipyvXPc^OX}XFr&ptJf@**XX7SEs%7r zKQ^a7di1R`}C{*+#ecT)(JfYpra#M3%Mg zlZVBOkjK|Vh9@QZr}_nF_|C3OAUH*VucWlTF65|=bR-B8s;>ePhc2k<$O{)lMBe5%mM^qF%HdOIK0FB)hh|XAs!-~syodhV zxs4{D_Mx=2r~N+I->X+}-A2=SPnw@Uc2r$kqcM&E@X`Zqyi{RP;HB+3lm;A%WquIy z!4;64q#D7;NHU4=6yV&XC)r%KlSV(5s0a$pbd|q~d7OwMzHu=6ixY5hb(Aw0d z%NUI_x$P7zfX7KW!Y{OFY2oOcp@a@Yhn4&hH!3zRt~BOuO};@OMa4e{0x1Tj2O??@ zFnqyyM@nt&O6#HlO|b!>;kP-Y9=}5-6)*pW^ z>I!3`X5E@{M$w>52UbyBFhmLu3S3Sy#b3N0fWpB1gqAI3`Qx>zIBya7+VUQ}OnMX*H1;*H~8cRwa`7c~*cqGfM2 z99g;e+m+ml&HVLOdOwAGNoU&LCp-PmX8OlurfU?7o6W}iOTS(@nb*_ncz*`>kbZ1U z{=b*oZhw*6GoKRM@3xoPOl83Mnp;x@Zwic8ik+G)0TKn$OEp2EMT085YeLSfU)Lj! zdues)0YQCp6iI*~VvI2u<8Q4A&=t4*zu89r&*snn9}9;q`5zVzAO2ShN6gveHvrxI zolf@o-559MWJ`ofc4Z^!W86o5g-?cVldkAzblo}(`q^30UN?4Ey-Bta`nGwSRk6yH z9X{HAg;l2BM8}^7k8`%_Gb(Ptwm|_UJMt4sGpwB^4C{^8ar!CFO09PnXQEvFG*(I7 zu|BKWTk2qGJkdCF(I=>bTgD@zbf4%~h3~E?-#H}cUDQ_)rMM6AVCEb(c*iY-x!Lqn z|IxoRNBvPhd}q$9gYR_sE_$%0vaok=ty^Evt_5V2vq?t5E~E0IC@BY>LL11u;=)nb zz-d^?=$v7^ykjKz(5Q-3Febbg&+9F^tC~@UK5N@8}UF7c-KA?fwC2L&*X>7>HV{Wgu6K34qI zWX&y|J9p%~c_Zh}EyX*H(1Aj=SH;N@u~VCbl_fbvCN_PfI2@RTA(FedqsIQZWv+Ss zwUUK}UG&qJns>ZoymJRiQzS2MD;qo8@TV^od{SQ$`hGC!`}R8e+iDNJ&!mTew{E59 zG?FGm^AI{VG(c%3W`?=(|7h-OcIuKyuTTYO)BsLUVyqkf4Gxm_PeB>6d(TuyNftl+ z>nnCYs(K9nL;He<+nW2`yu7;IUxSDhf{)4XEN~3ob@u9>b04a!*e@K1;pqF9A>&<< z3llg)PB_^G-)C}L_6zdP{Q(>6y5^drRxS{8Da7?Mbt$f^#JdfU^ChkO#5tkB0O7Rn z%A}md#T|V%`8&rs^TJbG_KnA*pfgj>4CJ5vU0iR+9{V)pbwxdL)w0&bj#^dk_Rk?_ z+pHD1OHYgYm-uZtP#pp~^`&c36TUx7EYbcV%=H81Ib()+?zXr;5chAG?mLS6U$;HK^{MB-rTZ$X z13TYzA91zl??<}NKZcylQ0}*E68GlM#Gp!;kY?$dmNrGL;}S*^fD z$qgv-I(HQPVc98%5atmiu6v;$4PDFdj3R!z0pEKepN<5{i4|uWJyiCT(Z;Xjv5#j- zKmOXJp7nTH6CS|Wq1=i*f|Sn@*Ger<(Kd7xTtCG3H^g-~+I~_uN5)A@4C{wS0P}Lfzv>(MmL7U(sPR+16xxG6qfAv(%P&pFE=^4YKauAU zIgL&E5Y262E#N`H_iE*UOH^_hc$xpqCPPlV1K+ z-}0sOqw#zb(tJq%9mXm^xRJ0;EL<0$PJY*xi#q7&w74gKwPe$ zZ(=|ee`m^oxPiWYNdcPhYNsKUKmJ%b*r}?ismf_EeIDXe4In*dAC|FWXGWO4@jWRC zpLg!a2ovyMfN>++G3L>gU_$dy-^IA$M`9GDK!?~(hu0vBC`wG+ff#m@hrc`^ZCqN< zOFeUT&p#Qa3^VLdMqv(arN#K9zpS~|G9;jAJS@Pfi`6WMv;vQnn1U~Efi(KKT77g0}_Q_g4 zbzkrbRj=0X1TP8(k0Vaef@Wy#7bEt8{8*;@GTo;8b40w#llzi#U+|Xp&zpFQYB6Bn zp68G^iEJU!FJf9dh*2kU<#%@(t5|;O^9hr#$zl8~3o`Ec ztaE70_JXkD$t7V-+PocSHA9ze!G2WhHO#GCs|V-t#wk4*OgM)LM4_EkEn-^KPL7%+ zHBR4jl<$?EX5quJ;lHwX;(2D%rGUFG8k6`H^Xig>QZZ~&*P!n?PwvGXv@-k7&x=39 z?~Y33S9o_fEt|I5#RFBPJYAc#Eaq$nJAR9B6lZhQN7SWszT8PUCF5o~k?^g{aGd>n z!*4eG_j%)j{B!wo#=M=!jQR4g$0%UKK)S+yg^bA527vD4(VVhrDt2Il061|L3q@G) z5!>)01p?`u^n)#Xal#h3*wC)>CLd3gH@%q6+e+olfq7JS)8EoucXLGB(c7)T@>hRX zc+)|m%A4*{ZIw6MAH}80n@r$XU-e|{WYCFN90Q=8UZf=<$3F%s!V$&j$tl>CB`G&V z=}??lK`tRuqLER7=D|*s^y)as)%W_B!`~UzF|pP{SLg3B)1cGEqm;Q-NQbcT)${!4 zkIxF#S?MhOBGUW$4LndBIN?D01^&R(F}72Hhm`A-i$lS#O-w|S(2VxZ0P0YRxOH%$X`~HtR(a z4b-XItuFm*ojP&mTJt&la}HwPoJI_{lTKqkXx;7)h)C)6614Gsq`o?ge4SOd|YSK!s^(tITt3bTRPU$Mx)6+ z6Yt_|7u@vadK^kBm~(i+)PylLi%RB9@Bh}(Z-joUS_RxV1Ka?@|1EBy+zdJ)f$5K& zFgmqPl3x8AB-t=D5;3&*;)3sf)KPZnXk6JPNV3x#&xdvU3%;=1-%stx)NkhjWxhCX z*%bUaKd-<}%ZLlMAoAla|0-vcV|7FC zU@8{<&rYG4S$~D8s2gocw0C7n1@$i>r`Xr9%qZ6|D4&>?!oLV%f=nsUL{cHtDwP&2 z?K-@pQr9^6n1NXwk4WCSm2wxvZ(aK{Qq0N+E&EiQruxNiR)%?O_zu;Hw}`X_mfO}g zW3Jx=FDXxp1I^VOLPv)xq1$PtJ#Az&j&BK+Hw5yAiQexkl;hakZ2WpX!HZ<^BD4YP zCrCu?>QR!EWG-#FV$dO-15H>i1(kbwc(3Nuy{}FQOEbL0v@aZt@O5^HKa;D`c*W<< z-5wLQUb?o{_%@DOvwvK={Y+);;6*icWv^7fsKBNQc<_RHJmN2L76DmKWjG8(AGA9P zrH7(gF$R$|fB+|CzmuapuZPc);S);3LX+b=tSKo?h}*OGZ2wdJ-x)q4K4shd9sYe% z$8_wJ*k#<3uJWbz#=P;vzWQSHkR6Lx^Ber1o44{QZ2h)pA<-iiPxgM!t8eAG>tn}B zN14#&VGS3muPFGgAx+6>>UcuJ0W$Uj?^~U)JiVUtY ztUdG-3!K}6en@~i5**=>wS^c&Og~zuUI@%Y_q+K%uUc!+pcoG?s?Clu1CnKq=O=@1g}Q*8*~KmcLWSck!f zkF1^0kG;yW`R}_qzu&)Suk?dQud;sb9r)0!e@EzJ4;(94Do^cEyL^vUvwybn5nq1W z#_qxiRCAtx@ngR5gH~TFZk(`3t=0K;6M~!OG+%@uEvTx(xDT9=!E5N z7zTwh$h$lFgq0miO{h(OhkrKWqyE@^J2bqcpy1$%Z(g5KG5O7YT?&TJS~OmsdcNj> zTDxa?ZI33a?0t{fypP{SX0W*zu3dYV{m6L!#O*ug0TxWu5IF?f26)G`Ksg{>Vu*x+ zAaSx<2FoRV1QFQh>lXI*pLb~<;ynr`&eadxz_jY~_huxH9~3h^PvbCvKU%%tSS_u1 zX&ws;kN0eH_ln`u+42O>&LcJ!xWh{Ue*>)(_UOp((b7w-IP_$!AK4s-6x*Wp5!oCv z?qi*%fhHzkY?KQ)1mhF5ASfR60Q4mAV4U;=*tOY-l4bLNqq*af6ZTcT*{iwNk-YKA z3Hz&G_aBlzKD1+!_b`57?~wE|i_(JF9<26cBl#}(nUpf*mxD7s_Ph0& za_!Y+y**ma$~|3?Bjogo46K<4#`+oPrvq_8rbnLqxL8mNNCq04P6`TklAy6A3W+Qq zHy-O5-@D*gQPYTH1ABBn?G!c?Wx$spfEED(WLn#3njX zIJI28l7H{F{ot*2Q@gCuS}xo@tG|uM&RZL=8Z2z@*A9!IyH<@iN;Su#wDSrDX9eKIe^1 z0UWG?Xy+*Utbpvc7MR=4UZLoErCUn>gTT?RSG^J%R<>&OnXu5YzxQwMzc&k6V_0W) z^;Kk(sd-|2v{>=UtiiKJWQoCks>uDbxf(RG5PAaDhz`VJ1OTQ~)A%oHx=9#?qVjkD zn`7p8>sqy7c2+NU*OE4E!QHLP4>iMb`@D06#j>$_O?b^#{sBt5e^l_a!hUHd+rg%M za2%EyQ@w@0U&Go{-${BT*=^T*h*oEoikLBBL!5e#AAgoV*mtB$;`gtlxVc;FLSi%Q z?4BDr*wrn=uy|BfW@za2lGo+8wlApX*ZEz_{+kdK7@^6@F3PQ(IiN3?^^_|gmk%Pk z912|jN%%J*gMo*A0Q1+Ni()K5d?7k?6c2`;mGlf4fZ43Vax;VLm;psG!@~VTM|C+e z^RV}F*29~h@8&wB_sobKKmV8!otrA3^Pe^%Tkp5e)unR(2I=*+EU98(s*m?RN5?U1 zc4PjXTU*qqRYy7|gWx3jqywmvoGgi9>XNV!Qv7RjAz$9bF>*!6e`X9w{JrHIi!fiQ zm+>KNo-v{{tUT~+@4S=jCSNbDGhLy5SOMyh$WNp*5;1@<$3BpsWtU%c=7yF8bF#h0_;zY$%r z)=yghP~QW-!JEoJJqn9K`vD{n$TY>Fr$qdNA0d)RIN%|6x#89>Pn&+TcQ3TkuIVy0 zVtDPn4wh+G|Mo81#($qvvOc3=@tjM~k1xN~-NFCHppb&tWnR$bJsP}7f%cX$(t;Kc18lP zY?5wX%LYTK($POWA-w`; zX#+V5=~V%IPKR9)TxeO~z_{$Sqx@>k9+!hI7|HEOh!f^n0Q=X(_mvpatD5_`h9(QVeG9S?r63T*u8>0~sS z^WQPslgMdi$G?1qsrdeFXIfQfP#L6_ErItvgqO12k8aTW-=qD10`JKoL+^vO#rr5w z;f)zR_3I|7!HlV>Sp!&f22b*Y z*D*!}5rIk|g+Z(c+Y(vu^Z~)@(C*ud-&VDD>$d#u!c&Ezs9wT+?)Ay!Rs8mlXA&-V zH?SB8rZ^U3=zcjgl#hd_cpaZetRL%PhIg=x9T`Nx&r+=v_f37%9$M>Yq0>Q|!}DU_ zMt2AId#V<*Ine2_Yt?o?9``4zidaYGK5#6Thp8u__A_)G94!~;hR81^I1N0h+Vb& zi?qnX#D#Ug=Q}Wd+d`1ZQvHyOoZ)4BqBpl|9^L(+rn&r;_;9wU-$?+`0SQhj;x~Y#5uKe_+kR z_^MeFH#WYpERlcvwI=)#zhM0Rr+sVL9##a`veXL4fqIAN6T2r*`lOwCY=cPBY9(&-?sq zu^!-2>h8cJ{44fq+T)Aj>THiv>|R+^LPy|-m+LOVkBAYM2Kx+{HlY+)qz4u;fkm3g zKVgPD`|v5m!5U=)KX#b#BUj)@VLq+F9~jSd6CHFE_Y1@tf@^78vVqj??2Gt+aMTznJFu!Eym_oi(BG&qIE{(km2!~2H&A3d zZPEdp@bZ$Ci-O1Oi>AwsRj*XBb(eYhqPI)u4t`~D0^cXsN`s9@P?ej0540?iR-EB6 z?4vWrYQXs?&|-f5a|o+BNq4&WgU_A%~-*`uT^c6I$MoQvrVHU@_?bd9>#Q=?AXn7@y?Hf)Mek zc60_S(?AdhJ37O2hU|)|%n>n%F)nd`Fl+Zq?#!~pE$$)zkIyBahhv>~zi_CMb#1EZ z>AZ^_{k#GSd%o4|*;f3I8#TOzAGX@M)r!5lY_+Fc>-o76zpMxsfb9azuiaj8>zBau z^B5247x+LZE|5H+9sRa01#X+jS70(gp*o0pkc|oIz#Pcmhy6<-1`#ig(ZfS`&~D77 z5jNh@lV{Y8uLT>pRJY*Sd8aa@+XwndjC=H$?%v6#mo)QHxU?a~Z4}n=Hro7I84Jjr z*opX&FSj^?vGUeijG6wLM?(n1S}$S_wElL=9G<)g2KuKL`BRet1}YPhRO`@pSG1v{ zl_tLL2uXv80)#=+8E7zjHgCo1({XjHR`BOhYv{3_U7oSx@h2!0a`n-H24=O<7^(?x zGB)1%;Xn#1(7fDspX;X#-Yh3c@hGfXT`Z>cbGvcY<>U&hR|4rQHxV^@KtwGdcHZ2o}RjpKi; zJKZs3$7+m@+UgN!17Qti;(mYmo~sF~L3% zepwto@n?zt3Kae6Kp-V=7e8>GyD2-=I(e|u=lq)jrva;&5AVH>y}HdA`JQ>?v;MM& zuVv@h`OT}DZ(MMAP{M;T`Jcy1(W6iXkLQ*iXp$Gy{m^z^sluoAFh<=BoU&veXL11^t@@(@>>AsJAu_aMm3ROUAy~XdSXW|)Kq81@< zX-7_xw~i)xtJC@q>X|gtd7yOn?5shXlZ}zd-}|%0yZGXGr;LsWa(;K*F_C$^<41zOso@Y{SafikN*CPtc_)BcE59|ps|4Ezr){{`C{?P zjK+*!{HF9i+sJd-G4We&jF;?>^F3_DapQgTVXAF|`tz;S2i0As*gulBFz&!3iM7fb zjB}cAHt&!Yfd}hP|*YW!1bL;Sd9g$vqyj%K~`?1?br2cL{KgbR-22=hq zxrBR+!7C-~yAu2($wnhg&@Sv9^Bn)YFKdRA&eRU(16$PtI3gDTMgmDp?<#h+ptpPh zFLO+!h=o)!)){cA!tkgq0t@Ug+5ap+@t%(yED%nEDcPXeth-Rr|ZhhaxO5f{M`H%19Hs{`~EHK{c z-^?x^n7h1hlKhFsHokD%43F)uSMIPEn6)e1NaI{Ty2A(ZUtM{nrmp3AkG*W}mI^VJ zGZ=TX7|Re^UsX8hVF=~{*iynIVRv9Y;aFAnPt0c(@E@3yNYEj4r+2%2fqjrR6ax2(()7>$%)Hg#G$>C%ftr zo|i1fVUIT7P{x5WiV!cR-|t&G-E2I2|E%~m4@AC5@4)$S2f6S?%mZP)`4xd(PhL8^ zuH6)#OanZ03i=#}_dAd+04^Z-6eKW?gfX%Ag(TD~*|B1#y7FQt{_qo?dG?`XiKAKS zuOIdXs&#Fc8hB+Nn!Nn7tK%xZ1#8>-7;S!HY7>43WiDnzF2vj_p$xO(_immn9&)9u zp9N}Jz9!nu@2%F|Yz6`HuK9+kfuW82wkd7Pz-ly$|0Gp0`mn8C|Mow)XACD8@}kptTW_Nes&!?f@>i)kl68&rco2v!RwQ@G_uDG)cF0sc_II9 z#h9%rJvhQ!0HdyeQ7?S5Bkxa~B9r0tAr^*OtIpV!M%F=$p(~plQ){Jvw3)32CwZOk zzgUp;O`orm7ddIzSFTfrg~c~M^LRIVhj)=~cgkNi8jqEj_Tu(P>Q|8bJp_8H~FW%3yqZ{_IogQ=Gvp{^QR7R zARvu{WZ@|>zUqNAK2SgYL(C@DVj0!~>1!F_Sv z9YlgWdXSGf=4+f&CwTpbE_FIxo#jl1avZ=q6Q0%hnrBMEG+hy0qe9JaPP}NNk zf{Lv%5w+;^WAsTi#4Lz9f`rO~PGO^q9^fD%Y!Wk{7 zqYGYm8X>;P9!{Q*9xpuf-zP^y-dMj1Ko!vK=&1SC3FM4Y1R#Z zJJZ2$p94JF$qItNbdnX{L5lL-$y-dq0wI)lAS@(R8Tugm!9qlEDDDSp;NJkp zLD;TNm_42zuzUK3tuR>;{P3szu|Ev>i{WgV|AB@jOE$9EACu*y9=Pw;t$k>pcz7w` z=Sb~4wb2zYnrtaOd>g{U6V9giJS=D~V9)#TqOQad{q+h*_jovGi=#u$tcUUk4MbKA z{KJEdjr)+V>~ito!Gj4-ru__@co-?*W~!&+sFk2Y0xrFv+Zc2@;3oNb2qVbTBmI(g zaG2ujVX?d;xqI*|(dBl{GxRJ80eV`JPC`pf?tXfd+}KjAE@dg=0LT;n5yjw!mI{}W{CyJ{|4r=Q7TAA&AO$NwMgKdtAF=m(V~{=ew@7fH=(ukW}1#AgWKTCfaV6!dub6qX5inU4FY zaS0tBt4;UM;y%XnJAaq_W#p#_5|b3lq;T@d-&PH~)Gd@ZotcKEyR<-h_-|vcChp6U zrMvr#&9MB(OIwXt9a^9H{4Uu7Pqzbvg^xl0dgj{GzQ*T8i~?BbW;s!6?k9KkriUp z%l5?KpDAJYeR%WP#xcBX3_6AZvbiOZ*gUOKCDsW0aaf~a${N8qru*A*pUzkX%X5|c z51(f%u`BxA2xWnUR|Z<;a>qx@BuYFo=*^BEFAD5TSUAgOc7zx zN~4=k@%K_2ZB=M}zI z2+ez=T>kikDanF3`yp@)uu*dS({3vEZF`i;-nD>sa%6=YvzoGZIY=ZqgnaYk$k zG1Tw4D`HODXr^5|$5#T^eShYou1R71)Aw((>dRawu${fm)1*wvoljz$jNel`u$t9w z*k@6Ar-&gpZ>%7ZC)_cJu%}%*wcE%`LlI0qu{74RSf5M8xHvp1K66XVt}JWIRQ3QI z`KEa@Wwho~F2@Y}k8AGV)W z8#j_K#n;XMTF9;5LDj}jNvvI}kwR-Ojpx727BWj3Vcu60ZGtBi3ZDzwe5$@2(ST41 z<>%YUsIqoEN~tB6)F5>*^C^N!FW@oBT=;N^?nx8^-VPXu5bw8$xRCp3gCf$qlClpQ1o=dr&)LBcNkuqE4bL{6kF6USXRY5Kw{a6Vu^G6tSl|kD z@+Y{0IQFka-m_r2{0Xj@p3gCzd5RNpiHa^Se3VLjDiTX;=`F&|)(XJLOYA?@i|Z?B z_nfc^8U^kqp#Kj<{{xl&Vb&6kD>fGSs9;@@9%`%HH|b;Wf8lvNXR6DMYs>`K;(OEh z!o~Q2_2%c=#m`tmu`B#NIVakX`>YphwDc30mX>>Vz0~ed`Iy-o@9;X#Q-LxPE|K;v2~aBVp#~=MT*Px-JIu1XTn6tCaT?{ao`K?pKNV zFE_QPJg=NZQ|5>F(7&S3KZzU0TjIXh$9f7LgT;N}A8QAX*{0{);48<7=S=!8#tVJ- zZ{hppljqvC_m!zV;rCbiZ~a5SYl3)Q_#Tw!e-I-wh z5rZ!cBEf)&jbeQkZEL^F?noVWtMT4k9;1DpLQRP@;bey|)qIe0rveUjKg6uY@Y z2p*Ukza@e*^bP6Z=`oxN@y4HyR}M6Fg7tQnz0c+)1lV?nz5NZd=D*URrVk(QMDu{< zQP7C$DHx0s_u+0(f6@*H%kVhi2=RhV6o`CjS#ZM=AX6!>Ya z;0X#Y<1J08;2A06`=PiF6n;zKE?}I}`j+|>_$Ag7i2>Y@6aat~CB_k45`u|GNn+-{ zh(pGCwh(EeV~+?YSM9Zn?>VMLdUf#`Gcadv4m&z~FV<1SD7Dq=`> zOicEW2p-tPyQ^*HoSd1GGV|md*tXyw>Qc1tDrPAPE9hxnsc>?jZEI|r&`CX8HG)my zbl1-&^jGjaDwPcQGXb*C$)>?`&3&YWS*!qETp>_~r$;9-TVgESc(u{To}U0S{N zVqMp+br;w2_3Y)ONd@tVqn7PmHZl?L1xKg#Aw9-46;o*k(=?G(Y*O1S2EL+yrHG(t zo@n^RCllc#X0>Rpcm@rHNJcO#mXRg{_rE) z>PGkI(8RL$bRN2J&#M#WADa>rGv(NPXXnHBHm0Xm^3{q-6J>wzdqPV&1KGv@;Ny~j12nNqQ9sEe1^4 zWF7d`!WsRe{jCCq6b`D&?qoeyfSaeUy||!j=GsrzuD-rLyD5EI!`_Wkd&U<`N|LZ~ z2=L=ar6wE9k5zVB zx8%~a2w%HZXO_8j9kJ?aZL-E~?5XC{On(Mvj*OkN%Tm3(Qp>WX%f_slLlp@L6^Cjh zi)82c+>8cmWfL$V0&i^T|G6S!b&Wh(dHBxGOexBwvZ>2TVr}$DY+Yr()u} zEp6DD*KJ7u%&@Sb#|DhtmA?DOH4%RH3H>LnIP&qY-}BqD_>q>lbWx&_G{YMK0%g_UXGvkPE3hc7woyWGk?db>VlZag6egRL+ZX8 z%j45#l@Cb|3QQ{+H>0~@)}&%X$B{pZb$SNtv_x4a_ys5yq#e^I%!rc@nbrk7r0(J> zEZK;{LDNA$JukAOL1JB`wZ=H}da+{BZglHK^=oJsyeUYB*#hIRpHFc(;3Qg{L(+9J zddK7?ds=9Ndynt4oW&fk`DyKp+m~Lb>!;R4CU1V98C;^1(mVO~9xxiN>Pif)N5ehiq^yOR z{d#qSn^TbsoiJ|jsV8y)6(|+q_mosFEtjOW$wDmX8 zLloAXcrcyYZIeqTnUo|y&z9(4X>5~wX3aqeB$#I{JI#F8tSpc?5;&C%y55EPbwS&< zvOf?t4y_V#6X@VI5g%z=EKs3B9dN=|Ru?)B-+YBXI6m6L@v4n=^7!3zN|J4CT+$|F z8IS3u-1M=T5teS_@2+*f>NtGGv9V)zj0twM?%b=Wv!O83lD#_O(87NG79B3_F>O%i zsDb6FX=S~Go5K1Gj;WqHt#-)93CYRh)(`GFKEIotL!Z)0tZyU6x!42))BF)*+)gU1 z$F@mjEHGQ5=uUqT$?~WsMO{(^avKcBqwQ#1DU+wXL`p9pF=SL04hL5^jV>e#A_=i+ zF)?zN$$RIId?JNUOb_<=pWX0mkG!}^L6Q2}xY_CKO6V<{pol1!%*7QrLU(jZY|NCS zb*`>Qe%hGcYxBRK-~Y>w{!%9o$0kqTYafr(T3c%SL$wE&2mhFZ8WgZ5Su%EPX{T$U#+0y|K7*q$Cz&a8GSei@Y1+wk<1_T5ud-erkF|AH z=2L|EyagO1oeHzCl@%pNNGzHav_-i~)48US>i#hf7U!%z#_zk`u;a~99Xwt>cf!s( zV6dhSdHHOzrfw<@>$33r_QJyL*B7=7l{XF8R6T&eC5gO3#J56e*MkX|2??PQy#Qy; znife7vw|w&>^n^wN-Ib>RmQO%U2tYn;nbeK8Y``JWS`Ls_m19pa)_n7`_xT`^Ua!A zr)~?<-TYa#lP+>{>9D1PwbkVV zW5yo7GjGb%~i$Q-}Gm*5?4T z|E1>w9sY-&d+ojds^>mFN$sohK~J##3CAF}&5VR>6`}O9V3YA72nfbW8*w2xR+t+^ zKV*!UISbnCgfS0Ao3!KAzD*F5-Yf?9%gAM z#vF+;S7VL4Q~Ty2Cq`MA4Ua%Gsc3zXj#cQ6QCICedri*hQ8moa!P+ymq-^roqAo6W z_5&BcTvfSisJH!9E9+?FpdXVNW!0f`Y2DJf#lg-_BR5^BsXaM0n4Qm_F(5QJYhtgI z{M5+cj!|9nr{xS>KgD2}vVLHEQEGs`Ykq8cVYkT6X(LycmF}OF(Q7UYQi3o3Gt+Q; zz1d8|>U^@l%vy7M8Yau@Z;4n^5wG5j`P-{9(0qWcEKCv^;#puY@nuZ=Z+N&+73AD? zV|#`;szVF2(#P}(chrQ( zZG4vT1wC`{33isX4uhA!sL2WLF{repXJ}~8lF~xM#gqvfOS+Z~OtEvw8a1uUh{KEe zn>l-2;k4A05g9>EsEd{9SJE(%^nA!Oz-9yRM28D9KcG6Yud}3w0Y;1Fi!6W?!K0)P zLM^2%U22#k@FzNnGj6sTSk-Z<8cdo+Nr{faBGdUwT1nVW((t|$`*(@52rkNey>Ger zRGh`DmhR}SPRv_$ewq90?n`&}krVS5zqZWpb@hvK^tk=^pPv*f%W;z$@9!TMEkFKI zTlDPb%=Po_g__y3HHF(h=RbV0y-2fzmQ-rJjPcyY8u(D1G%u!bWChnkXf9%lKv^3_ zh_a[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 Yk2qnm_5Kh48}NT<>;J2%6$cFXA4Aln1^@s6 diff --git a/res/fonts/DejaVuSansMono.ttf b/res/fonts/DejaVuSansMono.ttf deleted file mode 100644 index f5786022f18216b4c59c6fb0c634b52c8b6e7990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340712 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