licenses.dev

naia-shared v0.8.0

Common functionality shared between naia-server & naia-client crates

Published on

Licenses

Learn more about license information.

Package Licenses

Apache-2.0 OR MIT

Dependency Licenses

Apache-2.0 OR MIT171
PackageRelationDependenciesPublished
android_log-sys • 0.2.0FFI bindings to Android log Library. INDIRECT0
android_logger • 0.10.1A logging implementation for `log` which hooks to android log output. INDIRECT8
anyhow • 1.0.91Flexible concrete Error type built on std::error::ErrorINDIRECT0
arrayvec • 0.7.6A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.INDIRECT0
async-channel • 1.9.0Async multi-producer multi-consumer channelINDIRECT4
async-executor • 1.13.1Async executorINDIRECT11
async-task • 4.7.1Task abstraction for building executorsINDIRECT0
autocfg • 1.4.0Automatic cfg for Rust compiler featuresINDIRECT0
base64 • 0.13.1encodes and decodes base64 as bytes or utf8INDIRECT0
bevy_app • 0.6.0Provides core App functionality for Bevy EngineINDIRECT83
bevy_asset • 0.6.0Provides asset functionality for Bevy EngineINDIRECT132
bevy_core_pipeline • 0.6.0Provides a core render pipeline for Bevy Engine.INDIRECT205
bevy_core • 0.6.0Provides core functionality for Bevy EngineINDIRECT85
bevy_crevice • 0.6.1Create GLSL-compatible versions of structs with explicitly-initialized padding (Bevy version)INDIRECT33
bevy_derive • 0.6.0Provides derive implementations for Bevy EngineINDIRECT28
bevy_diagnostic • 0.6.0Provides diagnostic functionality for Bevy EngineINDIRECT103
bevy_ecs_macros • 0.6.0Bevy ECS MacrosINDIRECT28
bevy_ecs • 0.6.1Bevy Engine's entity component systemINDIRECT82
bevy_input • 0.6.0Provides input functionality for Bevy EngineINDIRECT85
bevy_internal • 0.6.0An internal Bevy crate used to facilitate optional dynamic linking via the 'dynamic_linking' featureINDIRECT211
bevy_log • 0.6.0Provides logging for Bevy EngineINDIRECT100
bevy_macro_utils • 0.6.0A collection of utils for Bevy EngineINDIRECT27
bevy_math • 0.6.0Provides math functionality for Bevy EngineINDIRECT58
bevy_pbr • 0.6.1Adds PBR rendering to Bevy EngineINDIRECT206
bevy_reflect_derive • 0.6.0Derive implementations for bevy_reflectINDIRECT29
bevy_reflect • 0.6.0Dynamically interact with rust typesINDIRECT57
bevy_render • 0.6.1Provides rendering functionality for Bevy EngineINDIRECT204
bevy_scene • 0.6.0Provides scene functionality for Bevy EngineINDIRECT136
bevy_tasks • 0.6.0A task executor for Bevy EngineINDIRECT38
bevy_transform • 0.6.0Provides transform functionality for Bevy EngineINDIRECT85
bevy_utils • 0.6.0A collection of utils for Bevy EngineINDIRECT37
bevy_window • 0.6.0Provides windowing functionality for Bevy EngineINDIRECT87
bevy-crevice-derive • 0.6.0Derive crate for the 'crevice' crate (Bevy version)INDIRECT28
bevy • 0.6.1A refreshingly simple data-driven game engine and app frameworkDIRECT212
bit-set • 0.5.3A set of bitsINDIRECT1
bit-vec • 0.6.3A vector of bitsINDIRECT0
bitflags • 1.3.2A macro to generate structures which behave like bitflags. INDIRECT0
bitflags • 2.6.0A macro to generate structures which behave like bitflags. INDIRECT0
bumpalo • 3.16.0A fast bump allocation arena for Rust.INDIRECT0
cargo-manifest • 0.2.9Helper crate to parse and manipulate manifests - `Cargo.toml` files.INDIRECT25
cc • 1.1.31A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code. INDIRECT1
cfg-if • 0.1.10A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted. DIRECT0
cfg-if • 1.0.0A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted. INDIRECT0
concurrent-queue • 2.5.0Concurrent multi-producer multi-consumer queueINDIRECT1
console_error_panic_hook • 0.1.7A panic hook for `wasm32-unknown-unknown` that logs panics to `console.error`INDIRECT13
copyless • 0.1.5Ways to eliminate memcpy calls when using the standard library.INDIRECT0
core-foundation-sys • 0.8.7Bindings to Core Foundation for macOSINDIRECT0
core-foundation • 0.9.4Bindings to Core Foundation for macOSINDIRECT2
core-graphics-types • 0.1.3Bindings for some fundamental Core Graphics typesINDIRECT4
crossbeam-channel • 0.5.13Multi-producer multi-consumer channels for message passingINDIRECT1
crossbeam-utils • 0.8.20Utilities for concurrent programmingINDIRECT0
cty • 0.2.2Type aliases to C types like c_int for use with bindgenINDIRECT0
d3d12 • 0.4.1Low level D3D12 API wrapperINDIRECT6
downcast-rs • 1.2.1Trait object downcasting support using only safe Rust. It supports type parameters, associated types, and type constraints. INDIRECT0
env_logger • 0.8.4A logging implementation for `log` which is configured via an environment variable. INDIRECT5
erased-serde • 0.3.31Type-erased Serialize and Serializer traitsINDIRECT6
event-listener • 2.5.3Notify async tasks or threadsINDIRECT0
fastrand • 1.9.0A simple and fast random number generatorINDIRECT16
fastrand • 2.1.1A simple and fast random number generatorINDIRECT0
fixedbitset • 0.4.2FixedBitSet is a simple bitset collectionINDIRECT0
fnv • 1.0.7Fowler–Noll–Vo hash functionINDIRECT0
foreign-types-shared • 0.1.1An internal crate used by foreign-typesINDIRECT0
foreign-types • 0.3.2A framework for Rust wrappers over C APIsINDIRECT1
form_urlencoded • 1.2.1Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms.INDIRECT1
futures-core • 0.3.31The core traits and types in for the `futures` library. INDIRECT0
futures-io • 0.3.31The `AsyncRead`, `AsyncWrite`, `AsyncSeek`, and `AsyncBufRead` traits for the futures-rs library. INDIRECT0
futures-lite • 1.13.0Futures, streams, and async I/O combinatorsINDIRECT23
futures-lite • 2.3.0Futures, streams, and async I/O combinatorsINDIRECT5
fxhash • 0.2.1A fast, non-secure, hashing algorithm derived from an internal hasher used in FireFox and Rustc.INDIRECT1
getrandom • 0.2.15A small cross-platform library for retrieving random data from system sourceINDIRECT16
glam • 0.20.5A simple and fast 3D math library for games and graphicsINDIRECT9
glow • 0.11.2GL on Whatever: a set of bindings to run GL (Open GL, OpenGL ES, and WebGL) anywhere, and avoid target-specific code.INDIRECT17
gpu-alloc-types • 0.2.0Core types of gpu-alloc crateINDIRECT1
gpu-alloc • 0.5.4Implementation agnostic memory allocator for Vulkan like APIsINDIRECT2
gpu-descriptor-types • 0.1.2Core types of gpu-descriptor crateINDIRECT1
gpu-descriptor • 0.2.3Implementation agnostic descriptor allocator for Vulkan like APIsINDIRECT23
hashbrown • 0.12.3A Rust port of Google's SwissTable hash mapINDIRECT19
hermit-abi • 0.3.9Hermit system calls definitions.INDIRECT0
hex • 0.4.3Encoding and decoding data into/from hexadecimal representation.INDIRECT0
hexasphere • 6.1.0A library to evenly tile hexagons on a sphere. INDIRECT11
ident_case • 1.0.1Utility for applying case rules to Rust identifiers.INDIRECT0
idna • 0.5.0IDNA (Internationalizing Domain Names in Applications) and Punycode.INDIRECT4
indexmap • 1.9.3A hash table with consistent order and fast iteration.INDIRECT21
jni-sys • 0.3.0Rust definitions corresponding to jni.hINDIRECT0
js-sys • 0.3.72Bindings for all JS global objects and functions in all JS environments like Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` crate. INDIRECT13
khronos-egl • 4.1.0Rust bindings for EGLINDIRECT6
lazy_static • 1.5.0A macro for declaring lazily evaluated statics in Rust.INDIRECT0
libc • 0.2.161Raw FFI bindings to platform libraries like libc. INDIRECT0
lock_api • 0.4.12Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.INDIRECT2
log • 0.4.22A lightweight logging facade for Rust DIRECT0
metal • 0.23.1Rust bindings for MetalINDIRECT14
naga • 0.8.5Shader translation infrastructureINDIRECT49
naia-socket-shared • 0.8.0Common data types shared between naia-server-socket & naia-client-socket cratesDIRECT35
nanoserde • 0.1.37Fork of makepad-tinyserde without any external dependencies. Supports json, binary and ron. ```rust #[derive(Clone, Debug, Default, DeJson, SerJson)] pub struct Property { pub name: String, #[nserde(default)] pub value: String, #[nserde(rename = "type")] pub ty: String, } ``` DIRECT1
ndk-context • 0.1.1Handles for accessing Android APIsINDIRECT0
ndk-glue • 0.5.2Startup code for android binariesINDIRECT51
ndk-macro • 0.3.0Helper macros for android ndkINDIRECT34
ndk-sys • 0.2.2FFI bindings for the Android NDKINDIRECT0
ndk • 0.5.0Safe Rust bindings to the Android NDKINDIRECT35
num_cpus • 1.16.0Get the number of CPUs on a machine.INDIRECT2
num-iter • 0.1.45External iterators for generic mathematicsINDIRECT3
num-rational • 0.3.2Rational numbers implementation for RustINDIRECT3
num-traits • 0.2.19Numeric traits for generic mathematicsINDIRECT1
once_cell • 1.20.2Single assignment cells and lazy values.INDIRECT0
parking_lot_core • 0.8.6An advanced API for creating custom synchronization primitives.INDIRECT25
parking_lot • 0.11.2More compact and efficient implementations of the standard synchronization primitives.INDIRECT29
parking • 2.2.1Thread parking and unparkingINDIRECT0
percent-encoding • 2.3.1Percent encoding and decodingINDIRECT0
petgraph • 0.6.3Graph data structure library. Provides graph types and graph algorithms.INDIRECT23
pin-project-lite • 0.2.14A lightweight version of pin-project written with declarative macros. INDIRECT0
ppv-lite86 • 0.2.20Implementation of the crypto-simd API for x86INDIRECT7
proc-macro-crate • 1.3.1Replacement for crate (macro_rules keyword) in proc-macros INDIRECT26
proc-macro2 • 1.0.89A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.INDIRECT1
profiling • 1.0.16This crate provides a very thin abstraction over other profiler crates.INDIRECT0
quote • 1.0.37Quasi-quoting macro quote!(...)INDIRECT2
rand_chacha • 0.3.1ChaCha random number generator INDIRECT22
rand_core • 0.6.4Core random number generator traits and tools for implementation. INDIRECT17
rand • 0.8.5Random number generators and other randomness functionality. INDIRECT23
range-alloc • 0.1.3Generic range allocatorINDIRECT0
regex-syntax • 0.6.29A regular expression parser.INDIRECT0
regex • 1.7.3An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs. INDIRECT3
renderdoc-sys • 0.7.1Low-level bindings to the RenderDoc APIINDIRECT0
ron • 0.7.1Rusty Object NotationINDIRECT8
rustc-hash • 1.1.0speed, non-cryptographic hash used in rustcINDIRECT0
scopeguard • 1.2.0A RAII scope guard that will run a given closure when it goes out of scope, even if the code between panics (assuming unwinding panic). Defines the macros `defer!`, `defer_on_unwind!`, `defer_on_success!` as shorthands for guards with one of the implemented strategies. INDIRECT0
send_wrapper • 0.5.0This Rust library implements a wrapper type called SendWrapper which allows you to move around non-Send types between threads, as long as you access the contained value only from within the original thread. You also have to make sure that the wrapper is dropped from within the original thread. If any of these constraints is violated, a panic occurs.INDIRECT0
serde_derive • 1.0.210Macros 1.1 implementation of #[derive(Serialize, Deserialize)]INDIRECT4
serde • 1.0.210A generic serialization/deserialization frameworkINDIRECT5
shlex • 1.3.0Split a string into shell words, like Python's shlex.INDIRECT0
smallvec • 1.13.2'Small vector' optimization: store up to a small number of items on the stackINDIRECT6
syn • 1.0.109Parser for Rust source codeINDIRECT3
syn • 2.0.56Parser for Rust source codeINDIRECT3
thiserror-impl • 1.0.65Implementation detail of the `thiserror` crateINDIRECT4
thiserror • 1.0.65derive(Error)INDIRECT5
thread_local • 1.1.8Per-object thread-local storageINDIRECT2
toml_datetime • 0.6.8A TOML-compatible datetime typeINDIRECT0
toml_edit • 0.19.3Yet another format-preserving TOML parser.INDIRECT25
toml • 0.5.11A native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and serializing Rust structures. INDIRECT24
tracing-wasm • 0.2.1tracing subscriber for browser WASMINDIRECT37
unicode-bidi • 0.3.17Implementation of the Unicode Bidirectional AlgorithmINDIRECT0
unicode-normalization • 0.1.24This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15. INDIRECT2
unicode-width • 0.1.14Determine displayed width of `char` and `str` types according to Unicode Standard Annex #11 rules. INDIRECT0
unicode-xid • 0.2.6Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31. INDIRECT0
url • 2.5.2URL library for Rust, based on the WHATWG URL StandardINDIRECT7
uuid • 0.8.2A library to generate and parse UUIDs.INDIRECT19
version_check • 0.9.5Tiny crate to check the version of the installed/running rustc.INDIRECT0
waker-fn • 1.2.0Convert closures into wakersINDIRECT0
wasm-bindgen-backend • 0.2.95Backend code generation of the wasm-bindgen tool INDIRECT8
wasm-bindgen-futures • 0.4.45Bridging the gap between Rust Futures and JavaScript PromisesINDIRECT15
wasm-bindgen-macro-support • 0.2.95The part of the implementation of the `#[wasm_bindgen]` attribute that is not in the shared backend crate INDIRECT9
wasm-bindgen-macro • 0.2.95Definition of the `#[wasm_bindgen]` attribute, an internal dependency INDIRECT10
wasm-bindgen-shared • 0.2.95Shared support between wasm-bindgen and wasm-bindgen cli, an internal dependency. INDIRECT0
wasm-bindgen • 0.2.95Easy support for interacting between JS and Rust. INDIRECT12
web-sys • 0.3.57Bindings for all Web APIs, a procedurally generated crate from WebIDL INDIRECT14
wgpu-core • 0.12.2WebGPU core logic on wgpu-halINDIRECT99
wgpu-hal • 0.12.5WebGPU hardware abstraction layerINDIRECT96
wgpu-types • 0.12.0WebGPU typesINDIRECT1
wgpu • 0.12.0Rusty WebGPU API wrapperINDIRECT101
winapi-i686-pc-windows-gnu • 0.4.0Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.INDIRECT0
winapi-x86_64-pc-windows-gnu • 0.4.0Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.INDIRECT0
winapi • 0.3.9Raw FFI bindings for all of Windows API.INDIRECT2
windows_aarch64_gnullvm • 0.52.6Import lib for WindowsINDIRECT0
windows_aarch64_msvc • 0.52.6Import lib for WindowsINDIRECT0
windows_i686_gnu • 0.52.6Import lib for WindowsINDIRECT0
windows_i686_gnullvm • 0.52.6Import lib for WindowsINDIRECT0
windows_i686_msvc • 0.52.6Import lib for WindowsINDIRECT0
windows_x86_64_gnu • 0.52.6Import lib for WindowsINDIRECT0
windows_x86_64_gnullvm • 0.52.6Import lib for WindowsINDIRECT0
windows_x86_64_msvc • 0.52.6Import lib for WindowsINDIRECT0
windows-sys • 0.59.0Rust for WindowsINDIRECT9
windows-targets • 0.52.6Import libs for WindowsINDIRECT8
MIT30
PackageRelationDependenciesPublished
ash • 0.34.0+1.2.203Vulkan bindings for RustINDIRECT5
block • 0.1.6Rust interface for Apple's C language extension of blocks.INDIRECT0
cfg_aliases • 0.1.1A tiny utility to help save you a lot of effort with long winded `#[cfg()]` checks.INDIRECT0
color_quant • 1.1.0Color quantization library to reduce n colors to 256 colors.INDIRECT0
darling_core • 0.13.4Helper crate for proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code. INDIRECT7
darling_macro • 0.13.4Internal support for a proc-macro library for reading attributes into structs when implementing custom derives. Use https://crates.io/crates/darling in your code. INDIRECT8
darling • 0.13.4A proc-macro library for reading attributes into structs when implementing custom derives. INDIRECT9
image • 0.23.14Imaging library. Provides basic image processing and encoders/decoders for common image formats.INDIRECT13
inplace_it • 0.3.5Place small arrays on the stack with a low-cost!INDIRECT0
local_ipaddress • 0.1.3Get your local IP address without panicINDIRECT0
malloc_buf • 0.0.6Structs for handling malloc'd memory passed to Rust.INDIRECT1
matchers • 0.1.0Regex matching on character and byte streams. INDIRECT2
mint • 0.5.9Math interoperability standard typesINDIRECT0
nanoserde-derive • 0.1.22Fork of makepad-tinyserde derive without any external dependenciesINDIRECT0
nom8 • 0.2.0A byte-oriented, zero-copy, parser combinators library (fork for proposals for v8)INDIRECT1
nu-ansi-term • 0.46.0Library for ANSI terminal colors and styles (bold, underline)INDIRECT4
objc_exception • 0.1.2Rust interface for Objective-C's throw and try/catch statements.INDIRECT2
objc • 0.2.7Objective-C Runtime bindings and wrapper for Rust.INDIRECT5
overload • 0.1.1Provides a macro to simplify operator overloading.INDIRECT0
redox_syscall • 0.2.16A Rust library to access raw Redox system callsINDIRECT1
sharded-slab • 0.1.7A lock-free concurrent slab. INDIRECT1
slab • 0.4.9Pre-allocated storage for a uniform data typeINDIRECT1
strsim • 0.10.0Implementations of string similarity metrics. Includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, Jaro-Winkler, and Sørensen-Dice. INDIRECT0
tracing-attributes • 0.1.27Procedural macro attributes for automatically instrumenting functions. INDIRECT4
tracing-core • 0.1.32Core primitives for application-level tracing. INDIRECT2
tracing-log • 0.1.4Provides compatibility between `tracing` and the `log` crate. INDIRECT4
tracing-log • 0.2.0Provides compatibility between `tracing` and the `log` crate. INDIRECT4
tracing-subscriber • 0.3.18Utilities for implementing and composing `tracing` subscribers. INDIRECT30
tracing • 0.1.40Application-level tracing for Rust. INDIRECT9
valuable • 0.1.0Object-safe value inspection, used to pass un-typed structured data across trait-object boundaries. INDIRECT0
MIT OR Unlicense6
PackageRelationDependenciesPublished
aho-corasick • 0.7.20Fast multiple substring searching.INDIRECT1
byteorder • 1.5.0Library for reading/writing numbers in big-endian and little-endian.DIRECT0
memchr • 2.7.4Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search. INDIRECT0
regex-automata • 0.1.10Automata construction and matching using regular expressions.INDIRECT1
termcolor • 1.4.1A simple cross platform library for writing colored text to a terminal. INDIRECT11
winapi-util • 0.1.9A dumping ground for high level safe wrappers over windows-sys.INDIRECT10
Apache-2.0 OR MIT OR Zlib5
PackageRelationDependenciesPublished
bytemuck_derive • 1.8.0derive proc-macros for `bytemuck`INDIRECT4
bytemuck • 1.19.0A crate for mucking around with piles of bytes.INDIRECT5
raw-window-handle • 0.4.3Interoperability library for Rust Windowing applications.INDIRECT1
tinyvec_macros • 0.1.1Some macros for tiny containersINDIRECT0
tinyvec • 1.8.0`tinyvec` provides 100% safe vec-like data structures.INDIRECT1
unknown2
PackageRelationDependenciesPublished
ahash • 0.7.8A non-cryptographic hash function using AES-NI for high performanceINDIRECT18
num-integer • 0.1.46Integer traits and functionsINDIRECT2
Apache-2.02
PackageRelationDependenciesPublished
codespan-reporting • 0.11.1Beautiful diagnostic reporting for text-based programming languagesINDIRECT13
spirv • 0.2.0+1.5.4Rust definition of SPIR-V structs and enumsINDIRECT3
BSD-3-Clause2
PackageRelationDependenciesPublished
instant • 0.1.13Unmaintained, consider using web-time instead - A partial replacement for std::time::Instant that works on WASM to.INDIRECT15
pp-rs • 0.2.1Shader preprocessorINDIRECT1
Apache-2.0 OR BSD-3-Clause OR MIT2
PackageRelationDependenciesPublished
num_enum_derive • 0.5.11Internal implementation details for ::num_enum (Procedural macros to make inter-operation between primitives and enums easier)INDIRECT28
num_enum • 0.5.11Procedural macros to make inter-operation between primitives and enums easier.INDIRECT29
Apache-2.0 OR BSD-2-Clause OR MIT2
PackageRelationDependenciesPublished
zerocopy-derive • 0.7.35Custom derive for traits from the zerocopy crateINDIRECT4
zerocopy • 0.7.35Utilities for zero-copy parsing and serializationINDIRECT6
CC0-1.01
PackageRelationDependenciesPublished
hexf-parse • 0.2.1Parses hexadecimal floats (see also hexf)INDIRECT0
Unicode-DFS-2016 AND (Apache-2.0 OR MIT)1
PackageRelationDependenciesPublished
unicode-ident • 1.0.13Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31INDIRECT0
Apache-2.0 OR MIT OR Apache-2.0 WITH LLVM-exception1
PackageRelationDependenciesPublished
wasi • 0.11.0+wasi-snapshot-preview1Experimental WASI API bindings for RustINDIRECT0
ISC1
PackageRelationDependenciesPublished
libloading • 0.7.4Bindings around the platform's dynamic library loading primitives with greatly improved memory safety.INDIRECT4
Zlib1
PackageRelationDependenciesPublished
slotmap • 1.0.7Slotmap data structureINDIRECT1
Last updated on

Copy the licenses badge code for the latest version:

[![licenses](https://licenses.dev/b/cargo/naia-shared)](https://licenses.dev/cargo/naia-shared)
<a href="https://licenses.dev/cargo/naia-shared">
  <img src="https://licenses.dev/b/cargo/naia-shared" alt="licenses" />
</a>

Or the licenses badge code for the 0.8.0 version:

[![licenses](https://licenses.dev/b/cargo/naia-shared/0.8.0)](https://licenses.dev/cargo/naia-shared/0.8.0)
<a href="https://licenses.dev/cargo/naia-shared/0.8.0">
  <img src="https://licenses.dev/b/cargo/naia-shared/0.8.0" alt="licenses" />
</a>
GitHub