Overview
Statistics (detailed ones)
	Total 220 packages analyzed and 3456 Go files
	(950157 lines of code) parsed. On average,
	* each Go source file imports 7.07 packages
	  and contains 275 lines of code.
	* each package depends on 6.29 other packages,
	  contains 16.04 source code files, and exports
	  - 19.52 type names,
	  - 2.24 variables,
	  - 25.59 constants,
	  - 12.48 functions.
All Packages (sort packages by:  |  |  | )
1. bufio (13) (1261) (8) (4) - implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O.
2. builtin (219) (309) (2) (2)
3. bytes (37) (2037) (7) (3) - implements functions for the manipulation of byte slices.
4. cmp (1) (59) (1) (2) - provides types and functions related to comparing ordered values.
5. compress/flate (3) (3216) (12) (4) - implements the DEFLATE compressed data format, described in RFC 1951.
6. compress/gzip (2) (540) (13) (4) - implements reading and writing of gzip format compressed files, as specified in RFC 1952.
7. container/list (3) (235) (1) (4) - implements a doubly linked list.
8. context (26) (785) (9) (2) - defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
9. crypto (11) (223) (8) (3) - collects common cryptographic constants.
10. crypto/aes (7) (965) (11) (3) - implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
11. crypto/cipher (11) (985) (9) (3) - implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
12. crypto/des (2) (556) (10) (4) - implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3.
13. crypto/dsa (1) (309) (13) (4) - implements the Digital Signature Algorithm, as defined in FIPS 186-3.
14. crypto/ecdh (3) (599) (12) (4) - implements Elliptic Curve Diffie-Hellman over NIST curves and Curve25519.
15. crypto/ecdsa (2) (893) (15) (4) - implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-4 and SEC 1, Version 2.0.
16. crypto/ed25519 (2) (344) (14) (4) - implements the Ed25519 signature algorithm.
17. crypto/elliptic (3) (937) (13) (4) - implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields.
18. crypto/hmac (4) (180) (11) (5) - implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
19. crypto/internal/alias (4) (30) (2) (4) - implements memory aliasing tests.
20. crypto/internal/bigmod (2) (798) (13) (3)
21. crypto/internal/boring (11) (141) (10) (3) - provides access to BoringCrypto implementation functions.
22. crypto/internal/boring/bbig (2) (33) (13) (3)
23. crypto/internal/boring/sig (1) (17) (1) (4) - holds “code signatures” that can be called and will result in certain code sequences being linked into the final binary.
24. crypto/internal/edwards25519 (1) (2281) (10) (5) - implements group logic for the twisted Edwards curve
25. crypto/internal/edwards25519/field (2) (712) (9) (5) - implements fast arithmetic modulo 2^255-19.
26. crypto/internal/nistec (3) (2453) (11) (5) - implements the NIST P elliptic curves from FIPS 186-4.
27. crypto/internal/nistec/fiat (1) (12336) (6) (6)
28. crypto/internal/randutil (5) (38) (7) (3) - contains internal randomness utilities for various crypto packages.
29. crypto/md5 (3) (320) (9) (4) - implements the MD5 hash algorithm as defined in RFC 1321.
30. crypto/rand (8) (279) (13) (3) - implements a cryptographically secure random number generator.
31. crypto/rc4 (1) (80) (7) (5) - implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
32. crypto/rsa (6) (1572) (14) (2) - implements RSA encryption as specified in PKCS #1 and RFC 8017.
33. crypto/sha1 (5) (406) (11) (3) - implements the SHA-1 hash algorithm as defined in RFC 3174.
34. crypto/sha256 (6) (423) (11) (3) - implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
35. crypto/sha512 (6) (553) (11) (4) - implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
36. crypto/subtle (13) (96) (1) (3) - implements functions that are often useful in cryptographic code but require careful thought to use correctly.
37. crypto/tls (2) (12304) (17) (4) - partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
38. crypto/x509 (2) (6058) (16) (3) - implements a subset of the X.509 standard.
39. crypto/x509/pkix (1) (320) (14) (4) - contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
40. embed (2) (448) (10) (3) - provides access to files embedded in the running Go program.
41. encoding (2) (54) (1) (4) - defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
42. encoding/asn1 (3) (2057) (13) (4) - implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
43. encoding/base64 (13) (630) (9) (3) - implements base64 encoding as specified by RFC 4648.
44. encoding/binary (32) (991) (8) (3) - implements simple translation between numbers and byte sequences and encoding and decoding of varints.
45. encoding/hex (7) (335) (12) (3) - implements hexadecimal encoding and decoding.
46. encoding/json (7) (4173) (12) (3) - implements encoding and decoding of JSON as defined in RFC 7159.
47. encoding/pem (4) (316) (10) (2) - implements the PEM data encoding, which originated in Privacy Enhanced Mail.
48. errors (82) (276) (5) (3) - implements functions to manipulate errors.
49. flag (1) (1231) (12) (3) - implements command-line flag parsing.
50. fmt (57) (3519) (11) (2) - implements formatted I/O with functions analogous to C's printf and scanf.
51. github.com/cenkalti/backoff/v4 (3) (605) (10) (1) - implements backoff algorithms for retrying operations.
52. github.com/go-faster/errors (24) (556) (12) (1) - implements functions to manipulate errors.
53. github.com/go-faster/jx (2) (4813) (15) (2) - implements RFC 7159 json encoding and decoding.
54. github.com/go-faster/jx/internal/byteseq (1) (16) (2) (3) - provides a Byteseq type that can be used to represent a sequence of bytes.
55. github.com/go-faster/xor (3) (30) (1) (2)
56. github.com/gotd/ige (2) (169) (10) (2)
57. github.com/gotd/neo (1) (538) (12) (2) - implements side effects simulation for testing.
58. github.com/gotd/td/bin (17) (742) (13) (1) - implements binary serialization and deserialization for TL, providing Buffer that can decode and encode basic Type Language types.
59. github.com/gotd/td/clock (9) (81) (13) (1) - abstracts time source.
60. github.com/gotd/td/constant (1) (124) (1) (1) - wraps Telegram-defined constants.
61. github.com/gotd/td/internal/ascii (1) (19) (1) (2) - provides data and functions to test some properties of ASCII code points.
62. github.com/gotd/td/internal/crypto (11) (1703) (17) (1) - implements cryptographical primitives for MTproto.
63. github.com/gotd/td/internal/crypto/srp (1) (258) (18) (2) - contains implementation of Secure Remote Password protocol.
64. github.com/gotd/td/internal/exchange (2) (937) (23) (1) - contains Telegram key exchange algorithm flows.
65. github.com/gotd/td/internal/mt (4) (9423) (17) (1) - contains generated code based on mtproto schema.
66. github.com/gotd/td/internal/mtproto (3) (1584) (24) (1) - implements MTProto connection.
67. github.com/gotd/td/internal/mtproto/salts (1) (90) (18) (2) - contains MTProto server salt storage.
68. github.com/gotd/td/internal/mtproxy (4) (86) (19) (2) - contains MTProxy transport implementations.
69. github.com/gotd/td/internal/mtproxy/faketls (1) (414) (20) (3) - contains faketls implementation.
70. github.com/gotd/td/internal/mtproxy/obfuscated2 (2) (241) (20) (2) - contains obfuscated2 implementation.
71. github.com/gotd/td/internal/mtproxy/obfuscator (1) (92) (21) (2) - contains some MTProxy obfuscation utilities.
72. github.com/gotd/td/internal/pool (2) (458) (25) (1) - contains Telegram connections pool.
73. github.com/gotd/td/internal/proto (3) (610) (15) (1) - implements MTProto 2.0 primitives.
74. github.com/gotd/td/internal/proto/codec (5) (662) (18) (2) - contains MTProto transport encoding implementations.
75. github.com/gotd/td/internal/rpc (1) (413) (21) (2) - implements rpc engine.
76. github.com/gotd/td/internal/tdsync (5) (304) (21) (1) - contains some useful synchronization utilities.
77. github.com/gotd/td/internal/tmap (2) (71) (14) (1) - provides type mapping facility that maps type id to type name.
78. github.com/gotd/td/internal/wsutil (2) (15) (21) (2) - contains some Websocket utilities.
79. github.com/gotd/td/oteltg (1) (6) (1) (1) - provide OpenTelemetry instrumentation for gotd.
80. github.com/gotd/td/session (1) (480) (24) (1) - implements session storage.
81. github.com/gotd/td/session/tdesktop (1) (1205) (18) (2) - contains Telegram Desktop session decoder.
82. github.com/gotd/td/tdjson (2) (347) (16) (2) - contains some helpers to use jx with TL objects.
83. github.com/gotd/td/tdp (2) (148) (12) (2) - is td pretty-printing and formatting facilities for types from MTProto.
84. github.com/gotd/td/telegram (0) (1672) (27) (0) - implements Telegram client.
85. github.com/gotd/td/telegram/auth (1) (839) (19) (1) - provides authentication on top of tg.Client.
86. github.com/gotd/td/telegram/auth/qrlogin (1) (314) (18) (1) - provides QR login flow implementation.
87. github.com/gotd/td/telegram/dcs (2) (948) (23) (1) - contains Telegram DCs list and some helpers.
88. github.com/gotd/td/telegram/internal/manager (1) (481) (26) (1) - contains connection management utilities.
89. github.com/gotd/td/telegram/internal/upconv (1) (117) (18) (1) - contains updates conversion helpers.
90. github.com/gotd/td/telegram/internal/version (2) (36) (13) (1) - contains gotd module version getter.
91. github.com/gotd/td/tg (7) (591592) (17) (1) - contains generated types from MTProto Telegram API.
92. github.com/gotd/td/tgerr (6) (221) (14) (1) - implements helpers for error handling.
93. github.com/gotd/td/transport (4) (551) (22) (1) - contains different MTProto transport implementations.
94. github.com/klauspost/compress/flate (1) (8165) (13) (3) - implements the DEFLATE compressed data format, described in RFC 1951.
95. github.com/klauspost/compress/gzip (1) (670) (14) (2) - implements reading and writing of gzip format compressed files, as specified in RFC 1952.
96. github.com/segmentio/asm/base64 (1) (255) (14) (3)
97. github.com/segmentio/asm/cpu (1) (22) (13) (4) - Pakage cpu provides APIs to detect CPU features available at runtime.
98. github.com/segmentio/asm/cpu/arm (1) (80) (12) (5)
100. github.com/segmentio/asm/cpu/cpuid (3) (32) (1) (5) - provides generic types used to represent CPU features supported by the architecture.
101. github.com/segmentio/asm/cpu/x86 (2) (76) (12) (4)
103. go.opentelemetry.io/otel/attribute (2) (1333) (13) (1) - provides key and value attributes.
104. go.opentelemetry.io/otel/codes (1) (137) (13) (2) - defines the canonical error codes used by OpenTelemetry.
106. go.opentelemetry.io/otel/internal/attribute (1) (111) (8) (2) - provide several helper functions for some commonly used logic of processing attributes.
107. go.opentelemetry.io/otel/trace (2) (1444) (14) (1) - provides an implementation of the tracing part of the OpenTelemetry API.
108. go.opentelemetry.io/otel/trace/embedded (1) (56) (1) (2) - provides interfaces embedded within the [OpenTelemetry trace API].
109. go.uber.org/atomic (3) (1716) (13) (1) - provides simple wrappers around numerics to enforce atomic access.
110. go.uber.org/multierr (10) (694) (12) (1) - allows combining one or more errors together.
111. go.uber.org/zap (7) (3510) (20) (1) - provides fast, structured, leveled logging.
112. go.uber.org/zap/buffer (3) (199) (9) (3) - provides a thin wrapper around a byte slice.
113. go.uber.org/zap/internal (1) (37) (14) (2) - and its subpackages hold types and functionality that are not part of Zap's public API.
114. go.uber.org/zap/internal/bufferpool (3) (31) (10) (2) - houses zap's shared internal buffer pool.
115. go.uber.org/zap/internal/color (1) (44) (12) (3) - adds coloring functionality for TTY output.
116. go.uber.org/zap/internal/exit (1) (66) (11) (3) - provides stubs so that unit tests can exercise code that calls os.Exit(1).
117. go.uber.org/zap/internal/pool (4) (58) (5) (2) - provides internal pool utilities.
118. go.uber.org/zap/internal/stacktrace (1) (181) (11) (2) - provides support for gathering stack traces efficiently.
119. go.uber.org/zap/zapcore (4) (3480) (13) (2) - defines and implements the low-level interfaces upon which zap is built.
120. golang.org/x/crypto/pbkdf2 (2) (77) (12) (3) - implements the key derivation function PBKDF2 as defined in RFC 2898 / PKCS #5 v2.0.
121. golang.org/x/net/internal/socks (1) (485) (12) (2) - provides a SOCKS version 5 client implementation.
122. golang.org/x/net/proxy (1) (431) (13) (1) - provides support for a variety of protocols to proxy network data.
123. golang.org/x/sync/errgroup (1) (145) (12) (2) - provides synchronization, error propagation, and Context cancelation for groups of goroutines working on subtasks of a common task.
124. golang.org/x/sys/cpu (3) (689) (11) (5) - implements processor feature detection for various CPU architectures.
125. hash (14) (58) (7) (3) - provides interfaces for hash functions.
126. hash/crc32 (4) (579) (8) (4) - implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
127. image (2) (2086) (9) (3) - implements a basic 2-D image library.
128. image/color (2) (720) (1) (4) - implements a basic color library.
129. internal/abi (3) (1201) (2) (4)
130. internal/bisect (1) (795) (5) (5) - can be used by compilers and other programs to serve as a target for the bisect debugging tool.
131. internal/bytealg (9) (304) (2) (3)
132. internal/coverage/rtcov (1) (34) (1) (4)
133. internal/cpu (11) (412) (1) (4) - implements processor feature detection used by the Go standard library.
134. internal/fmtsort (1) (219) (8) (3) - provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
135. internal/goarch (7) (105) (1) (4) - package goarch contains GOARCH-specific constants.
136. internal/godebug (7) (290) (6) (4) - makes the settings in the $GODEBUG environment variable available to other packages.
137. internal/godebugs (2) (69) (1) (4) - provides a table of known GODEBUG settings, for use by a variety of other packages, including internal/godebug, runtime, runtime/metrics, and cmd/go/internal/load.
138. internal/goexperiment (1) (229) (1) (4) - implements support for toolchain experiments.
139. internal/goos (2) (41) (1) (4) - package goos contains GOOS-specific constants.
140. internal/intern (1) (137) (7) (5) - lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
141. internal/itoa (5) (33) (1) (3)
142. internal/nettrace (2) (46) (1) (4) - contains internal hooks for tracing activity in the net package.
143. internal/oserror (2) (18) (6) (4) - defines errors values used in the os package.
144. internal/poll (2) (2209) (9) (3) - supports non-blocking I/O on file descriptors with polling.
145. internal/race (2) (54) (2) (3) - contains helper functions for manually instrumenting code for the race detector.
146. internal/reflectlite (3) (1215) (4) (3) - implements lightweight version of reflect, not using any package except for "runtime", "unsafe", and "internal/abi"
147. internal/safefilepath (2) (44) (6) (3) - manipulates operating-system file paths.
148. internal/singleflight (1) (123) (5) (4) - provides a duplicate function call suppression mechanism.
149. internal/syscall/execenv (1) (19) (8) (3)
150. internal/syscall/unix (4) (342) (8) (3)
151. internal/testlog (1) (102) (5) (3) - provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults.
152. internal/unsafeheader (2) (37) (2) (4) - contains header declarations for the Go runtime's slice and string implementations.
153. io (70) (1061) (6) (2) - provides basic interfaces to I/O primitives.
154. io/fs (8) (920) (9) (3) - defines basic interfaces to a file system.
155. io/ioutil (1) (136) (11) (7) - implements some I/O utility functions.
156. log (4) (458) (12) (3) - implements a simple logging package.
157. log/internal (1) (12) (1) (4) - contains definitions used by both log and log/slog.
158. math (24) (6027) (3) (3) - provides basic constants and mathematical functions.
159. math/big (17) (9404) (12) (3) - implements arbitrary-precision arithmetic (big numbers).
160. math/bits (23) (694) (2) (3) - implements bit counting and manipulation functions for the predeclared unsigned integer types.
161. math/rand (3) (1253) (7) (3) - implements pseudo-random number generators suitable for tasks such as simulation, but it should not be used for security-sensitive work.
162. mime (2) (1184) (12) (4) - implements parts of the MIME spec.
163. mime/multipart (1) (1009) (14) (4) - implements MIME multipart parsing, as defined in RFC 2046.
164. mime/quotedprintable (1) (311) (12) (5) - implements quoted-printable encoding as specified by RFC 2045.
165. net (17) (12424) (11) (3) - provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets.
166. net/http (3) (25556) (19) (3) - provides HTTP client and server implementations.
167. net/http/httptrace (1) (255) (18) (4) - provides mechanisms to trace the events within HTTP client requests.
168. net/http/internal (1) (284) (12) (4) - contains HTTP internals shared by net/http and net/http/httputil.
169. net/http/internal/ascii (1) (61) (8) (4)
170. net/netip (1) (1617) (8) (4) - defines an IP address type that's a small value type.
171. net/textproto (5) (1267) (12) (4) - implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
172. net/url (7) (1265) (12) (3) - parses URLs and implements query escaping.
173. nhooyr.io/websocket (3) (3102) (20) (2) - implements the RFC 6455 WebSocket protocol.
174. nhooyr.io/websocket/internal/errd (1) (14) (12) (3)
177. os (23) (3992) (10) (2) - provides a platform-independent interface to operating system functionality.
178. path (4) (463) (6) (4) - implements utility routines for manipulating slash-separated paths.
179. path/filepath (6) (1262) (11) (2) - implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
180. reflect (15) (8004) (7) (3) - implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
181. regexp (1) (2734) (9) (3) - implements regular expression search.
182. regexp/syntax (1) (3558) (8) (4) - parses regular expressions into parse trees and compiles parse trees into programs.
183. rsc.io/qr (1) (516) (13) (2) - encodes QR codes.
184. rsc.io/qr/coding (1) (815) (12) (3) - implements low-level QR coding details.
185. rsc.io/qr/gf256 (1) (241) (7) (4) - implements arithmetic over the Galois Field GF(256).
186. runtime (28) (62845) (3) (3) - contains operations that interact with Go's runtime system, such as functions to control goroutines.
187. runtime/cgo (1) (547) (5) (4) - contains runtime support for code generated by the cgo tool.
188. runtime/debug (2) (573) (12) (3) - contains facilities for programs to debug themselves while they are running.
189. runtime/internal/atomic (1) (823) (2) (4) - provides atomic operations, independent of sync/atomic, to the runtime.
190. runtime/internal/math (1) (40) (2) (4)
191. runtime/internal/sys (2) (304) (2) (4) - package sys contains system- and configuration- and architecture-specific constants used by the runtime.
192. runtime/internal/syscall (1) (91) (2) (4) - provides the syscall primitives required for the runtime.
193. sort (27) (1390) (5) (3) - provides primitives for sorting slices and user-defined collections.
194. strconv (46) (5292) (6) (2) - implements conversions to and from string representations of basic data types.
195. strings (41) (2341) (7) (2) - implements simple functions to manipulate UTF-8 encoded strings.
196. sync (67) (2123) (4) (2) - provides basic synchronization primitives such as mutual exclusion locks.
197. sync/atomic (32) (586) (2) (3) - provides low-level atomic memory primitives useful for implementing synchronization algorithms.
198. syscall (9) (8344) (7) (3) - contains an interface to the low-level operating system primitives.
199. time (42) (5218) (8) (2) - provides functionality for measuring and displaying time.
200. unicode (9) (8923) (1) (3) - provides data and functions to test some properties of Unicode code points.
201. unicode/utf16 (4) (133) (1) (4) - implements encoding and decoding of UTF-16 sequences.
202. unicode/utf8 (26) (583) (1) (3) - implements functions and constants to support text encoded in UTF-8.
203. unsafe (36) (269) (1) (3) - contains operations that step around the type safety of Go programs.
204. vendor/golang.org/x/crypto/chacha20 (1) (454) (10) (6) - implements the ChaCha20 and XChaCha20 encryption algorithms as specified in RFC 8439 and draft-irtf-cfrg-xchacha-01.
205. vendor/golang.org/x/crypto/chacha20poly1305 (1) (352) (13) (5) - implements the ChaCha20-Poly1305 AEAD and its extended nonce variant XChaCha20-Poly1305, as specified in RFC 8439 and draft-irtf-cfrg-xchacha-01.
206. vendor/golang.org/x/crypto/cryptobyte (3) (1341) (14) (4) - contains types that help with parsing and constructing length-prefixed, binary messages, including ASN.1 DER.
207. vendor/golang.org/x/crypto/cryptobyte/asn1 (3) (46) (1) (4) - contains supporting types for parsing and building ASN.1 messages with the cryptobyte package.
208. vendor/golang.org/x/crypto/hkdf (1) (93) (12) (5) - implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
209. vendor/golang.org/x/crypto/internal/alias (2) (32) (2) (6) - implements memory aliasing tests.
210. vendor/golang.org/x/crypto/internal/poly1305 (1) (478) (9) (6) - implements Poly1305 one-time message authentication code as specified in https://cr.yp.to/mac/poly1305-20050329.pdf.
211. vendor/golang.org/x/net/dns/dnsmessage (1) (2694) (6) (4) - provides a mostly RFC 1035 compliant implementation of DNS message packing and unpacking.
212. vendor/golang.org/x/net/http/httpguts (1) (402) (16) (4) - provides functions implementing various details of the HTTP specification.
213. vendor/golang.org/x/net/http/httpproxy (1) (370) (16) (4) - provides support for HTTP proxy determination based on environment variables, as provided by net/http's ProxyFromEnvironment function.
214. vendor/golang.org/x/net/http2/hpack (1) (1585) (12) (4) - implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
215. vendor/golang.org/x/net/idna (3) (6345) (15) (4) - implements IDNA2008 using the compatibility processing defined by UTS (Unicode Technical Standard) #46, which defines a standard to deal with the transition from IDNA2003.
216. vendor/golang.org/x/sys/cpu (1) (685) (12) (6) - implements processor feature detection for various CPU architectures.
217. vendor/golang.org/x/text/secure/bidirule (1) (348) (14) (5) - implements the Bidi Rule defined by RFC 5893.
218. vendor/golang.org/x/text/transform (2) (709) (8) (6) - provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
219. vendor/golang.org/x/text/unicode/bidi (2) (4060) (13) (5) - contains functionality for bidirectional text support.
220. vendor/golang.org/x/text/unicode/norm (1) (10142) (12) (5) - contains types and functions for normalizing Unicode strings.