[{"data":1,"prerenderedAt":7517},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":374,"course-wordcounts":7386,"ref-card-index":7442},[4,28,50,71,120,152,205,230,286,306,331,352],{"module":5,"moduleNumber":6,"slug":7,"lessons":8},"Foundations",1,"foundations",[9,15,21],{"title":10,"path":11,"lessonNumber":6,"topics":12,"summary":14},"What Is an Algorithm?","\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm",[5,13],"Correctness & Induction","An algorithm is a finite, mechanical recipe that transforms inputs into outputs. We pin down what counts as an algorithm, how we write one down, and the three things we always ask of it: is it correct, is it fast, and can we prove it.\n",{"title":16,"path":17,"lessonNumber":18,"topics":19,"summary":20},"Asymptotic Analysis","\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis",2,[16],"We measure an algorithm's running time as a function of its input size, then strip away machine-specific constants and lower-order terms to compare algorithms cleanly. This lesson defines the RAM model and the $O$, $\\Omega$, $\\Theta$, $o$, and $\\omega$ notations, and shows how to read the cost of loops off the page.\n",{"title":22,"path":23,"lessonNumber":24,"topics":25,"summary":27},"Recurrences and the Master Theorem","\u002Falgorithms\u002Ffoundations\u002Frecurrences",3,[26],"Recurrences","Recursive and divide-and-conquer algorithms describe their own running time with a recurrence: $T(n)$ in terms of $T$ on smaller inputs. We solve recurrences three ways — drawing the recursion tree, guessing-and-verifying by induction, and applying the Master Theorem — using merge sort as the running example.\n",{"module":29,"moduleNumber":18,"slug":30,"lessons":31},"Divide & Conquer","divide-and-conquer",[32,38,44],{"title":33,"path":34,"lessonNumber":6,"topics":35,"summary":37},"Divide and Conquer & Mergesort","\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort",[29,36],"Comparison Sorting","Divide and conquer breaks a problem into smaller copies of itself, solves them recursively, and stitches the answers together. We meet the paradigm through mergesort — its merge step, its loop-invariant proof, and the recursion tree that pins its cost at $\\Theta(n\\log n)$ — then glimpse Karatsuba multiplication as a second example of the same idea.",{"title":39,"path":40,"lessonNumber":18,"topics":41,"summary":43},"Quicksort","\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort",[36,42],"Probabilistic Analysis","Quicksort sorts in place by partitioning around a pivot and recursing on each side. We give Lomuto and Hoare partitioning with a correctness invariant, see why a bad pivot costs $\\Theta(n^2)$ while a balanced one gives $\\Theta(n\\log n)$, and prove that randomizing the pivot makes the expected cost $\\Theta(n\\log n)$ on every input.",{"title":45,"path":46,"lessonNumber":24,"topics":47,"summary":49},"Linear-Time Selection","\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection",[48,29],"Order Statistics","Finding the $k$-th smallest element looks like it should require sorting, but it does not. Quickselect adapts quicksort's partition to recurse on just one side, achieving expected $O(n)$. The median-of-medians algorithm guarantees a good pivot with the groups-of-five trick, pushing the worst case down to a provable $O(n)$.",{"module":51,"moduleNumber":24,"slug":52,"lessons":53},"Sorting & Order Statistics","sorting",[54,60,65],{"title":55,"path":56,"lessonNumber":6,"topics":57,"summary":59},"Heaps and Heapsort","\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort",[58,36],"Heaps","A binary heap is a tree we store flat in an array, with index arithmetic standing in for pointers. We build the max-heap property bottom-up in $O(n)$ time, sort in place in $\\Theta(n\\log n)$ by repeatedly extracting the maximum, and reuse the same structure to implement a priority queue.",{"title":61,"path":62,"lessonNumber":18,"topics":63,"summary":64},"Lower Bounds for Comparison Sorting","\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds",[36],"Every sort we have seen runs in $\\Omega(n\\log n)$, and that is no accident. Modeling a sort as a decision tree of comparisons, we show any such tree must have $n!$ leaves, forcing height $\\ge \\log_2(n!) = \\Omega(n\\log n)$ — a worst-case bound no comparison sort can ever beat.",{"title":66,"path":67,"lessonNumber":24,"topics":68,"summary":70},"Sorting in Linear Time","\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting",[69],"Linear-Time Sorting","The $\\Omega(n\\log n)$ barrier only binds algorithms that compare. By instead using keys as array indices we slip past it: counting sort runs in $\\Theta(n+k)$ and is stable, radix sort layers it digit by digit, and bucket sort averages $\\Theta(n)$ on uniform data. We see exactly when each applies.",{"module":72,"moduleNumber":73,"slug":74,"lessons":75},"Data Structures",4,"data-structures",[76,82,88,93,99,105,113],{"title":77,"path":78,"lessonNumber":6,"topics":79,"summary":81},"Elementary Data Structures","\u002Falgorithms\u002Fdata-structures\u002Felementary-structures",[80],"Linear Structures","Every container is built one of two ways: **contiguous** in an array, or **linked** through pointers. We trade cache-friendly random access against $O(1)$ splicing, derive the **amortized $O(1)$** append of a doubling dynamic array, and assemble the two ordered access disciplines — the LIFO **stack** and the FIFO **queue** (with its generalization, the **deque**) — on top of both.",{"title":83,"path":84,"lessonNumber":18,"topics":85,"summary":87},"Hash Tables","\u002Falgorithms\u002Fdata-structures\u002Fhash-tables",[86],"Hashing","A hash table implements the dictionary — insert, search, delete — in expected $O(1)$ time by scattering keys across an array with a hash function. We build up from direct addressing, handle collisions by chaining and by open addressing, analyze the load factor $\\alpha$, and see how universal hashing earns its expected-time guarantee against every input.",{"title":89,"path":90,"lessonNumber":24,"topics":91,"summary":92},"Binary Search Trees","\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees",[89],"A binary search tree keeps keys ordered so that every operation follows a single root-to-leaf path. We state the BST property, give search and insert, find minimum, maximum, and successor, see that an inorder walk emits the keys in sorted order, and confront the catch — every operation costs $O(h)$, and a carelessly built tree degrades to height $h = \\Theta(n)$, motivating balance.",{"title":94,"path":95,"lessonNumber":73,"topics":96,"summary":98},"AVL Trees","\u002Falgorithms\u002Fdata-structures\u002Favl-trees",[97],"Balanced Trees","An AVL tree is the first balanced BST: at every node the two subtrees' heights differ by at most $1$. A Fibonacci-style minimal-node argument forces height $h \\le 1.44\\log_2 n = O(\\log n)$, so search, insert, and delete are all $O(\\log n)$. Insertion rebalances with at most one of four rotation cases (LL, RR, LR, RL); deletion may rotate all the way to the root.",{"title":100,"path":101,"lessonNumber":102,"topics":103,"summary":104},"Balanced Search Trees","\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees",5,[97],"An ordinary BST can degrade to height $\\Theta(n)$; balanced search trees guarantee $h = O(\\log n)$ by maintaining invariants and repairing them after every update. We meet rotations, the local restructuring primitive, then red-black trees, whose color invariants force logarithmic height, and finally B-trees, which trade tall-and-thin for short-and-wide to win on disk.",{"title":106,"path":107,"lessonNumber":108,"topics":109,"summary":112},"Disjoint Sets (Union-Find)","\u002Falgorithms\u002Fdata-structures\u002Funion-find",6,[110,111],"Disjoint Sets","Amortized Analysis","The disjoint-set data structure tracks a partition of elements into groups, answering \"are these two in the same group?\" and merging groups on demand. A forest of parent pointers, sped up by union by rank and path compression, drives every operation to near-constant $O(\\alpha(n))$ amortized time — the engine behind connectivity queries and Kruskal's minimum spanning tree.",{"title":114,"path":115,"lessonNumber":116,"topics":117,"summary":119},"Fenwick & Segment Trees","\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees",7,[118],"Range Queries","A prefix-sum array answers a range sum in $O(1)$ but pays $O(n)$ per update; a plain array updates in $O(1)$ but pays $O(n)$ per range sum. Fenwick and segment trees give us _both_ in $O(\\log n)$. The Fenwick (binary indexed) tree is a tiny array keyed by the low bit; the segment tree is a general balanced tree over canonical ranges that handles any associative aggregate and, with lazy propagation, range updates too.",{"module":121,"moduleNumber":102,"slug":122,"lessons":123},"Sequences & Strings","sequences",[124,130,135,141,147],{"title":125,"path":126,"lessonNumber":6,"topics":127,"summary":129},"Two Pointers, Sliding Windows & Prefix Sums","\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows",[128],"Array Techniques","A family of array idioms that collapse an obvious $O(n^2)$ scan into a single $O(n)$ pass by maintaining an invariant as indices move. We meet two pointers (converging on a sorted array, and a fast\u002Fslow pair for in-place rewriting), the sliding window (fixed and variable size, amortized $O(n)$), and prefix sums, which answer any range-sum in $O(1)$ and count subarrays summing to $k$.",{"title":131,"path":132,"lessonNumber":18,"topics":133,"summary":134},"Monotonic Stacks & Queues","\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks",[128],"A **monotonic stack** keeps its contents sorted by popping every element that would break the order before each push — turning a family of \"previous\u002Fnext greater (or smaller) element\" questions into a single $O(n)$ scan. We derive the next-greater-element routine and its amortized analysis, fuse two such scans to measure the **largest rectangle in a histogram** in linear time, and extend the idea to a **monotonic deque** that streams the **sliding-window maximum** in $O(n)$.",{"title":136,"path":137,"lessonNumber":24,"topics":138,"summary":140},"Binary Search on the Answer","\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer",[139],"Searching","Binary search is not really about arrays — it is about locating the boundary of a **monotone predicate** $p(x)$ in $O(\\log(\\text{range}))$ probes. We first pin down the half-open `while (lo \u003C hi)` template for $\\textsc{lower\\_bound}$ and $\\textsc{upper\\_bound}$, then generalize to \"binary search on the answer\": whenever feasibility is monotone in a numeric parameter, we binary search the parameter itself, calling a feasibility check at each step.",{"title":142,"path":143,"lessonNumber":73,"topics":144,"summary":146},"String Matching: Rabin–Karp, KMP & Z","\u002Falgorithms\u002Fsequences\u002Fstring-matching",[145],"Strings","Given a text $T$ of length $n$ and a pattern $P$ of length $m$, find every occurrence of $P$ in $T$. The naive scan costs $O(nm)$; we beat it three ways. Rabin–Karp uses a **rolling hash** to test alignments in $O(1)$ amortised each, with expected $O(n+m)$. KMP precomputes a **failure function** so the scan never re-reads a text character, for worst-case $O(n+m)$. The **Z-function** gives the same bound from a different angle and converts freely to KMP's table.",{"title":148,"path":149,"lessonNumber":102,"topics":150,"summary":151},"Tries & Prefix Trees","\u002Falgorithms\u002Fsequences\u002Ftries",[145],"A **trie** stores a set of strings in a tree keyed by _characters_, so that insert, search, and prefix-test all run in $O(L)$ time — the length of the key, _independent of how many keys are stored_. Shared prefixes are stored once, which makes tries the natural structure for autocomplete, wildcard dictionaries, board word-search, and — over the alphabet $\\{0,1\\}$ — the maximum-XOR-pair problem.",{"module":153,"moduleNumber":108,"slug":154,"lessons":155},"Graphs","graphs",[156,163,168,173,178,183,188,193,199],{"title":157,"path":158,"lessonNumber":6,"topics":159,"summary":162},"Graph Representations and Traversal","\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal",[160,161],"Graph Representations","Graph Traversal","A graph captures _relationships_ — who connects to whom. We fix the vocabulary, weigh the two standard representations (adjacency list versus matrix), then meet the two explorations you'll use constantly: breadth-first search, which finds shortest paths by number of edges, and depth-first search, whose discovery and finish times reveal a graph's hidden structure. Both run in $O(V + E)$.",{"title":164,"path":165,"lessonNumber":18,"topics":166,"summary":167},"Topological Sort and Strong Connectivity","\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc",[161],"Directed acyclic graphs model dependencies: tasks that must precede other tasks. A _topological order_ lays such a graph out in a line so every edge points forward, and depth-first finish times hand it to us almost for free. We then ask the harder question for graphs _with_ cycles: which vertices can reach each other? The answer is the strongly connected components, found by a two-pass DFS.",{"title":169,"path":170,"lessonNumber":24,"topics":171,"summary":172},"Minimum Spanning Trees","\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees",[169],"Given a weighted network, how do we connect everything as cheaply as possible? The answer is a minimum spanning tree. One lemma, the cut property, justifies _every_ correct MST algorithm, and from it two famous greedy methods fall out: Kruskal's, which grows a forest edge by edge with a union-find structure, and Prim's, which grows a single tree using a priority queue.",{"title":174,"path":175,"lessonNumber":73,"topics":176,"summary":177},"Shortest Paths","\u002Falgorithms\u002Fgraphs\u002Fshortest-paths",[174],"Finding the cheapest route through a weighted network is one of the most-used algorithms in computing. A single operation — _relaxation_ — underlies them all. Dijkstra's algorithm solves the non-negative case greedily; Bellman-Ford handles negative edges and detects negative cycles; and Floyd-Warshall finds the shortest path between _every_ pair of vertices.",{"title":179,"path":180,"lessonNumber":102,"topics":181,"summary":182},"Network Flow","\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow",[179],"How much can flow through a network from source to sink? Max-flow is a surprisingly general model — once you see a problem as flow, a whole toolbox opens up. We build flow networks, find maximum flows by repeatedly pushing along augmenting paths in the residual graph, prove the max-flow min-cut theorem, and watch bipartite matching fall out as a special case.",{"title":184,"path":185,"lessonNumber":108,"topics":186,"summary":187},"Bridges & Articulation Points","\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points",[153],"A **bridge** is an edge whose removal disconnects the graph; an **articulation point** is a vertex whose removal does. Both are single points of failure in a network. A single depth-first search computes discovery times and **low-links**, and two local criteria — $low[v] > disc[u]$ for bridges, $low[v] \\ge disc[u]$ for cut vertices — find them all in $O(V+E)$.",{"title":189,"path":190,"lessonNumber":116,"topics":191,"summary":192},"Lowest Common Ancestor & Binary Lifting","\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor",[153],"Given a rooted tree, the lowest common ancestor of $u$ and $v$ is the deepest node that is an ancestor of both. A naive walk answers one query in $O(h)$; **binary lifting** precomputes the $2^k$-th ancestor of every node in $O(n\\log n)$, then answers $k$-th-ancestor and LCA queries in $O(\\log n)$ each. We derive both jumps, apply them to tree distance, and compare against the Euler-tour + RMQ and Tarjan offline alternatives.",{"title":194,"path":195,"lessonNumber":196,"topics":197,"summary":198},"2-SAT via Implication Graphs","\u002Falgorithms\u002Fgraphs\u002Ftwo-sat",8,[153],"A boolean formula whose every clause has exactly two literals can be solved in _linear_ time — even though its three-literal cousin is NP-complete. The trick is to read each clause as a pair of implications, build a directed graph on the $2n$ literals, and ask a question we already know how to answer: which literals share a strongly connected component? The formula is satisfiable iff no variable lands in the same SCC as its own negation, and the SCCs' topological order hands us a satisfying assignment for free.",{"title":200,"path":201,"lessonNumber":202,"topics":203,"summary":204},"Eulerian Tours","\u002Falgorithms\u002Fgraphs\u002Feulerian-tours",9,[153],"An **Eulerian tour** uses every _edge_ of a graph exactly once. We give the exact parity and balance conditions under which one exists (even degree for undirected graphs, in-degree equal to out-degree for directed) and Hierholzer's $O(E)$ algorithm that constructs one by splicing closed sub-tours. We contrast this sharply with the **Hamiltonian** problem (visit every _vertex_ once), which is NP-complete: visiting edges is easy, visiting vertices is hard.",{"module":206,"moduleNumber":116,"slug":207,"lessons":208},"Greedy Algorithms","greedy",[209,214,220,225],{"title":210,"path":211,"lessonNumber":6,"topics":212,"summary":213},"The Greedy Method","\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method",[206],"A greedy algorithm builds a solution one locally-best choice at a time and never looks back. We pin down the two properties that make this work — the greedy-choice property and optimal substructure — prove the canonical activity-selection algorithm correct with an exchange argument, watch greedy fail spectacularly on the 0\u002F1 knapsack, and glimpse matroids as the theory that says exactly when greed is good.",{"title":215,"path":216,"lessonNumber":18,"topics":217,"summary":219},"Scheduling & Interval Partitioning","\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals",[218],"Greedy","Three classic scheduling problems all yield to greedy algorithms — and all three turn on a single design decision: which key to sort by. Interval scheduling sorts by **finish** time to pack the most compatible jobs; interval partitioning sorts by **start** time and proves the rooms needed equal the maximum overlap **depth**; minimizing maximum lateness sorts by **deadline** and is justified by an adjacent-swap exchange argument.",{"title":221,"path":222,"lessonNumber":24,"topics":223,"summary":224},"Huffman Codes","\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes",[206],"Huffman coding is the greedy method's most beautiful application: it builds a provably optimal prefix-free binary code by repeatedly merging the two least frequent symbols. We develop prefix-free codes as binary trees, give the algorithm with a priority queue, build a Huffman tree from example frequencies, prove optimality with the same greedy-choice-plus-substructure argument, and pin the running time at $O(n\\log n)$.",{"title":226,"path":227,"lessonNumber":73,"topics":228,"summary":229},"Matroids & Exchange Arguments","\u002Falgorithms\u002Fgreedy\u002Fmatroids",[218],"The capstone of the greedy module: _why_ and _when_ a greedy algorithm is provably optimal. We recap the two correctness templates — **greedy-stays-ahead** and the **exchange argument** — then meet the **matroid** $M=(S,\\mathcal{I})$, an abstraction whose **exchange property** is exactly the structure greedy needs. The matroid–greedy theorem says sorting by weight and taking what stays independent yields a maximum-weight basis _if and only if_ the structure is a matroid. Kruskal's MST is the canonical instance; 0\u002F1 knapsack and TSP are the canonical failures.",{"module":231,"moduleNumber":196,"slug":232,"lessons":233},"Dynamic Programming","dynamic-programming",[234,239,245,250,255,260,265,270,275,280],{"title":235,"path":236,"lessonNumber":6,"topics":237,"summary":238},"Principles of Dynamic Programming","\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples",[231,26],"Dynamic programming is recursion with memory: when a recursive solution re-solves the same subproblems again and again, we solve each one once and store the answer. We pin down the two structural conditions that make this work — overlapping subproblems and optimal substructure — contrast top-down memoization with bottom-up tabulation, and distil the whole method into a five-step recipe.",{"title":240,"path":241,"lessonNumber":18,"topics":242,"summary":244},"Sequence Alignment & LCS","\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp",[231,243],"String Structures","Two strings can be compared by asking how much of one survives inside the other. The longest common subsequence (LCS) and edit distance are the two classic answers, and they are the _same_ dynamic program wearing different costs. We derive the LCS recurrence by examining the last characters, fill a worked DP table, reconstruct the subsequence, and then show edit distance as the identical $\\Theta(mn)$ pattern.",{"title":246,"path":247,"lessonNumber":24,"topics":248,"summary":249},"Longest Increasing Subsequence","\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence",[231],"Given a sequence of numbers, how long is its longest strictly increasing subsequence? A first dynamic program indexes subproblems by the element each subsequence _ends at_, giving an $O(n^2)$ solution with parent-pointer reconstruction. A sharper idea, the patience-sorting _tails_ array searched by binary search, drops the time to $O(n\\log n)$. We then fold in the variants: non-decreasing, counting, Russian-doll envelopes, and bitonic.",{"title":251,"path":252,"lessonNumber":73,"topics":253,"summary":254},"Knapsack & Subset Problems","\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack",[231],"We start from $\\textsc{Subset-sum}$ — does some sublist hit a target $t$? — and its include\u002Fexclude recurrence over a boolean table $A(i, u)$, then bolt on values to get 0\u002F1 knapsack as the same machine with $\\lor$ promoted to $\\max$. We fill both tables, recover the chosen items, and confront the surprise that the $\\Theta(nt)$ running time is only _pseudo-polynomial_ — exponential in the bit length $b$, and unimprovable unless $\\mathrm{P}=\\mathrm{NP}$ since subset-sum is $\\textsc{NP-complete}$. The fractional variant reveals the sharp line between greedy and dynamic programming.",{"title":256,"path":257,"lessonNumber":102,"topics":258,"summary":259},"Coin Change & Unbounded Knapsack","\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded",[231],"The previous lesson let each item be taken at most once. Drop that cap — items may be reused _any number of times_ — and the 0\u002F1 knapsack collapses from a two-dimensional table to a one-dimensional one, because there is no longer a prefix of \"already-used\" items to track. We meet **unbounded knapsack**, then its most famous instance, **coin change**: the minimum-coins recurrence $C[a] = 1 + \\min_c C[a-c]$, and the counting variant where the _order of the loops_ decides whether you count unordered combinations or ordered sequences — the classic bug. Greed fails in general but works for canonical coin systems.",{"title":261,"path":262,"lessonNumber":108,"topics":263,"summary":264},"Interval DP","\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp",[231],"Many problems ask for the best way to combine a contiguous range of items, and the answer is a dynamic program over subintervals $[i,j]$ that chooses a split point $k$. We derive the pattern from matrix-chain multiplication — parenthesising a product to minimize scalar multiplications in $O(n^3)$ — distil it into a reusable template filled by increasing interval length, and then meet its sharpest variant: the \"last operation\" trick behind Burst Balloons and cutting a stick, where fixing the _last_ move (not the first) makes the two sides independent.",{"title":266,"path":267,"lessonNumber":116,"topics":268,"summary":269},"Dynamic Programming on Trees","\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp",[231],"When the subproblems of a dynamic program are _rooted subtrees_, a single post-order DFS solves the whole thing in $O(n)$: each node combines the already-computed answers of its children. We meet the archetype — maximum-weight independent set on a tree — then the \"path through a node\" pattern behind tree diameter and maximum path sum, and finally **rerooting**, which computes a per-node answer for _every_ node as root in $O(n)$ with two passes.",{"title":271,"path":272,"lessonNumber":196,"topics":273,"summary":274},"Bitmask DP","\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp",[231],"When a subproblem depends not on an index or a prefix but on _which subset_ of a small ground set has been used, we can encode that subset as the bits of an integer and index a DP table by it. With $n \\le \\sim 20$ the $2^n$ subsets fit in a table, turning $\\Theta(n!)$ brute force into $O(2^n \\cdot \\text{poly}(n))$. We meet the bit tricks, the Held–Karp TSP archetype, assignment by mask, subset-sum partitioning, and submask enumeration with its $3^n$ bound.",{"title":276,"path":277,"lessonNumber":202,"topics":278,"summary":279},"DP Optimizations","\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations",[231],"A correct DP recurrence is only half the battle; its naive evaluation is often a factor of $n$ slower than necessary. This capstone surveys five techniques, monotonic-queue, the convex hull trick, divide-and-conquer optimization, Knuth's optimization, and SOS DP, that each exploit _structure in the transition_ (a sliding window, linear costs, monotone optimal splits, the quadrangle inequality, or subset lattices) to shave an $O(n)$, $O(\\log n)$, or worse factor off the running time.",{"title":281,"path":282,"lessonNumber":283,"topics":284,"summary":285},"Dynamic Programming on Graphs","\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs",10,[231],"Many graph algorithms are dynamic programs in disguise: the subproblem is the _best value reachable under a restricted resource_ — intermediate vertices allowed, edges allowed, or a topological prefix — and edge _relaxation_ is the DP transition. We frame Floyd–Warshall as the archetype ($O(V^3)$ all-pairs shortest paths), Bellman–Ford as a DP over path length (the at-most-$K$-stops variant), DAG-DP in topological order ($O(V+E)$), and Warshall's transitive closure as the boolean analog.",{"module":287,"moduleNumber":202,"slug":288,"lessons":289},"Backtracking & Search","backtracking",[290,296,301],{"title":291,"path":292,"lessonNumber":6,"topics":293,"summary":295},"Backtracking: Subsets, Permutations & Combinations","\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals",[294],"Backtracking","Backtracking builds a solution one choice at a time and abandons a partial solution the moment it cannot be completed, exploring a state-space tree by depth-first search. We meet the universal choose\u002Fexplore\u002Fun-choose template, derive the canonical enumerations — subsets ($2^n$), permutations ($n!$), and combinations ($\\binom{n}{k}$) — handle duplicate elements by skipping equal siblings, and see how pruning turns an exponential search into a tractable one.",{"title":297,"path":298,"lessonNumber":18,"topics":299,"summary":300},"Constraint Search: N-Queens & Sudoku","\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search",[294],"Many hard puzzles are **constraint satisfaction problems**: assign each variable a value from its domain so that every constraint holds. Backtracking solves them by assigning variables one at a time and rejecting a partial assignment the instant a constraint breaks. We make the rejection cheap — $O(1)$ conflict checks for N-Queens via column and diagonal sets — and prune harder with **forward checking**, **MRV** ordering, and **constraint propagation**, which is what lets an exponential search actually finish.",{"title":302,"path":303,"lessonNumber":24,"topics":304,"summary":305},"Branch & Bound and Meet in the Middle","\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound",[294],"Plain backtracking prunes a search tree by _feasibility_; for _optimization_ problems we can prune far more aggressively by _value_. **Branch and bound** keeps the best complete solution found so far and discards any partial solution whose optimistic bound cannot beat it. **Meet in the middle** splits the instance in two, enumerates each half, and recombines by binary search — turning $2^n$ into $O(2^{n\u002F2}\\,n)$ and pushing exact search out to $n \\approx 40$.",{"module":307,"moduleNumber":283,"slug":308,"lessons":309},"Mathematical Algorithms","mathematical-algorithms",[310,316,321,326],{"title":311,"path":312,"lessonNumber":6,"topics":313,"summary":315},"Number Theory: GCD & Modular Arithmetic","\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics",[314],"Number Theory","This lesson opens the mathematical-algorithms module with the bedrock of computational number theory. We prove Euclid's recurrence $\\gcd(a,b)=\\gcd(b,\\,a\\bmod b)$ and its $O(\\log\\min(a,b))$ running time, extend it to recover Bézout coefficients $x,y$ with $ax+by=\\gcd(a,b)$, and build modular arithmetic on residue classes — including when a modular inverse $a^{-1}\\bmod m$ exists and how to compute it.",{"title":317,"path":318,"lessonNumber":18,"topics":319,"summary":320},"Modular Exponentiation & Primality","\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality",[314],"Computing $a^n \\bmod m$ naively costs $n$ multiplications; **repeated squaring** does it in $O(\\log n)$ by reading the bits of the exponent. We use this routine to state **Fermat's little theorem** (and the modular inverse it gives), then to test primality — trial division, the probabilistic **Fermat** and **Miller–Rabin** tests, and the deterministic witness set that settles primality for every 64-bit number.",{"title":322,"path":323,"lessonNumber":24,"topics":324,"summary":325},"Sieves & Factorization","\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization",[314],"The previous lesson tested one number for primality; here we ask for _all_ primes up to $n$ at once. The **sieve of Eratosthenes** cross-cuts composites in $O(n\\log\\log n)$, and a **linear sieve** does it in $O(n)$ while recording each number's **smallest prime factor**, which then factors any $x \\le n$ in $O(\\log x)$. From a factorization $x = \\prod p_i^{e_i}$ the multiplicative functions $\\tau$, $\\sigma$, and Euler's totient $\\varphi$ fall out immediately.",{"title":327,"path":328,"lessonNumber":73,"topics":329,"summary":330},"Combinatorics & Counting","\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics",[314],"Counting is the arithmetic of finite sets. We build up from permutations $n!$ and combinations $\\binom{n}{k}$, prove Pascal's rule by a bijection, and count multisets with stars and bars. The practical core is computing $\\binom{n}{k}\\bmod p$ in $O(1)$ from precomputed factorials and inverse factorials. We close with inclusion–exclusion and the Chinese Remainder Theorem, both of which lean on the modular inverse from the previous lesson.",{"module":332,"moduleNumber":333,"slug":334,"lessons":335},"Computational Geometry",11,"computational-geometry",[336,342,347],{"title":337,"path":338,"lessonNumber":6,"topics":339,"summary":341},"Geometric Primitives & Orientation","\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives",[340],"Geometry","Computational geometry is built on a single reliable primitive — the **orientation test**, a sign of a cross product that tells whether three points turn left, right, or lie collinear. From points-as-vectors and the dot and cross products we derive orientation, segment intersection, the shoelace area formula, and point-in-polygon tests, keeping all arithmetic **exact and integer** so that no floating-point rounding can corrupt a sign.",{"title":343,"path":344,"lessonNumber":18,"topics":345,"summary":346},"Convex Hull","\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull",[340],"The convex hull is the smallest convex polygon enclosing a point set — the rubber band snapped around the nails. We build it with Andrew's monotone chain, sorting by $(x,y)$ and sweeping a lower and upper hull while popping any non-left turn via the orientation primitive, in $O(n\\log n)$. A reduction from sorting shows that bound is optimal, and the hull unlocks diameter, smallest enclosing rectangle, and more through rotating calipers.",{"title":348,"path":349,"lessonNumber":24,"topics":350,"summary":351},"Sweep-Line Algorithms","\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line",[340],"The plane-sweep paradigm turns a static $2$-D geometry problem into a dynamic $1$-D ordered-set problem: a vertical line sweeps left to right, stopping at an $x$-sorted **event queue** while a balanced-BST **status structure** tracks the objects it currently crosses, ordered by $y$. We derive Bentley–Ottmann segment intersection in $O((n+k)\\log n)$, recover closest-pair in $O(n\\log n)$, and reduce skyline, rectangle-area, and overlap problems to $\\pm1$ event sweeps.",{"module":353,"moduleNumber":354,"slug":355,"lessons":356},"Intractability",12,"intractability",[357,363,367],{"title":358,"path":359,"lessonNumber":6,"topics":360,"summary":362},"P, NP, and Reductions","\u002Falgorithms\u002Fintractability\u002Fp-np-reductions",[361],"NP-Completeness","Most problems we have met so far have fast algorithms. A vast and important family seemingly does not. This lesson builds the vocabulary for that divide: decision problems, the class $\\mathsf{P}$ of problems we can solve quickly, the class $\\mathsf{NP}$ of problems whose solutions we can _check_ quickly, and polynomial-time reductions, the tool that lets us compare the difficulty of two problems without solving either.",{"title":361,"path":364,"lessonNumber":18,"topics":365,"summary":366},"\u002Falgorithms\u002Fintractability\u002Fnp-completeness",[361],"Some problems in $\\mathsf{NP}$ are universally hardest: every other problem in $\\mathsf{NP}$ reduces to them. This lesson defines $\\mathsf{NP}$-hard and $\\mathsf{NP}$-complete, states the Cook–Levin theorem that anchors the whole edifice on **SAT**, walks the web of reductions that grows from it, and gives the four-step recipe for proving a brand-new problem $\\mathsf{NP}$-complete.",{"title":368,"path":369,"lessonNumber":24,"topics":370,"summary":373},"Coping with NP-Hardness","\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness",[371,372],"Approximation","Heuristics","Proving a problem $\\mathsf{NP}$-hard is the beginning, not the end. The world still needs answers. This lesson surveys the four honest responses to hardness: approximation algorithms with a provable ratio (worked through a 2-approximation for vertex cover), heuristics and local search, exact exponential methods like branch and bound, and exploiting special structure in the instances you actually face.",{"id":375,"title":66,"blurb":376,"body":377,"description":7347,"extension":7348,"meta":7349,"module":51,"navigation":7351,"path":67,"practice":7352,"rawbody":7368,"readingTime":7369,"seo":7374,"sources":7375,"status":7382,"stem":7383,"summary":70,"topics":7384,"__hash__":7385},"course\u002F01.algorithms\u002F03.sorting\u002F03.linear-time-sorting.md","",{"type":378,"value":379,"toc":7339},"minimark",[380,475,480,620,690,761,1333,1570,2179,2192,2591,2595,2638,2663,2889,3242,3256,3517,3529,3609,3679,4032,4036,4117,4544,4594,4679,5248,5778,5946,6050,6109,6113,6131,6475,6478,6558,6759,6763,7082,7335],[381,382,383,384,388,389,393,394,454,455,458,459,463,464,474],"p",{},"The ",[385,386,387],"a",{"href":62},"previous lesson"," proved a wall:\nany sort that learns only by ",[390,391,392],"em",{},"comparing"," elements needs ",[395,396,399],"span",{"className":397},[398],"katex",[395,400,404],{"className":401,"ariaHidden":403},[402],"katex-html","true",[395,405,408,413,418,423,428,433,443,446,449],{"className":406},[407],"base",[395,409],{"className":410,"style":412},[411],"strut","height:1em;vertical-align:-0.25em;",[395,414,417],{"className":415},[416],"mord","Ω",[395,419,422],{"className":420},[421],"mopen","(",[395,424,427],{"className":425},[416,426],"mathnormal","n",[395,429],{"className":430,"style":432},[431],"mspace","margin-right:0.1667em;",[395,434,437],{"className":435},[436],"mop",[395,438,442],{"className":439,"style":441},[416,440],"mathrm","margin-right:0.0139em;","log",[395,444],{"className":445,"style":432},[431],[395,447,427],{"className":448},[416,426],[395,450,453],{"className":451},[452],"mclose",")","\ncomparisons. That proof has one weakness, and it is our opening here. It assumes\nthe algorithm extracts information one comparison at a time. If instead we treat\nkeys as ",[390,456,457],{},"data we can read",", using a key directly as an array index or peeling it\napart digit by digit, the decision-tree argument never gets off the ground, and\nwe can sort in ",[460,461,462],"strong",{},"linear time",".",[465,466,467],"sup",{},[385,468,473],{"href":469,"ariaDescribedBy":470,"dataFootnoteRef":376,"id":472},"#user-content-fn-erickson-beyond",[471],"footnote-label","user-content-fnref-erickson-beyond","1"," The price is a loss of\ngenerality: these algorithms need keys drawn from a small or structured universe,\nnot arbitrary comparables.",[476,477,479],"h2",{"id":478},"counting-sort","Counting sort",[381,481,482,483,548,549,552,553,571,572,603,604,619],{},"Suppose every key is an integer in the range ",[395,484,486],{"className":485},[398],[395,487,489],{"className":488,"ariaHidden":403},[402],[395,490,492,495],{"className":491},[407],[395,493],{"className":494,"style":412},[411],[395,496,499,505,509,514,517,520,523,526,530,533,536,539,544],{"className":497},[498],"minner",[395,500,504],{"className":501,"style":503},[421,502],"delimcenter","top:0em;","{",[395,506,508],{"className":507},[416],"0",[395,510,513],{"className":511},[512],"mpunct",",",[395,515],{"className":516,"style":432},[431],[395,518,473],{"className":519},[416],[395,521,513],{"className":522},[512],[395,524],{"className":525,"style":432},[431],[395,527,529],{"className":528},[498],"…",[395,531],{"className":532,"style":432},[431],[395,534,513],{"className":535},[512],[395,537],{"className":538,"style":432},[431],[395,540,543],{"className":541,"style":542},[416,426],"margin-right:0.0315em;","k",[395,545,547],{"className":546,"style":503},[452,502],"}",". ",[460,550,551],{},"Counting\nsort"," never compares two elements. Instead it counts, for each value ",[395,554,556],{"className":555},[398],[395,557,559],{"className":558,"ariaHidden":403},[402],[395,560,562,566],{"className":561},[407],[395,563],{"className":564,"style":565},[411],"height:0.4306em;",[395,567,570],{"className":568,"style":569},[416,426],"margin-right:0.0359em;","v",", how\nmany keys are ",[395,573,575],{"className":574},[398],[395,576,578,594],{"className":577,"ariaHidden":403},[402],[395,579,581,585,590],{"className":580},[407],[395,582],{"className":583,"style":584},[411],"height:0.7719em;vertical-align:-0.136em;",[395,586,589],{"className":587},[588],"mrel","≤",[395,591],{"className":592,"style":593},[431],"margin-right:0.2778em;",[395,595,597,600],{"className":596},[407],[395,598],{"className":599,"style":565},[411],[395,601,570],{"className":602,"style":569},[416,426],"; that count is exactly the final position of the last key\nequal to ",[395,605,607],{"className":606},[398],[395,608,610],{"className":609,"ariaHidden":403},[402],[395,611,613,616],{"className":612},[407],[395,614],{"className":615,"style":565},[411],[395,617,570],{"className":618,"style":569},[416,426],". Reading the input back-to-front and decrementing as we place,\nwe drop each element straight into its sorted slot.",[621,622,626],"pre",{"className":623,"code":624,"language":625,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{Counting-Sort}(A, B, k)$ — sort $A[1..n]$ with keys in $[0, k]$ into $B$\nnumber: 1\nlet $C[0..k]$ be a new array\nfor $v \\gets 0$ to $k$ do\n  $C[v] \\gets 0$\nfor $j \\gets 1$ to $A.length$ do\n  $C[A[j]] \\gets C[A[j]] + 1$ \u002F\u002F C[v] = count of keys = v\nfor $v \\gets 1$ to $k$ do\n  $C[v] \\gets C[v] + C[v - 1]$ \u002F\u002F C[v] = count of keys $\\le v$\nfor $j \\gets A.length$ downto $1$ do\n  $B[C[A[j]]] \\gets A[j]$\n  $C[A[j]] \\gets C[A[j]] - 1$ \u002F\u002F next equal key goes before it\n","algorithm",[627,628,629,635,640,645,650,655,660,665,670,675,680,685],"code",{"__ignoreMap":376},[395,630,632],{"class":631,"line":6},"line",[395,633,634],{},"caption: $\\textsc{Counting-Sort}(A, B, k)$ — sort $A[1..n]$ with keys in $[0, k]$ into $B$\n",[395,636,637],{"class":631,"line":18},[395,638,639],{},"number: 1\n",[395,641,642],{"class":631,"line":24},[395,643,644],{},"let $C[0..k]$ be a new array\n",[395,646,647],{"class":631,"line":73},[395,648,649],{},"for $v \\gets 0$ to $k$ do\n",[395,651,652],{"class":631,"line":102},[395,653,654],{},"  $C[v] \\gets 0$\n",[395,656,657],{"class":631,"line":108},[395,658,659],{},"for $j \\gets 1$ to $A.length$ do\n",[395,661,662],{"class":631,"line":116},[395,663,664],{},"  $C[A[j]] \\gets C[A[j]] + 1$ \u002F\u002F C[v] = count of keys = v\n",[395,666,667],{"class":631,"line":196},[395,668,669],{},"for $v \\gets 1$ to $k$ do\n",[395,671,672],{"class":631,"line":202},[395,673,674],{},"  $C[v] \\gets C[v] + C[v - 1]$ \u002F\u002F C[v] = count of keys $\\le v$\n",[395,676,677],{"class":631,"line":283},[395,678,679],{},"for $j \\gets A.length$ downto $1$ do\n",[395,681,682],{"class":631,"line":333},[395,683,684],{},"  $B[C[A[j]]] \\gets A[j]$\n",[395,686,687],{"class":631,"line":354},[395,688,689],{},"  $C[A[j]] \\gets C[A[j]] - 1$ \u002F\u002F next equal key goes before it\n",[381,691,692,693,696,697,715,716,731,732,748,749,752,753,756,757,760],{},"The first count loop tallies occurrences; the prefix-sum loop turns counts into\n",[390,694,695],{},"ranks"," (how many keys land at or before each value); the final loop scatters\neach element into its slot in the output array ",[395,698,700],{"className":699},[398],[395,701,703],{"className":702,"ariaHidden":403},[402],[395,704,706,710],{"className":705},[407],[395,707],{"className":708,"style":709},[411],"height:0.6833em;",[395,711,714],{"className":712,"style":713},[416,426],"margin-right:0.0502em;","B",". Walking the input from\n",[395,717,719],{"className":718},[398],[395,720,722],{"className":721,"ariaHidden":403},[402],[395,723,725,728],{"className":724},[407],[395,726],{"className":727,"style":565},[411],[395,729,427],{"className":730},[416,426]," down to ",[395,733,735],{"className":734},[398],[395,736,738],{"className":737,"ariaHidden":403},[402],[395,739,741,745],{"className":740},[407],[395,742],{"className":743,"style":744},[411],"height:0.6444em;",[395,746,473],{"className":747},[416]," is what makes the sort ",[460,750,751],{},"stable",". Equal keys are emitted in\ntheir original relative order, because the ",[390,754,755],{},"last"," such key claims the ",[390,758,759],{},"highest","\nof the slots reserved for that value, and earlier ones fill in below it.",[762,763,767,1202],"figure",{"className":764},[765,766],"tikz-figure","tikz-diagram-rendered",[768,769,774],"svg",{"xmlns":770,"width":771,"height":772,"viewBox":773},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","289.610","173.826","-75 -75 217.208 130.369",[775,776,779,799,802,810,813,820,823,830,833,840,843,849,852,858,861,867,870,876,895,902,909,916,923,930,937,953,965,976,987,998,1009,1021,1028,1039,1050,1062,1074,1085,1097,1112,1125,1136,1147,1158,1169,1180,1191],"g",{"stroke":777,"style":778},"currentColor","stroke-miterlimit:10;stroke-width:.4",[775,780,783,793],{"stroke":781,"fontSize":782},"none","8",[775,784,786],{"transform":785},"translate(-42.525 -83.403)",[787,788],"path",{"d":789,"fill":777,"stroke":777,"className":790,"style":792},"M-12.014 22.535L-13.792 22.535L-13.792 22.238Q-13.518 22.238-13.350 22.191Q-13.182 22.144-13.182 21.976L-13.182 19.840Q-13.182 19.625-13.239 19.529Q-13.296 19.433-13.409 19.412Q-13.522 19.390-13.768 19.390L-13.768 19.094L-12.569 19.008L-12.569 21.976Q-12.569 22.144-12.423 22.191Q-12.276 22.238-12.014 22.238L-12.014 22.535M-13.456 17.613Q-13.456 17.422-13.321 17.291Q-13.186 17.160-12.991 17.160Q-12.870 17.160-12.766 17.223Q-12.663 17.285-12.600 17.389Q-12.538 17.492-12.538 17.613Q-12.538 17.808-12.669 17.943Q-12.800 18.078-12.991 18.078Q-13.190 18.078-13.323 17.945Q-13.456 17.812-13.456 17.613M-9.585 22.535L-11.440 22.535L-11.440 22.238Q-11.167 22.238-10.999 22.191Q-10.831 22.144-10.831 21.976L-10.831 19.840Q-10.831 19.625-10.893 19.529Q-10.956 19.433-11.075 19.412Q-11.194 19.390-11.440 19.390L-11.440 19.094L-10.249 19.008L-10.249 19.742Q-10.135 19.527-9.942 19.359Q-9.749 19.191-9.510 19.099Q-9.272 19.008-9.018 19.008Q-7.850 19.008-7.850 20.086L-7.850 21.976Q-7.850 22.144-7.680 22.191Q-7.510 22.238-7.241 22.238L-7.241 22.535L-9.096 22.535L-9.096 22.238Q-8.823 22.238-8.655 22.191Q-8.487 22.144-8.487 21.976L-8.487 20.101Q-8.487 19.719-8.608 19.490Q-8.729 19.262-9.081 19.262Q-9.393 19.262-9.647 19.424Q-9.901 19.586-10.048 19.855Q-10.194 20.125-10.194 20.422L-10.194 21.976Q-10.194 22.144-10.024 22.191Q-9.854 22.238-9.585 22.238L-9.585 22.535M-4.913 24.086L-6.768 24.086L-6.768 23.793Q-6.499 23.793-6.331 23.748Q-6.163 23.703-6.163 23.527L-6.163 19.703Q-6.163 19.496-6.319 19.443Q-6.475 19.390-6.768 19.390L-6.768 19.094L-5.546 19.008L-5.546 19.473Q-5.315 19.250-5.001 19.129Q-4.686 19.008-4.346 19.008Q-3.874 19.008-3.469 19.254Q-3.065 19.500-2.833 19.916Q-2.600 20.332-2.600 20.808Q-2.600 21.183-2.749 21.512Q-2.897 21.840-3.167 22.092Q-3.436 22.344-3.780 22.478Q-4.124 22.613-4.483 22.613Q-4.772 22.613-5.044 22.492Q-5.315 22.371-5.522 22.160L-5.522 23.527Q-5.522 23.703-5.354 23.748Q-5.186 23.793-4.913 23.793L-4.913 24.086M-5.522 19.871L-5.522 21.711Q-5.370 22-5.108 22.180Q-4.846 22.359-4.538 22.359Q-4.253 22.359-4.030 22.221Q-3.807 22.082-3.655 21.851Q-3.503 21.621-3.425 21.349Q-3.346 21.078-3.346 20.808Q-3.346 20.476-3.471 20.119Q-3.596 19.762-3.844 19.525Q-4.092 19.289-4.440 19.289Q-4.764 19.289-5.059 19.445Q-5.354 19.601-5.522 19.871M-1.393 21.582L-1.393 19.840Q-1.393 19.625-1.456 19.529Q-1.518 19.433-1.637 19.412Q-1.757 19.390-2.003 19.390L-2.003 19.094L-0.757 19.008L-0.757 21.558L-0.757 21.582Q-0.757 21.894-0.702 22.056Q-0.647 22.219-0.497 22.289Q-0.346 22.359-0.026 22.359Q0.404 22.359 0.677 22.021Q0.950 21.683 0.950 21.238L0.950 19.840Q0.950 19.625 0.888 19.529Q0.825 19.433 0.706 19.412Q0.587 19.390 0.341 19.390L0.341 19.094L1.587 19.008L1.587 21.793Q1.587 22.004 1.650 22.099Q1.712 22.195 1.831 22.217Q1.950 22.238 2.197 22.238L2.197 22.535L0.974 22.613L0.974 21.992Q0.806 22.281 0.525 22.447Q0.243 22.613-0.077 22.613Q-1.393 22.613-1.393 21.582M3.267 21.574L3.267 19.383L2.564 19.383L2.564 19.129Q2.919 19.129 3.161 18.896Q3.404 18.664 3.515 18.316Q3.626 17.969 3.626 17.613L3.908 17.613L3.908 19.086L5.083 19.086L5.083 19.383L3.908 19.383L3.908 21.558Q3.908 21.879 4.027 22.107Q4.146 22.336 4.427 22.336Q4.607 22.336 4.724 22.213Q4.841 22.090 4.894 21.910Q4.947 21.730 4.947 21.558L4.947 21.086L5.228 21.086L5.228 21.574Q5.228 21.828 5.122 22.068Q5.017 22.308 4.820 22.461Q4.622 22.613 4.365 22.613Q4.048 22.613 3.796 22.490Q3.544 22.367 3.406 22.133Q3.267 21.898 3.267 21.574",[791],"tikz-text","stroke-width:0.240",[775,794,795],{"transform":785},[787,796],{"d":797,"fill":777,"stroke":777,"className":798,"style":792},"M10.524 22.535L8.961 22.535Q8.922 22.535 8.895 22.494Q8.867 22.453 8.867 22.406L8.891 22.305Q8.934 22.246 8.989 22.238Q9.313 22.238 9.555 22.094Q9.700 22.008 9.817 21.855Q9.934 21.703 9.981 21.664L12.930 16.933Q12.996 16.824 13.121 16.824L13.203 16.824Q13.317 16.824 13.340 16.933L13.981 22.078Q14.035 22.238 14.578 22.238Q14.676 22.269 14.676 22.359L14.653 22.465Q14.617 22.523 14.555 22.535L12.555 22.535Q12.520 22.535 12.489 22.494Q12.457 22.453 12.457 22.406L12.485 22.305Q12.516 22.250 12.578 22.238Q13.172 22.238 13.203 22.031L13.043 20.726L10.883 20.726L10.227 21.765Q10.219 21.812 10.188 21.885Q10.157 21.957 10.157 22Q10.157 22.133 10.276 22.185Q10.395 22.238 10.539 22.238Q10.633 22.269 10.633 22.359L10.610 22.465Q10.578 22.523 10.524 22.535M12.684 17.848L11.067 20.430L13.004 20.430",[791],[787,800],{"fill":781,"d":801},"M-23.359-53.576h18.495V-72.07H-23.36Z",[775,803,805],{"transform":804},"translate(-2.312 -82.458)",[787,806],{"d":807,"fill":777,"stroke":777,"className":808,"style":809},"M-10.205 22.535L-13.655 22.535L-13.655 22.302Q-13.655 22.289-13.624 22.258L-12.170 20.681Q-11.704 20.184-11.451 19.879Q-11.198 19.573-11.007 19.162Q-10.816 18.751-10.816 18.312Q-10.816 17.723-11.139 17.290Q-11.462 16.857-12.042 16.857Q-12.306 16.857-12.552 16.967Q-12.798 17.077-12.974 17.264Q-13.150 17.451-13.246 17.701L-13.167 17.701Q-12.965 17.701-12.822 17.837Q-12.679 17.973-12.679 18.189Q-12.679 18.395-12.822 18.534Q-12.965 18.672-13.167 18.672Q-13.369 18.672-13.512 18.529Q-13.655 18.387-13.655 18.189Q-13.655 17.727-13.418 17.354Q-13.180 16.980-12.780 16.761Q-12.381 16.541-11.932 16.541Q-11.409 16.541-10.955 16.756Q-10.500 16.972-10.227 17.371Q-9.955 17.771-9.955 18.312Q-9.955 18.707-10.126 19.061Q-10.298 19.415-10.563 19.694Q-10.829 19.973-11.280 20.358Q-11.730 20.742-11.809 20.817L-12.833 21.779L-12.016 21.779Q-11.365 21.779-10.928 21.768Q-10.491 21.757-10.460 21.735Q-10.390 21.652-10.335 21.412Q-10.280 21.173-10.240 20.905L-9.955 20.905",[791],"stroke-width:0.270",[787,811],{"fill":781,"d":812},"M-2.873-53.576h18.495V-72.07H-2.873Z",[775,814,816],{"transform":815},"translate(18.174 -82.458)",[787,817],{"d":818,"fill":777,"stroke":777,"className":819,"style":809},"M-13.286 21.529Q-13.145 21.942-12.785 22.194Q-12.425 22.447-11.989 22.447Q-11.537 22.447-11.271 22.194Q-11.005 21.942-10.902 21.557Q-10.799 21.173-10.799 20.716Q-10.799 19.015-11.708 19.015Q-12.029 19.015-12.258 19.109Q-12.486 19.204-12.616 19.323Q-12.745 19.441-12.857 19.580Q-12.969 19.718-13.005 19.727L-13.088 19.727Q-13.132 19.727-13.163 19.696Q-13.194 19.665-13.194 19.617L-13.194 16.620Q-13.194 16.589-13.158 16.565Q-13.123 16.541-13.097 16.541L-13.057 16.541Q-12.425 16.831-11.752 16.831Q-11.080 16.831-10.438 16.541L-10.412 16.541Q-10.381 16.541-10.348 16.563Q-10.315 16.585-10.315 16.620L-10.315 16.721Q-10.315 16.725-10.324 16.743Q-10.333 16.761-10.333 16.765Q-10.649 17.160-11.119 17.382Q-11.590 17.604-12.086 17.604Q-12.495 17.604-12.877 17.494L-12.877 19.213Q-12.420 18.756-11.708 18.756Q-11.198 18.756-10.799 19.037Q-10.399 19.318-10.177 19.773Q-9.955 20.228-9.955 20.733Q-9.955 21.283-10.234 21.742Q-10.513 22.201-10.979 22.467Q-11.445 22.733-11.989 22.733Q-12.429 22.733-12.813 22.506Q-13.198 22.280-13.426 21.900Q-13.655 21.520-13.655 21.076Q-13.655 20.883-13.523 20.751Q-13.391 20.619-13.194 20.619Q-13.062 20.619-12.958 20.678Q-12.855 20.738-12.796 20.841Q-12.737 20.944-12.737 21.076Q-12.737 21.274-12.864 21.406Q-12.991 21.537-13.194 21.537Q-13.255 21.537-13.286 21.529",[791],[787,821],{"fill":781,"d":822},"M17.613-53.576h18.495V-72.07H17.613Z",[775,824,826],{"transform":825},"translate(38.66 -82.458)",[787,827],{"d":828,"fill":777,"stroke":777,"className":829,"style":809},"M-13.211 21.814L-13.255 21.814Q-13.053 22.131-12.666 22.289Q-12.279 22.447-11.853 22.447Q-11.317 22.447-11.078 22.012Q-10.838 21.577-10.838 20.997Q-10.838 20.417-11.084 19.977Q-11.330 19.538-11.862 19.538L-12.482 19.538Q-12.508 19.538-12.541 19.509Q-12.574 19.481-12.574 19.459L-12.574 19.358Q-12.574 19.327-12.545 19.303Q-12.517 19.279-12.482 19.279L-11.963 19.239Q-11.497 19.239-11.251 18.767Q-11.005 18.294-11.005 17.776Q-11.005 17.349-11.218 17.075Q-11.431 16.800-11.853 16.800Q-12.196 16.800-12.521 16.930Q-12.846 17.059-13.031 17.314L-13.005 17.314Q-12.802 17.314-12.666 17.455Q-12.530 17.596-12.530 17.793Q-12.530 17.991-12.664 18.125Q-12.798 18.259-12.996 18.259Q-13.198 18.259-13.336 18.125Q-13.475 17.991-13.475 17.793Q-13.475 17.204-12.972 16.873Q-12.468 16.541-11.853 16.541Q-11.475 16.541-11.073 16.681Q-10.671 16.822-10.403 17.101Q-10.135 17.380-10.135 17.776Q-10.135 18.325-10.489 18.762Q-10.842 19.200-11.383 19.384Q-10.992 19.463-10.647 19.687Q-10.302 19.911-10.091 20.252Q-9.880 20.593-9.880 20.988Q-9.880 21.370-10.043 21.693Q-10.205 22.016-10.497 22.252Q-10.790 22.487-11.137 22.610Q-11.484 22.733-11.853 22.733Q-12.301 22.733-12.732 22.572Q-13.163 22.412-13.444 22.085Q-13.725 21.757-13.725 21.300Q-13.725 21.085-13.578 20.942Q-13.431 20.799-13.211 20.799Q-13 20.799-12.855 20.944Q-12.710 21.089-12.710 21.300Q-12.710 21.511-12.857 21.663Q-13.005 21.814-13.211 21.814",[791],[787,831],{"fill":781,"d":832},"M38.1-53.576h18.494V-72.07H38.099Z",[775,834,836],{"transform":835},"translate(59.146 -82.458)",[787,837],{"d":838,"fill":777,"stroke":777,"className":839,"style":809},"M-11.800 22.733Q-12.925 22.733-13.339 21.836Q-13.752 20.940-13.752 19.665Q-13.752 18.892-13.602 18.193Q-13.453 17.494-13.018 17.018Q-12.583 16.541-11.800 16.541Q-11.023 16.541-10.588 17.020Q-10.153 17.499-10.003 18.195Q-9.854 18.892-9.854 19.665Q-9.854 20.944-10.267 21.838Q-10.680 22.733-11.800 22.733M-11.800 22.473Q-11.282 22.473-11.031 21.962Q-10.781 21.450-10.724 20.839Q-10.667 20.228-10.667 19.520Q-10.667 18.835-10.724 18.275Q-10.781 17.714-11.034 17.257Q-11.286 16.800-11.800 16.800Q-12.205 16.800-12.442 17.077Q-12.679 17.354-12.787 17.795Q-12.895 18.237-12.919 18.630Q-12.943 19.024-12.943 19.520Q-12.943 20.026-12.919 20.454Q-12.895 20.883-12.787 21.366Q-12.679 21.849-12.440 22.161Q-12.200 22.473-11.800 22.473",[791],[787,841],{"fill":781,"d":842},"M58.585-53.576H77.08V-72.07H58.585Z",[775,844,846],{"transform":845},"translate(79.632 -82.458)",[787,847],{"d":807,"fill":777,"stroke":777,"className":848,"style":809},[791],[787,850],{"fill":781,"d":851},"M79.071-53.576h18.495V-72.07H79.07Z",[775,853,855],{"transform":854},"translate(100.118 -82.458)",[787,856],{"d":828,"fill":777,"stroke":777,"className":857,"style":809},[791],[787,859],{"fill":781,"d":860},"M99.557-53.576h18.495V-72.07H99.557Z",[775,862,864],{"transform":863},"translate(120.604 -82.458)",[787,865],{"d":838,"fill":777,"stroke":777,"className":866,"style":809},[791],[787,868],{"fill":781,"d":869},"M120.043-53.576h18.495V-72.07h-18.495Z",[775,871,873],{"transform":872},"translate(141.09 -82.458)",[787,874],{"d":828,"fill":777,"stroke":777,"className":875,"style":809},[791],[775,877,881,889],{"fill":878,"stroke":781,"fontFamily":879,"fontSize":880},"var(--tk-line)","cmr7","7",[775,882,884],{"transform":883},"translate(-36.027 -50.207)",[787,885],{"d":886,"fill":878,"stroke":878,"className":887,"style":888},"M-12.208 22.508L-13.336 20.009Q-13.408 19.862-13.538 19.830Q-13.668 19.797-13.897 19.797L-13.897 19.517L-12.383 19.517L-12.383 19.797Q-12.735 19.797-12.735 19.944Q-12.735 19.989-12.724 20.009L-11.860 21.927L-11.080 20.197Q-11.046 20.129-11.046 20.050Q-11.046 19.937-11.130 19.867Q-11.214 19.797-11.333 19.797L-11.333 19.517L-10.137 19.517L-10.137 19.797Q-10.356 19.797-10.527 19.900Q-10.697 20.002-10.786 20.197L-11.822 22.508Q-11.870 22.603-11.976 22.603L-12.054 22.603Q-12.160 22.603-12.208 22.508",[791],"stroke-width:0.210",[775,890,891],{"transform":883},[787,892],{"d":893,"fill":878,"stroke":878,"className":894,"style":888},"M-9.968 21.807Q-9.968 21.475-9.745 21.248Q-9.521 21.021-9.177 20.893Q-8.834 20.764-8.461 20.712Q-8.089 20.659-7.784 20.659L-7.784 20.406Q-7.784 20.201-7.892 20.021Q-8 19.842-8.181 19.739Q-8.362 19.637-8.570 19.637Q-8.977 19.637-9.213 19.729Q-9.124 19.766-9.078 19.850Q-9.032 19.934-9.032 20.036Q-9.032 20.132-9.078 20.211Q-9.124 20.289-9.205 20.334Q-9.285 20.378-9.374 20.378Q-9.524 20.378-9.625 20.281Q-9.726 20.183-9.726 20.036Q-9.726 19.414-8.570 19.414Q-8.359 19.414-8.109 19.478Q-7.860 19.541-7.658 19.660Q-7.456 19.780-7.330 19.965Q-7.203 20.149-7.203 20.392L-7.203 21.968Q-7.203 22.084-7.142 22.180Q-7.080 22.275-6.967 22.275Q-6.858 22.275-6.793 22.181Q-6.728 22.087-6.728 21.968L-6.728 21.520L-6.462 21.520L-6.462 21.968Q-6.462 22.238-6.689 22.403Q-6.916 22.569-7.196 22.569Q-7.405 22.569-7.542 22.415Q-7.678 22.262-7.702 22.046Q-7.849 22.313-8.131 22.458Q-8.413 22.603-8.738 22.603Q-9.015 22.603-9.299 22.528Q-9.582 22.453-9.775 22.274Q-9.968 22.094-9.968 21.807M-9.353 21.807Q-9.353 21.981-9.252 22.111Q-9.152 22.241-8.996 22.311Q-8.841 22.381-8.676 22.381Q-8.458 22.381-8.249 22.284Q-8.041 22.186-7.913 22.005Q-7.784 21.824-7.784 21.598L-7.784 20.870Q-8.109 20.870-8.475 20.961Q-8.841 21.052-9.097 21.264Q-9.353 21.475-9.353 21.807M-4.377 22.535L-5.980 22.535L-5.980 22.255Q-5.754 22.255-5.605 22.221Q-5.457 22.186-5.457 22.046L-5.457 18.427Q-5.457 18.157-5.564 18.095Q-5.672 18.034-5.980 18.034L-5.980 17.753L-4.903 17.678L-4.903 22.046Q-4.903 22.183-4.753 22.219Q-4.602 22.255-4.377 22.255L-4.377 22.535M-3.208 21.701L-3.208 20.197Q-3.208 19.927-3.315 19.866Q-3.423 19.804-3.734 19.804L-3.734 19.524L-2.627 19.449L-2.627 21.681L-2.627 21.701Q-2.627 21.981-2.575 22.125Q-2.524 22.268-2.382 22.325Q-2.240 22.381-1.953 22.381Q-1.700 22.381-1.495 22.241Q-1.290 22.101-1.174 21.875Q-1.058 21.650-1.058 21.400L-1.058 20.197Q-1.058 19.927-1.165 19.866Q-1.273 19.804-1.584 19.804L-1.584 19.524L-0.477 19.449L-0.477 21.862Q-0.477 22.053-0.424 22.135Q-0.371 22.217-0.270 22.236Q-0.169 22.255 0.046 22.255L0.046 22.535L-1.030 22.603L-1.030 22.039Q-1.140 22.221-1.285 22.344Q-1.430 22.467-1.617 22.535Q-1.803 22.603-2.005 22.603Q-3.208 22.603-3.208 21.701M0.593 21Q0.593 20.679 0.718 20.390Q0.843 20.101 1.068 19.878Q1.294 19.654 1.589 19.534Q1.885 19.414 2.203 19.414Q2.531 19.414 2.793 19.514Q3.054 19.613 3.230 19.795Q3.406 19.978 3.500 20.236Q3.594 20.494 3.594 20.826Q3.594 20.918 3.512 20.939L1.256 20.939L1.256 21Q1.256 21.588 1.540 21.971Q1.824 22.354 2.391 22.354Q2.712 22.354 2.981 22.161Q3.249 21.968 3.338 21.653Q3.345 21.612 3.420 21.598L3.512 21.598Q3.594 21.622 3.594 21.694Q3.594 21.701 3.587 21.728Q3.474 22.125 3.104 22.364Q2.733 22.603 2.309 22.603Q1.871 22.603 1.472 22.395Q1.072 22.186 0.832 21.819Q0.593 21.452 0.593 21M1.263 20.730L3.078 20.730Q3.078 20.453 2.981 20.201Q2.883 19.948 2.685 19.792Q2.487 19.637 2.203 19.637Q1.926 19.637 1.712 19.795Q1.499 19.954 1.381 20.209Q1.263 20.464 1.263 20.730",[791],[775,896,898],{"transform":897},"translate(-1.993 -50.382)",[787,899],{"d":900,"fill":878,"stroke":878,"className":901,"style":888},"M-12.123 22.675Q-12.758 22.675-13.122 22.330Q-13.487 21.985-13.622 21.460Q-13.757 20.935-13.757 20.310Q-13.757 19.285-13.401 18.586Q-13.046 17.887-12.123 17.887Q-11.196 17.887-10.844 18.586Q-10.492 19.285-10.492 20.310Q-10.492 20.935-10.627 21.460Q-10.762 21.985-11.125 22.330Q-11.487 22.675-12.123 22.675M-12.123 22.450Q-11.685 22.450-11.472 22.075Q-11.258 21.701-11.208 21.234Q-11.159 20.768-11.159 20.190Q-11.159 19.637-11.208 19.209Q-11.258 18.782-11.470 18.447Q-11.682 18.112-12.123 18.112Q-12.465 18.112-12.668 18.319Q-12.871 18.526-12.958 18.838Q-13.046 19.151-13.068 19.467Q-13.090 19.784-13.090 20.190Q-13.090 20.607-13.068 20.949Q-13.046 21.291-12.957 21.639Q-12.868 21.988-12.663 22.219Q-12.458 22.450-12.123 22.450",[791],[775,903,905],{"transform":904},"translate(18.493 -50.382)",[787,906],{"d":907,"fill":878,"stroke":878,"className":908,"style":888},"M-10.786 22.535L-13.316 22.535L-13.316 22.255Q-12.348 22.255-12.348 22.046L-12.348 18.427Q-12.741 18.615-13.363 18.615L-13.363 18.334Q-12.946 18.334-12.582 18.233Q-12.218 18.133-11.962 17.887L-11.836 17.887Q-11.771 17.904-11.754 17.972L-11.754 22.046Q-11.754 22.255-10.786 22.255",[791],[775,910,912],{"transform":911},"translate(38.979 -50.382)",[787,913],{"d":914,"fill":878,"stroke":878,"className":915,"style":888},"M-10.786 22.535L-13.671 22.535L-13.671 22.333Q-13.671 22.303-13.644 22.275L-12.396 21.058Q-12.324 20.983-12.282 20.941Q-12.239 20.898-12.160 20.819Q-11.747 20.406-11.516 20.048Q-11.285 19.691-11.285 19.267Q-11.285 19.035-11.364 18.832Q-11.443 18.628-11.584 18.478Q-11.726 18.327-11.921 18.247Q-12.116 18.167-12.348 18.167Q-12.659 18.167-12.917 18.326Q-13.175 18.485-13.305 18.762L-13.285 18.762Q-13.117 18.762-13.010 18.873Q-12.902 18.984-12.902 19.148Q-12.902 19.305-13.011 19.418Q-13.121 19.531-13.285 19.531Q-13.445 19.531-13.558 19.418Q-13.671 19.305-13.671 19.148Q-13.671 18.772-13.463 18.485Q-13.254 18.198-12.919 18.042Q-12.584 17.887-12.229 17.887Q-11.805 17.887-11.425 18.045Q-11.046 18.204-10.812 18.521Q-10.578 18.837-10.578 19.267Q-10.578 19.578-10.718 19.847Q-10.858 20.115-11.063 20.320Q-11.268 20.525-11.631 20.807Q-11.993 21.089-12.102 21.185L-12.957 21.913L-12.314 21.913Q-12.051 21.913-11.762 21.911Q-11.473 21.910-11.255 21.901Q-11.036 21.892-11.019 21.875Q-10.957 21.810-10.920 21.643Q-10.882 21.475-10.844 21.233L-10.578 21.233",[791],[775,917,919],{"transform":918},"translate(59.465 -50.382)",[787,920],{"d":921,"fill":878,"stroke":878,"className":922,"style":888},"M-13.316 21.988Q-13.196 22.145-13.005 22.244Q-12.813 22.344-12.598 22.383Q-12.383 22.422-12.160 22.422Q-11.863 22.422-11.668 22.267Q-11.473 22.111-11.383 21.857Q-11.292 21.602-11.292 21.318Q-11.292 21.024-11.384 20.773Q-11.477 20.522-11.675 20.366Q-11.873 20.211-12.167 20.211L-12.683 20.211Q-12.711 20.211-12.736 20.185Q-12.762 20.160-12.762 20.136L-12.762 20.064Q-12.762 20.033-12.736 20.011Q-12.711 19.989-12.683 19.989L-12.242 19.958Q-11.880 19.958-11.660 19.601Q-11.439 19.243-11.439 18.854Q-11.439 18.526-11.634 18.322Q-11.829 18.119-12.160 18.119Q-12.447 18.119-12.700 18.203Q-12.953 18.286-13.117 18.474Q-12.970 18.474-12.870 18.589Q-12.769 18.703-12.769 18.854Q-12.769 19.004-12.875 19.114Q-12.981 19.223-13.138 19.223Q-13.299 19.223-13.408 19.114Q-13.517 19.004-13.517 18.854Q-13.517 18.529-13.309 18.310Q-13.100 18.092-12.784 17.989Q-12.468 17.887-12.160 17.887Q-11.842 17.887-11.514 17.991Q-11.186 18.095-10.959 18.317Q-10.732 18.539-10.732 18.854Q-10.732 19.288-11.019 19.613Q-11.306 19.937-11.740 20.084Q-11.429 20.149-11.149 20.315Q-10.868 20.481-10.691 20.739Q-10.513 20.997-10.513 21.318Q-10.513 21.728-10.757 22.038Q-11.002 22.347-11.383 22.511Q-11.764 22.675-12.160 22.675Q-12.529 22.675-12.887 22.562Q-13.244 22.450-13.488 22.200Q-13.733 21.951-13.733 21.581Q-13.733 21.410-13.616 21.298Q-13.500 21.185-13.329 21.185Q-13.220 21.185-13.129 21.236Q-13.039 21.287-12.984 21.380Q-12.929 21.472-12.929 21.581Q-12.929 21.749-13.042 21.868Q-13.155 21.988-13.316 21.988",[791],[775,924,926],{"transform":925},"translate(79.951 -50.382)",[787,927],{"d":928,"fill":878,"stroke":878,"className":929,"style":888},"M-11.795 21.387L-13.839 21.387L-13.839 21.106L-11.508 17.934Q-11.473 17.887-11.408 17.887L-11.272 17.887Q-11.227 17.887-11.200 17.914Q-11.173 17.941-11.173 17.986L-11.173 21.106L-10.410 21.106L-10.410 21.387L-11.173 21.387L-11.173 22.046Q-11.173 22.255-10.417 22.255L-10.417 22.535L-12.550 22.535L-12.550 22.255Q-11.795 22.255-11.795 22.046L-11.795 21.387M-11.747 18.662L-13.538 21.106L-11.747 21.106",[791],[775,931,933],{"transform":932},"translate(100.437 -50.382)",[787,934],{"d":935,"fill":878,"stroke":878,"className":936,"style":888},"M-13.305 21.773L-13.336 21.773Q-13.199 22.070-12.902 22.246Q-12.605 22.422-12.277 22.422Q-11.914 22.422-11.687 22.244Q-11.460 22.067-11.366 21.778Q-11.272 21.489-11.272 21.127Q-11.272 20.812-11.326 20.527Q-11.381 20.242-11.554 20.036Q-11.726 19.831-12.041 19.831Q-12.314 19.831-12.497 19.898Q-12.680 19.965-12.784 20.054Q-12.888 20.142-12.984 20.252Q-13.080 20.361-13.124 20.371L-13.203 20.371Q-13.275 20.354-13.292 20.283L-13.292 17.965Q-13.292 17.931-13.268 17.909Q-13.244 17.887-13.210 17.887L-13.182 17.887Q-12.895 18.003-12.627 18.057Q-12.359 18.112-12.082 18.112Q-11.805 18.112-11.535 18.057Q-11.265 18.003-10.985 17.887L-10.961 17.887Q-10.926 17.887-10.903 17.910Q-10.879 17.934-10.879 17.965L-10.879 18.034Q-10.879 18.061-10.899 18.081Q-11.173 18.396-11.557 18.572Q-11.942 18.748-12.355 18.748Q-12.694 18.748-13.011 18.662L-13.011 19.944Q-12.615 19.609-12.041 19.609Q-11.637 19.609-11.301 19.819Q-10.964 20.030-10.771 20.382Q-10.578 20.734-10.578 21.134Q-10.578 21.465-10.718 21.751Q-10.858 22.036-11.102 22.246Q-11.347 22.456-11.649 22.566Q-11.952 22.675-12.270 22.675Q-12.629 22.675-12.955 22.511Q-13.281 22.347-13.476 22.055Q-13.671 21.763-13.671 21.400Q-13.671 21.250-13.565 21.144Q-13.459 21.038-13.305 21.038Q-13.152 21.038-13.047 21.142Q-12.943 21.246-12.943 21.400Q-12.943 21.557-13.047 21.665Q-13.152 21.773-13.305 21.773",[791],[775,938,940,947],{"stroke":781,"fontFamily":939,"fontSize":782},"cmr8",[775,941,943],{"transform":942},"translate(-37.386 -31.683)",[787,944],{"d":945,"fill":777,"stroke":777,"className":946,"style":792},"M-13.831 20.808Q-13.831 20.312-13.581 19.887Q-13.331 19.461-12.911 19.215Q-12.491 18.969-11.991 18.969Q-11.452 18.969-11.061 19.094Q-10.671 19.219-10.671 19.633Q-10.671 19.738-10.721 19.830Q-10.772 19.922-10.864 19.973Q-10.956 20.023-11.065 20.023Q-11.171 20.023-11.262 19.973Q-11.354 19.922-11.405 19.830Q-11.456 19.738-11.456 19.633Q-11.456 19.410-11.288 19.305Q-11.510 19.246-11.983 19.246Q-12.280 19.246-12.495 19.385Q-12.710 19.523-12.841 19.754Q-12.971 19.984-13.030 20.254Q-13.089 20.523-13.089 20.808Q-13.089 21.203-12.956 21.553Q-12.823 21.902-12.551 22.119Q-12.280 22.336-11.882 22.336Q-11.507 22.336-11.231 22.119Q-10.956 21.902-10.854 21.543Q-10.839 21.480-10.776 21.480L-10.671 21.480Q-10.635 21.480-10.610 21.508Q-10.585 21.535-10.585 21.574L-10.585 21.598Q-10.717 22.078-11.102 22.346Q-11.487 22.613-11.991 22.613Q-12.354 22.613-12.688 22.476Q-13.022 22.340-13.282 22.090Q-13.542 21.840-13.686 21.504Q-13.831 21.168-13.831 20.808M-10.096 20.840Q-10.096 20.336-9.841 19.904Q-9.585 19.473-9.149 19.221Q-8.714 18.969-8.214 18.969Q-7.827 18.969-7.485 19.113Q-7.143 19.258-6.882 19.519Q-6.620 19.781-6.477 20.117Q-6.335 20.453-6.335 20.840Q-6.335 21.332-6.598 21.742Q-6.862 22.152-7.292 22.383Q-7.721 22.613-8.214 22.613Q-8.706 22.613-9.139 22.381Q-9.573 22.148-9.835 21.740Q-10.096 21.332-10.096 20.840M-8.214 22.336Q-7.757 22.336-7.505 22.113Q-7.253 21.890-7.165 21.539Q-7.077 21.187-7.077 20.742Q-7.077 20.312-7.171 19.974Q-7.264 19.637-7.518 19.430Q-7.772 19.223-8.214 19.223Q-8.862 19.223-9.106 19.639Q-9.350 20.055-9.350 20.742Q-9.350 21.187-9.262 21.539Q-9.175 21.890-8.923 22.113Q-8.671 22.336-8.214 22.336M-5.167 21.582L-5.167 19.840Q-5.167 19.625-5.229 19.529Q-5.292 19.433-5.411 19.412Q-5.530 19.390-5.776 19.390L-5.776 19.094L-4.530 19.008L-4.530 21.558L-4.530 21.582Q-4.530 21.894-4.475 22.056Q-4.421 22.219-4.270 22.289Q-4.120 22.359-3.800 22.359Q-3.370 22.359-3.096 22.021Q-2.823 21.683-2.823 21.238L-2.823 19.840Q-2.823 19.625-2.885 19.529Q-2.948 19.433-3.067 19.412Q-3.186 19.390-3.432 19.390L-3.432 19.094L-2.186 19.008L-2.186 21.793Q-2.186 22.004-2.124 22.099Q-2.061 22.195-1.942 22.217Q-1.823 22.238-1.577 22.238L-1.577 22.535L-2.800 22.613L-2.800 21.992Q-2.967 22.281-3.249 22.447Q-3.530 22.613-3.850 22.613Q-5.167 22.613-5.167 21.582M0.798 22.535L-1.057 22.535L-1.057 22.238Q-0.784 22.238-0.616 22.191Q-0.448 22.144-0.448 21.976L-0.448 19.840Q-0.448 19.625-0.510 19.529Q-0.573 19.433-0.692 19.412Q-0.811 19.390-1.057 19.390L-1.057 19.094L0.134 19.008L0.134 19.742Q0.247 19.527 0.441 19.359Q0.634 19.191 0.872 19.099Q1.111 19.008 1.365 19.008Q2.533 19.008 2.533 20.086L2.533 21.976Q2.533 22.144 2.702 22.191Q2.872 22.238 3.142 22.238L3.142 22.535L1.286 22.535L1.286 22.238Q1.560 22.238 1.728 22.191Q1.896 22.144 1.896 21.976L1.896 20.101Q1.896 19.719 1.775 19.490Q1.654 19.262 1.302 19.262Q0.990 19.262 0.736 19.424Q0.482 19.586 0.335 19.855Q0.189 20.125 0.189 20.422L0.189 21.976Q0.189 22.144 0.359 22.191Q0.529 22.238 0.798 22.238",[791],[775,948,949],{"transform":942},[787,950],{"d":951,"fill":777,"stroke":777,"className":952,"style":792},"M3.988 21.574L3.988 19.383L3.285 19.383L3.285 19.129Q3.641 19.129 3.883 18.896Q4.125 18.664 4.236 18.316Q4.348 17.969 4.348 17.613L4.629 17.613L4.629 19.086L5.805 19.086L5.805 19.383L4.629 19.383L4.629 21.558Q4.629 21.879 4.748 22.107Q4.867 22.336 5.148 22.336Q5.328 22.336 5.445 22.213Q5.563 22.090 5.615 21.910Q5.668 21.730 5.668 21.558L5.668 21.086L5.949 21.086L5.949 21.574Q5.949 21.828 5.844 22.068Q5.738 22.308 5.541 22.461Q5.344 22.613 5.086 22.613Q4.770 22.613 4.518 22.490Q4.266 22.367 4.127 22.133Q3.988 21.898 3.988 21.574M6.711 22.527L6.711 21.305Q6.711 21.277 6.742 21.246Q6.773 21.215 6.797 21.215L6.902 21.215Q6.973 21.215 6.988 21.277Q7.051 21.598 7.189 21.838Q7.328 22.078 7.561 22.219Q7.793 22.359 8.102 22.359Q8.340 22.359 8.549 22.299Q8.758 22.238 8.895 22.090Q9.031 21.941 9.031 21.695Q9.031 21.441 8.820 21.275Q8.609 21.109 8.340 21.055L7.719 20.941Q7.313 20.863 7.012 20.607Q6.711 20.351 6.711 19.976Q6.711 19.609 6.912 19.387Q7.113 19.164 7.438 19.066Q7.762 18.969 8.102 18.969Q8.566 18.969 8.863 19.176L9.086 18.992Q9.109 18.969 9.141 18.969L9.191 18.969Q9.223 18.969 9.250 18.996Q9.277 19.023 9.277 19.055L9.277 20.039Q9.277 20.070 9.252 20.099Q9.227 20.129 9.191 20.129L9.086 20.129Q9.051 20.129 9.023 20.101Q8.996 20.074 8.996 20.039Q8.996 19.640 8.744 19.420Q8.492 19.199 8.094 19.199Q7.738 19.199 7.455 19.322Q7.172 19.445 7.172 19.750Q7.172 19.969 7.373 20.101Q7.574 20.234 7.820 20.277L8.445 20.390Q8.875 20.480 9.184 20.777Q9.492 21.074 9.492 21.488Q9.492 22.058 9.094 22.336Q8.695 22.613 8.102 22.613Q7.551 22.613 7.199 22.277L6.902 22.590Q6.879 22.613 6.844 22.613L6.797 22.613Q6.773 22.613 6.742 22.582Q6.711 22.551 6.711 22.527",[791],[775,954,956,959],{"fill":955},"var(--tk-soft-accent)",[787,957],{"d":958},"M-23.359-2.36h18.495v-18.495H-23.36Z",[775,960,962],{"transform":961},"translate(-2.312 -31.243)",[787,963],{"d":807,"fill":777,"stroke":777,"className":964,"style":809},[791],[775,966,967,970],{"fill":955},[787,968],{"d":969},"M-2.873-2.36h18.495v-18.495H-2.873Z",[775,971,973],{"transform":972},"translate(18.174 -31.243)",[787,974],{"d":838,"fill":777,"stroke":777,"className":975,"style":809},[791],[775,977,978,981],{"fill":955},[787,979],{"d":980},"M17.613-2.36h18.495v-18.495H17.613Z",[775,982,984],{"transform":983},"translate(38.66 -31.243)",[787,985],{"d":807,"fill":777,"stroke":777,"className":986,"style":809},[791],[775,988,989,992],{"fill":955},[787,990],{"d":991},"M38.1-2.36h18.494v-18.495H38.099Z",[775,993,995],{"transform":994},"translate(59.146 -31.243)",[787,996],{"d":828,"fill":777,"stroke":777,"className":997,"style":809},[791],[775,999,1000,1003],{"fill":955},[787,1001],{"d":1002},"M58.585-2.36H77.08v-18.495H58.585Z",[775,1004,1006],{"transform":1005},"translate(79.632 -31.243)",[787,1007],{"d":838,"fill":777,"stroke":777,"className":1008,"style":809},[791],[775,1010,1011,1014],{"fill":955},[787,1012],{"d":1013},"M79.071-2.36h18.495v-18.495H79.07Z",[775,1015,1017],{"transform":1016},"translate(100.118 -31.243)",[787,1018],{"d":1019,"fill":777,"stroke":777,"className":1020,"style":809},"M-10.205 22.535L-13.237 22.535L-13.237 22.219Q-12.086 22.219-12.086 21.924L-12.086 17.200Q-12.574 17.433-13.295 17.433L-13.295 17.117Q-12.165 17.117-11.603 16.541L-11.458 16.541Q-11.423 16.541-11.390 16.574Q-11.357 16.607-11.357 16.642L-11.357 21.924Q-11.357 22.219-10.205 22.219",[791],[775,1022,1024],{"transform":1023},"translate(-34.513 -10.804)",[787,1025],{"d":1026,"fill":777,"stroke":777,"className":1027,"style":792},"M-11.991 24.086L-13.846 24.086L-13.846 23.793Q-13.577 23.793-13.409 23.748Q-13.241 23.703-13.241 23.527L-13.241 19.703Q-13.241 19.496-13.397 19.443Q-13.553 19.390-13.846 19.390L-13.846 19.094L-12.624 19.008L-12.624 19.473Q-12.393 19.250-12.079 19.129Q-11.764 19.008-11.425 19.008Q-10.952 19.008-10.548 19.254Q-10.143 19.500-9.911 19.916Q-9.678 20.332-9.678 20.808Q-9.678 21.183-9.827 21.512Q-9.975 21.840-10.245 22.092Q-10.514 22.344-10.858 22.478Q-11.202 22.613-11.561 22.613Q-11.850 22.613-12.122 22.492Q-12.393 22.371-12.600 22.160L-12.600 23.527Q-12.600 23.703-12.432 23.748Q-12.264 23.793-11.991 23.793L-11.991 24.086M-12.600 19.871L-12.600 21.711Q-12.448 22-12.186 22.180Q-11.925 22.359-11.616 22.359Q-11.331 22.359-11.108 22.221Q-10.885 22.082-10.733 21.851Q-10.581 21.621-10.503 21.349Q-10.425 21.078-10.425 20.808Q-10.425 20.476-10.550 20.119Q-10.675 19.762-10.923 19.525Q-11.171 19.289-11.518 19.289Q-11.842 19.289-12.137 19.445Q-12.432 19.601-12.600 19.871M-7.147 22.535L-9.128 22.535L-9.128 22.238Q-8.858 22.238-8.690 22.193Q-8.522 22.148-8.522 21.976L-8.522 19.840Q-8.522 19.625-8.585 19.529Q-8.647 19.433-8.764 19.412Q-8.882 19.390-9.128 19.390L-9.128 19.094L-7.960 19.008L-7.960 19.793Q-7.882 19.582-7.729 19.396Q-7.577 19.211-7.378 19.109Q-7.178 19.008-6.952 19.008Q-6.706 19.008-6.514 19.152Q-6.323 19.297-6.323 19.527Q-6.323 19.683-6.428 19.793Q-6.534 19.902-6.690 19.902Q-6.846 19.902-6.956 19.793Q-7.065 19.683-7.065 19.527Q-7.065 19.367-6.960 19.262Q-7.284 19.262-7.499 19.490Q-7.714 19.719-7.809 20.058Q-7.905 20.398-7.905 20.703L-7.905 21.976Q-7.905 22.144-7.678 22.191Q-7.452 22.238-7.147 22.238L-7.147 22.535M-5.842 20.781Q-5.842 20.301-5.610 19.885Q-5.378 19.469-4.967 19.219Q-4.557 18.969-4.081 18.969Q-3.350 18.969-2.952 19.410Q-2.553 19.851-2.553 20.582Q-2.553 20.687-2.647 20.711L-5.096 20.711L-5.096 20.781Q-5.096 21.191-4.975 21.547Q-4.854 21.902-4.583 22.119Q-4.311 22.336-3.882 22.336Q-3.518 22.336-3.221 22.107Q-2.925 21.879-2.823 21.527Q-2.815 21.480-2.729 21.465L-2.647 21.465Q-2.553 21.492-2.553 21.574Q-2.553 21.582-2.561 21.613Q-2.624 21.840-2.762 22.023Q-2.901 22.207-3.092 22.340Q-3.284 22.473-3.503 22.543Q-3.721 22.613-3.960 22.613Q-4.331 22.613-4.669 22.476Q-5.007 22.340-5.274 22.088Q-5.542 21.836-5.692 21.496Q-5.842 21.156-5.842 20.781M-5.089 20.473L-3.128 20.473Q-3.128 20.168-3.229 19.877Q-3.331 19.586-3.548 19.404Q-3.764 19.223-4.081 19.223Q-4.382 19.223-4.612 19.410Q-4.842 19.598-4.966 19.889Q-5.089 20.180-5.089 20.473M-0.206 22.535L-2.038 22.535L-2.038 22.238Q-1.768 22.238-1.600 22.193Q-1.432 22.148-1.432 21.976L-1.432 19.383L-2.073 19.383L-2.073 19.086L-1.432 19.086L-1.432 18.152Q-1.432 17.738-1.124 17.457Q-0.815 17.176-0.370 17.039Q0.075 16.902 0.482 16.902Q0.884 16.902 1.202 17.129Q1.521 17.355 1.521 17.742Q1.521 17.918 1.408 18.031Q1.294 18.144 1.122 18.144Q0.947 18.144 0.833 18.031Q0.720 17.918 0.720 17.742Q0.720 17.598 0.810 17.488Q0.900 17.379 1.033 17.351Q0.747 17.160 0.400 17.160Q0.103 17.160-0.184 17.281Q-0.471 17.402-0.655 17.635Q-0.839 17.867-0.839 18.168L-0.839 19.086L0.314 19.086L1.536 18.992L1.536 21.976Q1.536 22.144 1.704 22.191Q1.872 22.238 2.146 22.238L2.146 22.535L0.314 22.535L0.314 22.238Q0.583 22.238 0.751 22.193Q0.919 22.148 0.919 21.976L0.919 19.816Q0.919 19.609 0.872 19.510Q0.825 19.410 0.650 19.383L-0.815 19.383L-0.815 21.976Q-0.815 22.144-0.647 22.191Q-0.479 22.238-0.206 22.238L-0.206 22.535M4.040 22.535L2.544 22.535L2.544 22.238Q3.177 22.238 3.599 21.758L4.368 20.848L3.376 19.648Q3.220 19.469 3.058 19.426Q2.896 19.383 2.591 19.383L2.591 19.086L4.279 19.086L4.279 19.383Q4.185 19.383 4.109 19.426Q4.033 19.469 4.033 19.558Q4.033 19.601 4.064 19.648L4.720 20.437L5.200 19.863Q5.318 19.726 5.318 19.590Q5.318 19.500 5.267 19.441Q5.216 19.383 5.134 19.383L5.134 19.086L6.622 19.086L6.622 19.383Q5.986 19.383 5.575 19.863L4.896 20.664L5.982 21.976Q6.142 22.152 6.302 22.195Q6.462 22.238 6.767 22.238L6.767 22.535L5.079 22.535L5.079 22.238Q5.169 22.238 5.247 22.195Q5.325 22.152 5.325 22.062Q5.325 22.039 5.294 21.976L4.552 21.070L3.966 21.758Q3.849 21.894 3.849 22.031Q3.849 22.117 3.900 22.178Q3.950 22.238 4.040 22.238",[791],[775,1029,1030,1033],{"fill":955},[787,1031],{"d":1032},"M-23.359 18.979h18.495V.485H-23.36Z",[775,1034,1036],{"transform":1035},"translate(-2.312 -9.904)",[787,1037],{"d":807,"fill":777,"stroke":777,"className":1038,"style":809},[791],[775,1040,1041,1044],{"fill":955},[787,1042],{"d":1043},"M-2.873 18.979h18.495V.485H-2.873Z",[775,1045,1047],{"transform":1046},"translate(18.174 -9.904)",[787,1048],{"d":807,"fill":777,"stroke":777,"className":1049,"style":809},[791],[775,1051,1052,1055],{"fill":955},[787,1053],{"d":1054},"M17.613 18.979h18.495V.485H17.613Z",[775,1056,1058],{"transform":1057},"translate(38.66 -9.904)",[787,1059],{"d":1060,"fill":777,"stroke":777,"className":1061,"style":809},"M-11.414 21.058L-13.853 21.058L-13.853 20.742L-11.027 16.594Q-10.983 16.541-10.917 16.541L-10.763 16.541Q-10.724 16.541-10.691 16.574Q-10.658 16.607-10.658 16.651L-10.658 20.742L-9.757 20.742L-9.757 21.058L-10.658 21.058L-10.658 21.924Q-10.658 22.219-9.757 22.219L-9.757 22.535L-12.310 22.535L-12.310 22.219Q-11.950 22.219-11.682 22.164Q-11.414 22.109-11.414 21.924L-11.414 21.058M-11.357 17.569L-13.519 20.742L-11.357 20.742",[791],[775,1063,1064,1067],{"fill":955},[787,1065],{"d":1066},"M38.1 18.979h18.494V.485H38.099Z",[775,1068,1070],{"transform":1069},"translate(59.146 -9.904)",[787,1071],{"d":1072,"fill":777,"stroke":777,"className":1073,"style":809},"M-12.490 22.293Q-12.490 21.656-12.334 21.010Q-12.178 20.364-11.886 19.758Q-11.594 19.151-11.185 18.602L-10.368 17.494L-11.396 17.494Q-13.040 17.494-13.088 17.538Q-13.194 17.666-13.312 18.369L-13.598 18.369L-13.303 16.453L-13.013 16.453L-13.013 16.479Q-13.013 16.642-12.449 16.690Q-11.884 16.739-11.339 16.739L-9.621 16.739L-9.621 16.945Q-9.621 16.963-9.623 16.972Q-9.625 16.980-9.630 16.989L-10.917 18.738Q-11.168 19.090-11.315 19.516Q-11.462 19.942-11.528 20.406Q-11.594 20.869-11.607 21.280Q-11.620 21.691-11.620 22.293Q-11.620 22.473-11.746 22.603Q-11.871 22.733-12.051 22.733Q-12.170 22.733-12.273 22.676Q-12.376 22.618-12.433 22.515Q-12.490 22.412-12.490 22.293",[791],[775,1075,1076,1079],{"fill":955},[787,1077],{"d":1078},"M58.585 18.979H77.08V.485H58.585Z",[775,1080,1082],{"transform":1081},"translate(79.632 -9.904)",[787,1083],{"d":1072,"fill":777,"stroke":777,"className":1084,"style":809},[791],[775,1086,1087,1090],{"fill":955},[787,1088],{"d":1089},"M79.071 18.979h18.495V.485H79.07Z",[775,1091,1093],{"transform":1092},"translate(100.118 -9.904)",[787,1094],{"d":1095,"fill":777,"stroke":777,"className":1096,"style":809},"M-13.725 21.168Q-13.725 20.610-13.365 20.197Q-13.005 19.784-12.429 19.512L-12.798 19.279Q-13.101 19.077-13.288 18.747Q-13.475 18.417-13.475 18.061Q-13.475 17.407-12.969 16.974Q-12.464 16.541-11.800 16.541Q-11.401 16.541-11.016 16.701Q-10.632 16.862-10.383 17.167Q-10.135 17.473-10.135 17.890Q-10.135 18.721-11.203 19.279L-10.649 19.626Q-10.302 19.854-10.091 20.223Q-9.880 20.593-9.880 21.006Q-9.880 21.384-10.038 21.702Q-10.196 22.021-10.473 22.254Q-10.750 22.487-11.093 22.610Q-11.436 22.733-11.800 22.733Q-12.266 22.733-12.712 22.546Q-13.158 22.359-13.442 22.005Q-13.725 21.652-13.725 21.168M-13.202 21.168Q-13.202 21.713-12.783 22.080Q-12.363 22.447-11.800 22.447Q-11.471 22.447-11.146 22.315Q-10.820 22.183-10.612 21.929Q-10.403 21.674-10.403 21.331Q-10.403 21.067-10.539 20.843Q-10.675 20.619-10.908 20.465L-12.152 19.683Q-12.613 19.920-12.908 20.307Q-13.202 20.694-13.202 21.168M-12.591 18.413L-11.475 19.116Q-11.251 18.993-11.047 18.804Q-10.842 18.615-10.722 18.382Q-10.601 18.149-10.601 17.890Q-10.601 17.582-10.772 17.332Q-10.944 17.081-11.220 16.941Q-11.497 16.800-11.809 16.800Q-12.258 16.800-12.631 17.046Q-13.005 17.292-13.005 17.719Q-13.005 18.123-12.591 18.413",[791],[775,1098,1099,1106],{"stroke":781,"fontSize":782},[775,1100,1102],{"transform":1101},"translate(-48.159 21.872)",[787,1103],{"d":1104,"fill":777,"stroke":777,"className":1105,"style":792},"M-13.874 20.840Q-13.874 20.336-13.618 19.904Q-13.362 19.473-12.926 19.221Q-12.491 18.969-11.991 18.969Q-11.604 18.969-11.262 19.113Q-10.921 19.258-10.659 19.519Q-10.397 19.781-10.255 20.117Q-10.112 20.453-10.112 20.840Q-10.112 21.332-10.376 21.742Q-10.639 22.152-11.069 22.383Q-11.499 22.613-11.991 22.613Q-12.483 22.613-12.917 22.381Q-13.350 22.148-13.612 21.740Q-13.874 21.332-13.874 20.840M-11.991 22.336Q-11.534 22.336-11.282 22.113Q-11.030 21.890-10.942 21.539Q-10.854 21.187-10.854 20.742Q-10.854 20.312-10.948 19.974Q-11.042 19.637-11.296 19.430Q-11.550 19.223-11.991 19.223Q-12.639 19.223-12.883 19.639Q-13.128 20.055-13.128 20.742Q-13.128 21.187-13.040 21.539Q-12.952 21.890-12.700 22.113Q-12.448 22.336-11.991 22.336M-8.944 21.582L-8.944 19.840Q-8.944 19.625-9.007 19.529Q-9.069 19.433-9.188 19.412Q-9.307 19.390-9.553 19.390L-9.553 19.094L-8.307 19.008L-8.307 21.558L-8.307 21.582Q-8.307 21.894-8.253 22.056Q-8.198 22.219-8.048 22.289Q-7.897 22.359-7.577 22.359Q-7.147 22.359-6.874 22.021Q-6.600 21.683-6.600 21.238L-6.600 19.840Q-6.600 19.625-6.663 19.529Q-6.725 19.433-6.844 19.412Q-6.964 19.390-7.210 19.390L-7.210 19.094L-5.964 19.008L-5.964 21.793Q-5.964 22.004-5.901 22.099Q-5.839 22.195-5.719 22.217Q-5.600 22.238-5.354 22.238L-5.354 22.535L-6.577 22.613L-6.577 21.992Q-6.745 22.281-7.026 22.447Q-7.307 22.613-7.628 22.613Q-8.944 22.613-8.944 21.582M-4.284 21.574L-4.284 19.383L-4.987 19.383L-4.987 19.129Q-4.632 19.129-4.389 18.896Q-4.147 18.664-4.036 18.316Q-3.925 17.969-3.925 17.613L-3.643 17.613L-3.643 19.086L-2.467 19.086L-2.467 19.383L-3.643 19.383L-3.643 21.558Q-3.643 21.879-3.524 22.107Q-3.405 22.336-3.124 22.336Q-2.944 22.336-2.827 22.213Q-2.710 22.090-2.657 21.910Q-2.604 21.730-2.604 21.558L-2.604 21.086L-2.323 21.086L-2.323 21.574Q-2.323 21.828-2.428 22.068Q-2.534 22.308-2.731 22.461Q-2.928 22.613-3.186 22.613Q-3.503 22.613-3.755 22.490Q-4.007 22.367-4.145 22.133Q-4.284 21.898-4.284 21.574M0.279 24.086L-1.577 24.086L-1.577 23.793Q-1.307 23.793-1.139 23.748Q-0.971 23.703-0.971 23.527L-0.971 19.703Q-0.971 19.496-1.128 19.443Q-1.284 19.390-1.577 19.390L-1.577 19.094L-0.354 19.008L-0.354 19.473Q-0.124 19.250 0.191 19.129Q0.505 19.008 0.845 19.008Q1.318 19.008 1.722 19.254Q2.126 19.500 2.359 19.916Q2.591 20.332 2.591 20.808Q2.591 21.183 2.443 21.512Q2.294 21.840 2.025 22.092Q1.755 22.344 1.411 22.478Q1.068 22.613 0.708 22.613Q0.419 22.613 0.148 22.492Q-0.124 22.371-0.331 22.160L-0.331 23.527Q-0.331 23.703-0.163 23.748Q0.005 23.793 0.279 23.793L0.279 24.086M-0.331 19.871L-0.331 21.711Q-0.178 22 0.083 22.180Q0.345 22.359 0.654 22.359Q0.939 22.359 1.161 22.221Q1.384 22.082 1.536 21.851Q1.689 21.621 1.767 21.349Q1.845 21.078 1.845 20.808Q1.845 20.476 1.720 20.119Q1.595 19.762 1.347 19.525Q1.099 19.289 0.751 19.289Q0.427 19.289 0.132 19.445Q-0.163 19.601-0.331 19.871M3.798 21.582L3.798 19.840Q3.798 19.625 3.736 19.529Q3.673 19.433 3.554 19.412Q3.435 19.390 3.189 19.390L3.189 19.094L4.435 19.008L4.435 21.558L4.435 21.582Q4.435 21.894 4.490 22.056Q4.544 22.219 4.695 22.289Q4.845 22.359 5.165 22.359Q5.595 22.359 5.868 22.021Q6.142 21.683 6.142 21.238L6.142 19.840Q6.142 19.625 6.079 19.529Q6.017 19.433 5.898 19.412Q5.779 19.390 5.533 19.390L5.533 19.094L6.779 19.008L6.779 21.793Q6.779 22.004 6.841 22.099Q6.904 22.195 7.023 22.217Q7.142 22.238 7.388 22.238L7.388 22.535L6.165 22.613L6.165 21.992Q5.997 22.281 5.716 22.447Q5.435 22.613 5.115 22.613Q3.798 22.613 3.798 21.582M8.458 21.574L8.458 19.383L7.755 19.383L7.755 19.129Q8.111 19.129 8.353 18.896Q8.595 18.664 8.706 18.316Q8.818 17.969 8.818 17.613L9.099 17.613L9.099 19.086L10.275 19.086L10.275 19.383L9.099 19.383L9.099 21.558Q9.099 21.879 9.218 22.107Q9.337 22.336 9.618 22.336Q9.798 22.336 9.915 22.213Q10.033 22.090 10.085 21.910Q10.138 21.730 10.138 21.558L10.138 21.086L10.419 21.086L10.419 21.574Q10.419 21.828 10.314 22.068Q10.208 22.308 10.011 22.461Q9.814 22.613 9.556 22.613Q9.240 22.613 8.988 22.490Q8.736 22.367 8.597 22.133Q8.458 21.898 8.458 21.574",[791],[775,1107,1108],{"transform":1101},[787,1109],{"d":1110,"fill":777,"stroke":777,"className":1111,"style":792},"M17.398 22.535L14.254 22.535Q14.156 22.504 14.156 22.406L14.184 22.305Q14.215 22.250 14.277 22.238Q14.719 22.238 14.877 22.199Q15.035 22.160 15.078 21.933L16.156 17.613Q16.184 17.547 16.184 17.480Q16.184 17.422 16.117 17.398Q15.973 17.367 15.551 17.367Q15.445 17.340 15.445 17.238L15.477 17.137Q15.512 17.078 15.566 17.070L18.527 17.070Q18.891 17.070 19.254 17.187Q19.617 17.305 19.859 17.558Q20.102 17.812 20.102 18.191Q20.102 18.590 19.832 18.902Q19.563 19.215 19.166 19.412Q18.770 19.609 18.383 19.680Q18.906 19.734 19.297 20.029Q19.688 20.324 19.688 20.816Q19.688 21.195 19.469 21.515Q19.250 21.836 18.906 22.058Q18.563 22.281 18.158 22.408Q17.754 22.535 17.398 22.535M15.727 22.191Q15.727 22.238 15.973 22.238L17.238 22.238Q17.641 22.238 18.021 22.039Q18.402 21.840 18.641 21.494Q18.879 21.148 18.879 20.750Q18.879 20.348 18.621 20.086Q18.363 19.824 17.957 19.824L16.301 19.824L15.758 21.992Q15.727 22.117 15.727 22.191M16.840 17.672L16.367 19.566L17.672 19.566Q18.047 19.566 18.430 19.387Q18.813 19.207 19.064 18.887Q19.316 18.566 19.316 18.183Q19.316 17.816 19.070 17.592Q18.824 17.367 18.453 17.367L17.246 17.367Q17.074 17.367 17.012 17.381Q16.949 17.394 16.916 17.453Q16.883 17.512 16.840 17.672",[791],[775,1113,1116,1119],{"fill":955,"stroke":1114,"style":1115},"var(--tk-accent)","stroke-width:.8",[787,1117],{"d":1118},"M-23.359 51.7h18.495V33.204H-23.36Z",[775,1120,1122],{"transform":1121},"translate(-2.312 22.817)",[787,1123],{"d":838,"fill":777,"stroke":777,"className":1124,"style":809},[791],[775,1126,1127,1130],{"fill":955,"stroke":1114,"style":1115},[787,1128],{"d":1129},"M-2.873 51.7h18.495V33.204H-2.873Z",[775,1131,1133],{"transform":1132},"translate(18.174 22.817)",[787,1134],{"d":838,"fill":777,"stroke":777,"className":1135,"style":809},[791],[775,1137,1138,1141],{"fill":955,"stroke":1114,"style":1115},[787,1139],{"d":1140},"M17.613 51.7h18.495V33.204H17.613Z",[775,1142,1144],{"transform":1143},"translate(38.66 22.817)",[787,1145],{"d":807,"fill":777,"stroke":777,"className":1146,"style":809},[791],[775,1148,1149,1152],{"fill":955,"stroke":1114,"style":1115},[787,1150],{"d":1151},"M38.1 51.7h18.494V33.204H38.099Z",[775,1153,1155],{"transform":1154},"translate(59.146 22.817)",[787,1156],{"d":807,"fill":777,"stroke":777,"className":1157,"style":809},[791],[775,1159,1160,1163],{"fill":955,"stroke":1114,"style":1115},[787,1161],{"d":1162},"M58.585 51.7H77.08V33.204H58.585Z",[775,1164,1166],{"transform":1165},"translate(79.632 22.817)",[787,1167],{"d":828,"fill":777,"stroke":777,"className":1168,"style":809},[791],[775,1170,1171,1174],{"fill":955,"stroke":1114,"style":1115},[787,1172],{"d":1173},"M79.071 51.7h18.495V33.204H79.07Z",[775,1175,1177],{"transform":1176},"translate(100.118 22.817)",[787,1178],{"d":828,"fill":777,"stroke":777,"className":1179,"style":809},[791],[775,1181,1182,1185],{"fill":955,"stroke":1114,"style":1115},[787,1183],{"d":1184},"M99.557 51.7h18.495V33.204H99.557Z",[775,1186,1188],{"transform":1187},"translate(120.604 22.817)",[787,1189],{"d":828,"fill":777,"stroke":777,"className":1190,"style":809},[791],[775,1192,1193,1196],{"fill":955,"stroke":1114,"style":1115},[787,1194],{"d":1195},"M120.043 51.7h18.495V33.204h-18.495Z",[775,1197,1199],{"transform":1198},"translate(141.09 22.817)",[787,1200],{"d":818,"fill":777,"stroke":777,"className":1201,"style":809},[791],[1203,1204,1207,1208,1317,1318,463],"figcaption",{"className":1205},[1206],"tikz-cap","Counting sort on ",[395,1209,1211],{"className":1210},[398],[395,1212,1214,1234],{"className":1213,"ariaHidden":403},[402],[395,1215,1217,1220,1224,1227,1231],{"className":1216},[407],[395,1218],{"className":1219,"style":709},[411],[395,1221,1223],{"className":1222},[416,426],"A",[395,1225],{"className":1226,"style":593},[431],[395,1228,1230],{"className":1229},[588],"=",[395,1232],{"className":1233,"style":593},[431],[395,1235,1237,1240,1244,1248,1251,1254,1258,1261,1264,1268,1271,1274,1277,1280,1283,1286,1289,1292,1295,1298,1301,1304,1307,1310,1313],{"className":1236},[407],[395,1238],{"className":1239,"style":412},[411],[395,1241,1243],{"className":1242},[421],"⟨",[395,1245,1247],{"className":1246},[416],"2",[395,1249,513],{"className":1250},[512],[395,1252],{"className":1253,"style":432},[431],[395,1255,1257],{"className":1256},[416],"5",[395,1259,513],{"className":1260},[512],[395,1262],{"className":1263,"style":432},[431],[395,1265,1267],{"className":1266},[416],"3",[395,1269,513],{"className":1270},[512],[395,1272],{"className":1273,"style":432},[431],[395,1275,508],{"className":1276},[416],[395,1278,513],{"className":1279},[512],[395,1281],{"className":1282,"style":432},[431],[395,1284,1247],{"className":1285},[416],[395,1287,513],{"className":1288},[512],[395,1290],{"className":1291,"style":432},[431],[395,1293,1267],{"className":1294},[416],[395,1296,513],{"className":1297},[512],[395,1299],{"className":1300,"style":432},[431],[395,1302,508],{"className":1303},[416],[395,1305,513],{"className":1306},[512],[395,1308],{"className":1309,"style":432},[431],[395,1311,1267],{"className":1312},[416],[395,1314,1316],{"className":1315},[452],"⟩",": tally counts, prefix-sum into ranks, then scatter into the output ",[395,1319,1321],{"className":1320},[398],[395,1322,1324],{"className":1323,"ariaHidden":403},[402],[395,1325,1327,1330],{"className":1326},[407],[395,1328],{"className":1329,"style":709},[411],[395,1331,714],{"className":1332,"style":713},[416,426],[381,1334,1335,1336,1351,1352,1396,1397,1441,1442,1466,1467,1491,1492,1508,1509,1512,1513,1528,1529,1544,1545,1569],{},"Zooming in on the scatter loop makes the mechanism, and the stability, concrete.\nReading ",[395,1337,1339],{"className":1338},[398],[395,1340,1342],{"className":1341,"ariaHidden":403},[402],[395,1343,1345,1348],{"className":1344},[407],[395,1346],{"className":1347,"style":709},[411],[395,1349,1223],{"className":1350},[416,426]," from the back, the last key ",[395,1353,1355],{"className":1354},[398],[395,1356,1358,1387],{"className":1357,"ariaHidden":403},[402],[395,1359,1361,1364,1367,1371,1374,1378,1381,1384],{"className":1360},[407],[395,1362],{"className":1363,"style":412},[411],[395,1365,1223],{"className":1366},[416,426],[395,1368,1370],{"className":1369},[421],"[",[395,1372,782],{"className":1373},[416],[395,1375,1377],{"className":1376},[452],"]",[395,1379],{"className":1380,"style":593},[431],[395,1382,1230],{"className":1383},[588],[395,1385],{"className":1386,"style":593},[431],[395,1388,1390,1393],{"className":1389},[407],[395,1391],{"className":1392,"style":744},[411],[395,1394,1267],{"className":1395},[416]," looks up its rank ",[395,1398,1400],{"className":1399},[398],[395,1401,1403,1432],{"className":1402,"ariaHidden":403},[402],[395,1404,1406,1409,1414,1417,1420,1423,1426,1429],{"className":1405},[407],[395,1407],{"className":1408,"style":412},[411],[395,1410,1413],{"className":1411,"style":1412},[416,426],"margin-right:0.0715em;","C",[395,1415,1370],{"className":1416},[421],[395,1418,1267],{"className":1419},[416],[395,1421,1377],{"className":1422},[452],[395,1424],{"className":1425,"style":593},[431],[395,1427,1230],{"className":1428},[588],[395,1430],{"className":1431,"style":593},[431],[395,1433,1435,1438],{"className":1434},[407],[395,1436],{"className":1437,"style":744},[411],[395,1439,880],{"className":1440},[416]," and\ndrops straight into ",[395,1443,1445],{"className":1444},[398],[395,1446,1448],{"className":1447,"ariaHidden":403},[402],[395,1449,1451,1454,1457,1460,1463],{"className":1450},[407],[395,1452],{"className":1453,"style":412},[411],[395,1455,714],{"className":1456,"style":713},[416,426],[395,1458,1370],{"className":1459},[421],[395,1461,880],{"className":1462},[416],[395,1464,1377],{"className":1465},[452],"; we then decrement ",[395,1468,1470],{"className":1469},[398],[395,1471,1473],{"className":1472,"ariaHidden":403},[402],[395,1474,1476,1479,1482,1485,1488],{"className":1475},[407],[395,1477],{"className":1478,"style":412},[411],[395,1480,1413],{"className":1481,"style":1412},[416,426],[395,1483,1370],{"className":1484},[421],[395,1486,1267],{"className":1487},[416],[395,1489,1377],{"className":1490},[452]," to ",[395,1493,1495],{"className":1494},[398],[395,1496,1498],{"className":1497,"ariaHidden":403},[402],[395,1499,1501,1504],{"className":1500},[407],[395,1502],{"className":1503,"style":744},[411],[395,1505,1507],{"className":1506},[416],"6",", so the ",[390,1510,1511],{},"next"," ",[395,1514,1516],{"className":1515},[398],[395,1517,1519],{"className":1518,"ariaHidden":403},[402],[395,1520,1522,1525],{"className":1521},[407],[395,1523],{"className":1524,"style":744},[411],[395,1526,1267],{"className":1527},[416]," we\nmeet (an earlier one in ",[395,1530,1532],{"className":1531},[398],[395,1533,1535],{"className":1534,"ariaHidden":403},[402],[395,1536,1538,1541],{"className":1537},[407],[395,1539],{"className":1540,"style":709},[411],[395,1542,1223],{"className":1543},[416,426],") lands in ",[395,1546,1548],{"className":1547},[398],[395,1549,1551],{"className":1550,"ariaHidden":403},[402],[395,1552,1554,1557,1560,1563,1566],{"className":1553},[407],[395,1555],{"className":1556,"style":412},[411],[395,1558,714],{"className":1559,"style":713},[416,426],[395,1561,1370],{"className":1562},[421],[395,1564,1507],{"className":1565},[416],[395,1567,1377],{"className":1568},[452],", just before it, preserving input order.",[762,1571,1573,2007],{"className":1572},[765,766],[768,1574,1578],{"xmlns":770,"width":1575,"height":1576,"viewBox":1577},"290.876","203.091","-75 -75 218.157 152.318",[775,1579,1580,1595,1598,1605,1608,1615,1618,1625,1628,1635,1638,1644,1647,1653,1656,1662,1674,1689,1704,1711,1718,1725,1732,1739,1746,1761,1772,1783,1795,1807,1818,1830,1852,1867,1870,1881,1887,1893,1899,1905,1911,1918,1924,1931,1939,1972,1980],{"stroke":777,"style":778},[775,1581,1582,1589],{"stroke":781,"fontSize":782},[775,1583,1585],{"transform":1584},"translate(-42.525 -66.33)",[787,1586],{"d":1587,"fill":777,"stroke":777,"className":1588,"style":792},"M-12.014 5.864L-13.792 5.864L-13.792 5.567Q-13.518 5.567-13.350 5.520Q-13.182 5.473-13.182 5.305L-13.182 3.169Q-13.182 2.954-13.239 2.858Q-13.296 2.762-13.409 2.741Q-13.522 2.719-13.768 2.719L-13.768 2.423L-12.569 2.337L-12.569 5.305Q-12.569 5.473-12.423 5.520Q-12.276 5.567-12.014 5.567L-12.014 5.864M-13.456 0.942Q-13.456 0.751-13.321 0.620Q-13.186 0.489-12.991 0.489Q-12.870 0.489-12.766 0.551Q-12.663 0.614-12.600 0.718Q-12.538 0.821-12.538 0.942Q-12.538 1.137-12.669 1.272Q-12.800 1.407-12.991 1.407Q-13.190 1.407-13.323 1.274Q-13.456 1.141-13.456 0.942M-9.585 5.864L-11.440 5.864L-11.440 5.567Q-11.167 5.567-10.999 5.520Q-10.831 5.473-10.831 5.305L-10.831 3.169Q-10.831 2.954-10.893 2.858Q-10.956 2.762-11.075 2.741Q-11.194 2.719-11.440 2.719L-11.440 2.423L-10.249 2.337L-10.249 3.071Q-10.135 2.856-9.942 2.688Q-9.749 2.520-9.510 2.428Q-9.272 2.337-9.018 2.337Q-7.850 2.337-7.850 3.415L-7.850 5.305Q-7.850 5.473-7.680 5.520Q-7.510 5.567-7.241 5.567L-7.241 5.864L-9.096 5.864L-9.096 5.567Q-8.823 5.567-8.655 5.520Q-8.487 5.473-8.487 5.305L-8.487 3.430Q-8.487 3.048-8.608 2.819Q-8.729 2.591-9.081 2.591Q-9.393 2.591-9.647 2.753Q-9.901 2.915-10.048 3.184Q-10.194 3.454-10.194 3.751L-10.194 5.305Q-10.194 5.473-10.024 5.520Q-9.854 5.567-9.585 5.567L-9.585 5.864M-4.913 7.415L-6.768 7.415L-6.768 7.122Q-6.499 7.122-6.331 7.077Q-6.163 7.032-6.163 6.856L-6.163 3.032Q-6.163 2.825-6.319 2.772Q-6.475 2.719-6.768 2.719L-6.768 2.423L-5.546 2.337L-5.546 2.801Q-5.315 2.579-5.001 2.458Q-4.686 2.337-4.346 2.337Q-3.874 2.337-3.469 2.583Q-3.065 2.829-2.833 3.245Q-2.600 3.661-2.600 4.137Q-2.600 4.512-2.749 4.841Q-2.897 5.169-3.167 5.421Q-3.436 5.673-3.780 5.807Q-4.124 5.942-4.483 5.942Q-4.772 5.942-5.044 5.821Q-5.315 5.700-5.522 5.489L-5.522 6.856Q-5.522 7.032-5.354 7.077Q-5.186 7.122-4.913 7.122L-4.913 7.415M-5.522 3.200L-5.522 5.040Q-5.370 5.329-5.108 5.509Q-4.846 5.688-4.538 5.688Q-4.253 5.688-4.030 5.550Q-3.807 5.411-3.655 5.180Q-3.503 4.950-3.425 4.678Q-3.346 4.407-3.346 4.137Q-3.346 3.805-3.471 3.448Q-3.596 3.091-3.844 2.854Q-4.092 2.618-4.440 2.618Q-4.764 2.618-5.059 2.774Q-5.354 2.930-5.522 3.200M-1.393 4.911L-1.393 3.169Q-1.393 2.954-1.456 2.858Q-1.518 2.762-1.637 2.741Q-1.757 2.719-2.003 2.719L-2.003 2.423L-0.757 2.337L-0.757 4.887L-0.757 4.911Q-0.757 5.223-0.702 5.385Q-0.647 5.548-0.497 5.618Q-0.346 5.688-0.026 5.688Q0.404 5.688 0.677 5.350Q0.950 5.012 0.950 4.567L0.950 3.169Q0.950 2.954 0.888 2.858Q0.825 2.762 0.706 2.741Q0.587 2.719 0.341 2.719L0.341 2.423L1.587 2.337L1.587 5.122Q1.587 5.333 1.650 5.428Q1.712 5.524 1.831 5.546Q1.950 5.567 2.197 5.567L2.197 5.864L0.974 5.942L0.974 5.321Q0.806 5.610 0.525 5.776Q0.243 5.942-0.077 5.942Q-1.393 5.942-1.393 4.911M3.267 4.903L3.267 2.712L2.564 2.712L2.564 2.458Q2.919 2.458 3.161 2.225Q3.404 1.993 3.515 1.645Q3.626 1.298 3.626 0.942L3.908 0.942L3.908 2.415L5.083 2.415L5.083 2.712L3.908 2.712L3.908 4.887Q3.908 5.208 4.027 5.436Q4.146 5.665 4.427 5.665Q4.607 5.665 4.724 5.542Q4.841 5.419 4.894 5.239Q4.947 5.059 4.947 4.887L4.947 4.415L5.228 4.415L5.228 4.903Q5.228 5.157 5.122 5.397Q5.017 5.637 4.820 5.790Q4.622 5.942 4.365 5.942Q4.048 5.942 3.796 5.819Q3.544 5.696 3.406 5.462Q3.267 5.227 3.267 4.903",[791],[775,1590,1591],{"transform":1584},[787,1592],{"d":1593,"fill":777,"stroke":777,"className":1594,"style":792},"M10.524 5.864L8.961 5.864Q8.922 5.864 8.895 5.823Q8.867 5.782 8.867 5.735L8.891 5.634Q8.934 5.575 8.989 5.567Q9.313 5.567 9.555 5.423Q9.700 5.337 9.817 5.184Q9.934 5.032 9.981 4.993L12.930 0.262Q12.996 0.153 13.121 0.153L13.203 0.153Q13.317 0.153 13.340 0.262L13.981 5.407Q14.035 5.567 14.578 5.567Q14.676 5.598 14.676 5.688L14.653 5.794Q14.617 5.852 14.555 5.864L12.555 5.864Q12.520 5.864 12.489 5.823Q12.457 5.782 12.457 5.735L12.485 5.634Q12.516 5.579 12.578 5.567Q13.172 5.567 13.203 5.360L13.043 4.055L10.883 4.055L10.227 5.094Q10.219 5.141 10.188 5.214Q10.157 5.286 10.157 5.329Q10.157 5.462 10.276 5.514Q10.395 5.567 10.539 5.567Q10.633 5.598 10.633 5.688L10.610 5.794Q10.578 5.852 10.524 5.864M12.684 1.176L11.067 3.759L13.004 3.759",[791],[787,1596],{"fill":781,"d":1597},"M-23.359-53.176h18.495V-71.67H-23.36Z",[775,1599,1601],{"transform":1600},"translate(-2.312 -65.386)",[787,1602],{"d":1603,"fill":777,"stroke":777,"className":1604,"style":809},"M-10.205 5.864L-13.655 5.864L-13.655 5.631Q-13.655 5.618-13.624 5.587L-12.170 4.010Q-11.704 3.513-11.451 3.208Q-11.198 2.902-11.007 2.491Q-10.816 2.080-10.816 1.641Q-10.816 1.052-11.139 0.619Q-11.462 0.186-12.042 0.186Q-12.306 0.186-12.552 0.296Q-12.798 0.406-12.974 0.593Q-13.150 0.780-13.246 1.030L-13.167 1.030Q-12.965 1.030-12.822 1.166Q-12.679 1.302-12.679 1.518Q-12.679 1.724-12.822 1.863Q-12.965 2.001-13.167 2.001Q-13.369 2.001-13.512 1.858Q-13.655 1.716-13.655 1.518Q-13.655 1.056-13.418 0.683Q-13.180 0.309-12.780 0.090Q-12.381-0.130-11.932-0.130Q-11.409-0.130-10.955 0.085Q-10.500 0.301-10.227 0.700Q-9.955 1.100-9.955 1.641Q-9.955 2.036-10.126 2.390Q-10.298 2.744-10.563 3.023Q-10.829 3.302-11.280 3.687Q-11.730 4.071-11.809 4.146L-12.833 5.108L-12.016 5.108Q-11.365 5.108-10.928 5.097Q-10.491 5.086-10.460 5.064Q-10.390 4.981-10.335 4.741Q-10.280 4.502-10.240 4.234L-9.955 4.234",[791],[787,1606],{"fill":781,"d":1607},"M-2.873-53.176h18.495V-71.67H-2.873Z",[775,1609,1611],{"transform":1610},"translate(18.174 -65.386)",[787,1612],{"d":1613,"fill":777,"stroke":777,"className":1614,"style":809},"M-13.286 4.858Q-13.145 5.271-12.785 5.523Q-12.425 5.776-11.989 5.776Q-11.537 5.776-11.271 5.523Q-11.005 5.271-10.902 4.886Q-10.799 4.502-10.799 4.045Q-10.799 2.344-11.708 2.344Q-12.029 2.344-12.258 2.438Q-12.486 2.533-12.616 2.652Q-12.745 2.770-12.857 2.909Q-12.969 3.047-13.005 3.056L-13.088 3.056Q-13.132 3.056-13.163 3.025Q-13.194 2.994-13.194 2.946L-13.194-0.051Q-13.194-0.082-13.158-0.106Q-13.123-0.130-13.097-0.130L-13.057-0.130Q-12.425 0.160-11.752 0.160Q-11.080 0.160-10.438-0.130L-10.412-0.130Q-10.381-0.130-10.348-0.108Q-10.315-0.086-10.315-0.051L-10.315 0.050Q-10.315 0.054-10.324 0.072Q-10.333 0.090-10.333 0.094Q-10.649 0.489-11.119 0.711Q-11.590 0.933-12.086 0.933Q-12.495 0.933-12.877 0.823L-12.877 2.542Q-12.420 2.085-11.708 2.085Q-11.198 2.085-10.799 2.366Q-10.399 2.647-10.177 3.102Q-9.955 3.557-9.955 4.062Q-9.955 4.612-10.234 5.071Q-10.513 5.530-10.979 5.796Q-11.445 6.062-11.989 6.062Q-12.429 6.062-12.813 5.835Q-13.198 5.609-13.426 5.229Q-13.655 4.849-13.655 4.405Q-13.655 4.212-13.523 4.080Q-13.391 3.948-13.194 3.948Q-13.062 3.948-12.958 4.007Q-12.855 4.067-12.796 4.170Q-12.737 4.273-12.737 4.405Q-12.737 4.603-12.864 4.735Q-12.991 4.866-13.194 4.866Q-13.255 4.866-13.286 4.858",[791],[787,1616],{"fill":781,"d":1617},"M17.613-53.176h18.495V-71.67H17.613Z",[775,1619,1621],{"transform":1620},"translate(38.66 -65.386)",[787,1622],{"d":1623,"fill":777,"stroke":777,"className":1624,"style":809},"M-13.211 5.143L-13.255 5.143Q-13.053 5.460-12.666 5.618Q-12.279 5.776-11.853 5.776Q-11.317 5.776-11.078 5.341Q-10.838 4.906-10.838 4.326Q-10.838 3.746-11.084 3.306Q-11.330 2.867-11.862 2.867L-12.482 2.867Q-12.508 2.867-12.541 2.838Q-12.574 2.810-12.574 2.788L-12.574 2.687Q-12.574 2.656-12.545 2.632Q-12.517 2.608-12.482 2.608L-11.963 2.568Q-11.497 2.568-11.251 2.096Q-11.005 1.623-11.005 1.105Q-11.005 0.678-11.218 0.404Q-11.431 0.129-11.853 0.129Q-12.196 0.129-12.521 0.259Q-12.846 0.388-13.031 0.643L-13.005 0.643Q-12.802 0.643-12.666 0.784Q-12.530 0.925-12.530 1.122Q-12.530 1.320-12.664 1.454Q-12.798 1.588-12.996 1.588Q-13.198 1.588-13.336 1.454Q-13.475 1.320-13.475 1.122Q-13.475 0.533-12.972 0.202Q-12.468-0.130-11.853-0.130Q-11.475-0.130-11.073 0.010Q-10.671 0.151-10.403 0.430Q-10.135 0.709-10.135 1.105Q-10.135 1.654-10.489 2.091Q-10.842 2.529-11.383 2.713Q-10.992 2.792-10.647 3.016Q-10.302 3.240-10.091 3.581Q-9.880 3.922-9.880 4.317Q-9.880 4.699-10.043 5.022Q-10.205 5.345-10.497 5.581Q-10.790 5.816-11.137 5.939Q-11.484 6.062-11.853 6.062Q-12.301 6.062-12.732 5.901Q-13.163 5.741-13.444 5.414Q-13.725 5.086-13.725 4.629Q-13.725 4.414-13.578 4.271Q-13.431 4.128-13.211 4.128Q-13 4.128-12.855 4.273Q-12.710 4.418-12.710 4.629Q-12.710 4.840-12.857 4.992Q-13.005 5.143-13.211 5.143",[791],[787,1626],{"fill":781,"d":1627},"M38.1-53.176h18.494V-71.67H38.099Z",[775,1629,1631],{"transform":1630},"translate(59.146 -65.386)",[787,1632],{"d":1633,"fill":777,"stroke":777,"className":1634,"style":809},"M-11.800 6.062Q-12.925 6.062-13.339 5.165Q-13.752 4.269-13.752 2.994Q-13.752 2.221-13.602 1.522Q-13.453 0.823-13.018 0.347Q-12.583-0.130-11.800-0.130Q-11.023-0.130-10.588 0.349Q-10.153 0.828-10.003 1.524Q-9.854 2.221-9.854 2.994Q-9.854 4.273-10.267 5.167Q-10.680 6.062-11.800 6.062M-11.800 5.802Q-11.282 5.802-11.031 5.291Q-10.781 4.779-10.724 4.168Q-10.667 3.557-10.667 2.849Q-10.667 2.164-10.724 1.604Q-10.781 1.043-11.034 0.586Q-11.286 0.129-11.800 0.129Q-12.205 0.129-12.442 0.406Q-12.679 0.683-12.787 1.124Q-12.895 1.566-12.919 1.959Q-12.943 2.353-12.943 2.849Q-12.943 3.355-12.919 3.783Q-12.895 4.212-12.787 4.695Q-12.679 5.178-12.440 5.490Q-12.200 5.802-11.800 5.802",[791],[787,1636],{"fill":781,"d":1637},"M58.585-53.176H77.08V-71.67H58.585Z",[775,1639,1641],{"transform":1640},"translate(79.632 -65.386)",[787,1642],{"d":1603,"fill":777,"stroke":777,"className":1643,"style":809},[791],[787,1645],{"fill":781,"d":1646},"M79.071-53.176h18.495V-71.67H79.07Z",[775,1648,1650],{"transform":1649},"translate(100.118 -65.386)",[787,1651],{"d":1623,"fill":777,"stroke":777,"className":1652,"style":809},[791],[787,1654],{"fill":781,"d":1655},"M99.557-53.176h18.495V-71.67H99.557Z",[775,1657,1659],{"transform":1658},"translate(120.604 -65.386)",[787,1660],{"d":1633,"fill":777,"stroke":777,"className":1661,"style":809},[791],[775,1663,1665,1668],{"fill":955,"stroke":1114,"style":1664},"stroke-width:1.2",[787,1666],{"d":1667},"M120.043-53.176h18.495V-71.67h-18.495Z",[775,1669,1671],{"transform":1670},"translate(141.09 -65.386)",[787,1672],{"d":1623,"fill":777,"stroke":777,"className":1673,"style":809},[791],[775,1675,1676,1683],{"fill":1114,"stroke":781,"fontSize":880},[775,1677,1679],{"transform":1678},"translate(136.138 -48.123)",[787,1680],{"d":1681,"fill":1114,"stroke":1114,"className":1682,"style":888},"M-12.215 5.864L-13.630 5.864Q-13.664 5.864-13.688 5.828Q-13.712 5.792-13.712 5.751L-13.685 5.638Q-13.657 5.591-13.610 5.584Q-13.049 5.584-12.755 5.143Q-12.752 5.136-12.738 5.124Q-12.724 5.112-12.717 5.102L-10.072 0.969Q-10.014 0.874-9.904 0.874L-9.816 0.874Q-9.716 0.874-9.696 0.969L-9.070 5.450Q-9.016 5.584-8.520 5.584Q-8.435 5.611-8.435 5.690L-8.462 5.802Q-8.489 5.854-8.541 5.864L-10.359 5.864Q-10.393 5.864-10.419 5.828Q-10.445 5.792-10.445 5.751L-10.417 5.638Q-10.373 5.591-10.332 5.584Q-9.836 5.584-9.771 5.423L-9.932 4.295L-11.907 4.295L-12.482 5.191Q-12.536 5.310-12.536 5.382Q-12.536 5.584-12.195 5.584Q-12.109 5.611-12.109 5.690L-12.136 5.802Q-12.167 5.857-12.215 5.864M-10.291 1.769L-11.726 4.015L-9.976 4.015",[791],[775,1684,1685],{"transform":1678},[787,1686],{"d":1687,"fill":1114,"stroke":1114,"className":1688,"style":888},"M-6.068 7.614L-7.144 7.614L-7.144 0.614L-6.068 0.614L-6.068 0.956L-6.803 0.956L-6.803 7.272L-6.068 7.272L-6.068 7.614M-5.456 4.787Q-5.456 4.346-5.153 4.025Q-4.851 3.704-4.400 3.512L-4.639 3.372Q-4.909 3.212-5.075 2.954Q-5.241 2.696-5.241 2.398Q-5.241 2.046-5.036 1.774Q-4.830 1.503-4.509 1.359Q-4.188 1.216-3.846 1.216Q-3.525 1.216-3.202 1.332Q-2.879 1.448-2.667 1.689Q-2.455 1.930-2.455 2.265Q-2.455 2.627-2.699 2.890Q-2.944 3.154-3.323 3.331L-2.923 3.567Q-2.728 3.680-2.569 3.849Q-2.411 4.018-2.323 4.227Q-2.236 4.435-2.236 4.668Q-2.236 5.071-2.470 5.375Q-2.704 5.679-3.079 5.842Q-3.453 6.004-3.846 6.004Q-4.232 6.004-4.601 5.867Q-4.971 5.731-5.213 5.454Q-5.456 5.177-5.456 4.787M-5.008 4.787Q-5.008 5.074-4.839 5.297Q-4.670 5.519-4.401 5.635Q-4.133 5.751-3.846 5.751Q-3.409 5.751-3.046 5.534Q-2.684 5.317-2.684 4.910Q-2.684 4.709-2.812 4.531Q-2.940 4.353-3.118 4.254L-4.140 3.659Q-4.379 3.769-4.577 3.935Q-4.776 4.100-4.892 4.316Q-5.008 4.531-5.008 4.787M-4.485 2.658L-3.566 3.191Q-3.258 3.031-3.056 2.798Q-2.855 2.566-2.855 2.265Q-2.855 2.026-3 1.836Q-3.145 1.646-3.378 1.547Q-3.610 1.448-3.846 1.448Q-4.068 1.448-4.297 1.518Q-4.526 1.588-4.683 1.745Q-4.841 1.903-4.841 2.132Q-4.841 2.446-4.485 2.658M-0.551 7.614L-1.628 7.614L-1.628 7.272L-0.893 7.272L-0.893 0.956L-1.628 0.956L-1.628 0.614L-0.551 0.614",[791],[775,1690,1691,1698],{"fill":878,"stroke":781,"fontFamily":879,"fontSize":880},[775,1692,1694],{"transform":1693},"translate(-36.027 -27.445)",[787,1695],{"d":1696,"fill":878,"stroke":878,"className":1697,"style":888},"M-12.208 5.837L-13.336 3.338Q-13.408 3.191-13.538 3.159Q-13.668 3.126-13.897 3.126L-13.897 2.846L-12.383 2.846L-12.383 3.126Q-12.735 3.126-12.735 3.273Q-12.735 3.318-12.724 3.338L-11.860 5.256L-11.080 3.526Q-11.046 3.458-11.046 3.379Q-11.046 3.266-11.130 3.196Q-11.214 3.126-11.333 3.126L-11.333 2.846L-10.137 2.846L-10.137 3.126Q-10.356 3.126-10.527 3.229Q-10.697 3.331-10.786 3.526L-11.822 5.837Q-11.870 5.932-11.976 5.932L-12.054 5.932Q-12.160 5.932-12.208 5.837",[791],[775,1699,1700],{"transform":1693},[787,1701],{"d":1702,"fill":878,"stroke":878,"className":1703,"style":888},"M-9.968 5.136Q-9.968 4.804-9.745 4.577Q-9.521 4.350-9.177 4.222Q-8.834 4.093-8.461 4.041Q-8.089 3.988-7.784 3.988L-7.784 3.735Q-7.784 3.530-7.892 3.350Q-8 3.171-8.181 3.068Q-8.362 2.966-8.570 2.966Q-8.977 2.966-9.213 3.058Q-9.124 3.095-9.078 3.179Q-9.032 3.263-9.032 3.365Q-9.032 3.461-9.078 3.540Q-9.124 3.618-9.205 3.663Q-9.285 3.707-9.374 3.707Q-9.524 3.707-9.625 3.610Q-9.726 3.512-9.726 3.365Q-9.726 2.743-8.570 2.743Q-8.359 2.743-8.109 2.807Q-7.860 2.870-7.658 2.989Q-7.456 3.109-7.330 3.294Q-7.203 3.478-7.203 3.721L-7.203 5.297Q-7.203 5.413-7.142 5.509Q-7.080 5.604-6.967 5.604Q-6.858 5.604-6.793 5.510Q-6.728 5.416-6.728 5.297L-6.728 4.849L-6.462 4.849L-6.462 5.297Q-6.462 5.567-6.689 5.732Q-6.916 5.898-7.196 5.898Q-7.405 5.898-7.542 5.744Q-7.678 5.591-7.702 5.375Q-7.849 5.642-8.131 5.787Q-8.413 5.932-8.738 5.932Q-9.015 5.932-9.299 5.857Q-9.582 5.782-9.775 5.603Q-9.968 5.423-9.968 5.136M-9.353 5.136Q-9.353 5.310-9.252 5.440Q-9.152 5.570-8.996 5.640Q-8.841 5.710-8.676 5.710Q-8.458 5.710-8.249 5.613Q-8.041 5.515-7.913 5.334Q-7.784 5.153-7.784 4.927L-7.784 4.199Q-8.109 4.199-8.475 4.290Q-8.841 4.381-9.097 4.593Q-9.353 4.804-9.353 5.136M-4.377 5.864L-5.980 5.864L-5.980 5.584Q-5.754 5.584-5.605 5.550Q-5.457 5.515-5.457 5.375L-5.457 1.756Q-5.457 1.486-5.564 1.424Q-5.672 1.363-5.980 1.363L-5.980 1.082L-4.903 1.007L-4.903 5.375Q-4.903 5.512-4.753 5.548Q-4.602 5.584-4.377 5.584L-4.377 5.864M-3.208 5.030L-3.208 3.526Q-3.208 3.256-3.315 3.195Q-3.423 3.133-3.734 3.133L-3.734 2.853L-2.627 2.778L-2.627 5.010L-2.627 5.030Q-2.627 5.310-2.575 5.454Q-2.524 5.597-2.382 5.654Q-2.240 5.710-1.953 5.710Q-1.700 5.710-1.495 5.570Q-1.290 5.430-1.174 5.204Q-1.058 4.979-1.058 4.729L-1.058 3.526Q-1.058 3.256-1.165 3.195Q-1.273 3.133-1.584 3.133L-1.584 2.853L-0.477 2.778L-0.477 5.191Q-0.477 5.382-0.424 5.464Q-0.371 5.546-0.270 5.565Q-0.169 5.584 0.046 5.584L0.046 5.864L-1.030 5.932L-1.030 5.368Q-1.140 5.550-1.285 5.673Q-1.430 5.796-1.617 5.864Q-1.803 5.932-2.005 5.932Q-3.208 5.932-3.208 5.030M0.593 4.329Q0.593 4.008 0.718 3.719Q0.843 3.430 1.068 3.207Q1.294 2.983 1.589 2.863Q1.885 2.743 2.203 2.743Q2.531 2.743 2.793 2.843Q3.054 2.942 3.230 3.124Q3.406 3.307 3.500 3.565Q3.594 3.823 3.594 4.155Q3.594 4.247 3.512 4.268L1.256 4.268L1.256 4.329Q1.256 4.917 1.540 5.300Q1.824 5.683 2.391 5.683Q2.712 5.683 2.981 5.490Q3.249 5.297 3.338 4.982Q3.345 4.941 3.420 4.927L3.512 4.927Q3.594 4.951 3.594 5.023Q3.594 5.030 3.587 5.057Q3.474 5.454 3.104 5.693Q2.733 5.932 2.309 5.932Q1.871 5.932 1.472 5.724Q1.072 5.515 0.832 5.148Q0.593 4.781 0.593 4.329M1.263 4.059L3.078 4.059Q3.078 3.782 2.981 3.530Q2.883 3.277 2.685 3.121Q2.487 2.966 2.203 2.966Q1.926 2.966 1.712 3.124Q1.499 3.283 1.381 3.538Q1.263 3.793 1.263 4.059",[791],[775,1705,1707],{"transform":1706},"translate(-1.993 -27.62)",[787,1708],{"d":1709,"fill":878,"stroke":878,"className":1710,"style":888},"M-12.123 6.004Q-12.758 6.004-13.122 5.659Q-13.487 5.314-13.622 4.789Q-13.757 4.264-13.757 3.639Q-13.757 2.614-13.401 1.915Q-13.046 1.216-12.123 1.216Q-11.196 1.216-10.844 1.915Q-10.492 2.614-10.492 3.639Q-10.492 4.264-10.627 4.789Q-10.762 5.314-11.125 5.659Q-11.487 6.004-12.123 6.004M-12.123 5.779Q-11.685 5.779-11.472 5.404Q-11.258 5.030-11.208 4.563Q-11.159 4.097-11.159 3.519Q-11.159 2.966-11.208 2.538Q-11.258 2.111-11.470 1.776Q-11.682 1.441-12.123 1.441Q-12.465 1.441-12.668 1.648Q-12.871 1.855-12.958 2.167Q-13.046 2.480-13.068 2.796Q-13.090 3.113-13.090 3.519Q-13.090 3.936-13.068 4.278Q-13.046 4.620-12.957 4.968Q-12.868 5.317-12.663 5.548Q-12.458 5.779-12.123 5.779",[791],[775,1712,1714],{"transform":1713},"translate(18.493 -27.62)",[787,1715],{"d":1716,"fill":878,"stroke":878,"className":1717,"style":888},"M-10.786 5.864L-13.316 5.864L-13.316 5.584Q-12.348 5.584-12.348 5.375L-12.348 1.756Q-12.741 1.944-13.363 1.944L-13.363 1.663Q-12.946 1.663-12.582 1.562Q-12.218 1.462-11.962 1.216L-11.836 1.216Q-11.771 1.233-11.754 1.301L-11.754 5.375Q-11.754 5.584-10.786 5.584",[791],[775,1719,1721],{"transform":1720},"translate(38.979 -27.62)",[787,1722],{"d":1723,"fill":878,"stroke":878,"className":1724,"style":888},"M-10.786 5.864L-13.671 5.864L-13.671 5.662Q-13.671 5.632-13.644 5.604L-12.396 4.387Q-12.324 4.312-12.282 4.270Q-12.239 4.227-12.160 4.148Q-11.747 3.735-11.516 3.377Q-11.285 3.020-11.285 2.596Q-11.285 2.364-11.364 2.161Q-11.443 1.957-11.584 1.807Q-11.726 1.656-11.921 1.576Q-12.116 1.496-12.348 1.496Q-12.659 1.496-12.917 1.655Q-13.175 1.814-13.305 2.091L-13.285 2.091Q-13.117 2.091-13.010 2.202Q-12.902 2.313-12.902 2.477Q-12.902 2.634-13.011 2.747Q-13.121 2.860-13.285 2.860Q-13.445 2.860-13.558 2.747Q-13.671 2.634-13.671 2.477Q-13.671 2.101-13.463 1.814Q-13.254 1.527-12.919 1.371Q-12.584 1.216-12.229 1.216Q-11.805 1.216-11.425 1.374Q-11.046 1.533-10.812 1.850Q-10.578 2.166-10.578 2.596Q-10.578 2.907-10.718 3.176Q-10.858 3.444-11.063 3.649Q-11.268 3.854-11.631 4.136Q-11.993 4.418-12.102 4.514L-12.957 5.242L-12.314 5.242Q-12.051 5.242-11.762 5.240Q-11.473 5.239-11.255 5.230Q-11.036 5.221-11.019 5.204Q-10.957 5.139-10.920 4.972Q-10.882 4.804-10.844 4.562L-10.578 4.562",[791],[775,1726,1728],{"transform":1727},"translate(59.465 -27.62)",[787,1729],{"d":1730,"fill":878,"stroke":878,"className":1731,"style":888},"M-13.316 5.317Q-13.196 5.474-13.005 5.573Q-12.813 5.673-12.598 5.712Q-12.383 5.751-12.160 5.751Q-11.863 5.751-11.668 5.596Q-11.473 5.440-11.383 5.186Q-11.292 4.931-11.292 4.647Q-11.292 4.353-11.384 4.102Q-11.477 3.851-11.675 3.695Q-11.873 3.540-12.167 3.540L-12.683 3.540Q-12.711 3.540-12.736 3.514Q-12.762 3.489-12.762 3.465L-12.762 3.393Q-12.762 3.362-12.736 3.340Q-12.711 3.318-12.683 3.318L-12.242 3.287Q-11.880 3.287-11.660 2.930Q-11.439 2.572-11.439 2.183Q-11.439 1.855-11.634 1.651Q-11.829 1.448-12.160 1.448Q-12.447 1.448-12.700 1.532Q-12.953 1.615-13.117 1.803Q-12.970 1.803-12.870 1.918Q-12.769 2.032-12.769 2.183Q-12.769 2.333-12.875 2.443Q-12.981 2.552-13.138 2.552Q-13.299 2.552-13.408 2.443Q-13.517 2.333-13.517 2.183Q-13.517 1.858-13.309 1.639Q-13.100 1.421-12.784 1.318Q-12.468 1.216-12.160 1.216Q-11.842 1.216-11.514 1.320Q-11.186 1.424-10.959 1.646Q-10.732 1.868-10.732 2.183Q-10.732 2.617-11.019 2.942Q-11.306 3.266-11.740 3.413Q-11.429 3.478-11.149 3.644Q-10.868 3.810-10.691 4.068Q-10.513 4.326-10.513 4.647Q-10.513 5.057-10.757 5.367Q-11.002 5.676-11.383 5.840Q-11.764 6.004-12.160 6.004Q-12.529 6.004-12.887 5.891Q-13.244 5.779-13.488 5.529Q-13.733 5.280-13.733 4.910Q-13.733 4.739-13.616 4.627Q-13.500 4.514-13.329 4.514Q-13.220 4.514-13.129 4.565Q-13.039 4.616-12.984 4.709Q-12.929 4.801-12.929 4.910Q-12.929 5.078-13.042 5.197Q-13.155 5.317-13.316 5.317",[791],[775,1733,1735],{"transform":1734},"translate(79.951 -27.62)",[787,1736],{"d":1737,"fill":878,"stroke":878,"className":1738,"style":888},"M-11.795 4.716L-13.839 4.716L-13.839 4.435L-11.508 1.263Q-11.473 1.216-11.408 1.216L-11.272 1.216Q-11.227 1.216-11.200 1.243Q-11.173 1.270-11.173 1.315L-11.173 4.435L-10.410 4.435L-10.410 4.716L-11.173 4.716L-11.173 5.375Q-11.173 5.584-10.417 5.584L-10.417 5.864L-12.550 5.864L-12.550 5.584Q-11.795 5.584-11.795 5.375L-11.795 4.716M-11.747 1.991L-13.538 4.435L-11.747 4.435",[791],[775,1740,1742],{"transform":1741},"translate(100.437 -27.62)",[787,1743],{"d":1744,"fill":878,"stroke":878,"className":1745,"style":888},"M-13.305 5.102L-13.336 5.102Q-13.199 5.399-12.902 5.575Q-12.605 5.751-12.277 5.751Q-11.914 5.751-11.687 5.573Q-11.460 5.396-11.366 5.107Q-11.272 4.818-11.272 4.456Q-11.272 4.141-11.326 3.856Q-11.381 3.571-11.554 3.365Q-11.726 3.160-12.041 3.160Q-12.314 3.160-12.497 3.227Q-12.680 3.294-12.784 3.383Q-12.888 3.471-12.984 3.581Q-13.080 3.690-13.124 3.700L-13.203 3.700Q-13.275 3.683-13.292 3.612L-13.292 1.294Q-13.292 1.260-13.268 1.238Q-13.244 1.216-13.210 1.216L-13.182 1.216Q-12.895 1.332-12.627 1.386Q-12.359 1.441-12.082 1.441Q-11.805 1.441-11.535 1.386Q-11.265 1.332-10.985 1.216L-10.961 1.216Q-10.926 1.216-10.903 1.239Q-10.879 1.263-10.879 1.294L-10.879 1.363Q-10.879 1.390-10.899 1.410Q-11.173 1.725-11.557 1.901Q-11.942 2.077-12.355 2.077Q-12.694 2.077-13.011 1.991L-13.011 3.273Q-12.615 2.938-12.041 2.938Q-11.637 2.938-11.301 3.148Q-10.964 3.359-10.771 3.711Q-10.578 4.063-10.578 4.463Q-10.578 4.794-10.718 5.080Q-10.858 5.365-11.102 5.575Q-11.347 5.785-11.649 5.895Q-11.952 6.004-12.270 6.004Q-12.629 6.004-12.955 5.840Q-13.281 5.676-13.476 5.384Q-13.671 5.092-13.671 4.729Q-13.671 4.579-13.565 4.473Q-13.459 4.367-13.305 4.367Q-13.152 4.367-13.047 4.471Q-12.943 4.575-12.943 4.729Q-12.943 4.886-13.047 4.994Q-13.152 5.102-13.305 5.102",[791],[775,1747,1748,1755],{"stroke":781,"fontSize":782},[775,1749,1751],{"transform":1750},"translate(-43.97 -9.38)",[787,1752],{"d":1753,"fill":777,"stroke":777,"className":1754,"style":792},"M-11.991 7.415L-13.846 7.415L-13.846 7.122Q-13.577 7.122-13.409 7.077Q-13.241 7.032-13.241 6.856L-13.241 3.032Q-13.241 2.825-13.397 2.772Q-13.553 2.719-13.846 2.719L-13.846 2.423L-12.624 2.337L-12.624 2.801Q-12.393 2.579-12.079 2.458Q-11.764 2.337-11.425 2.337Q-10.952 2.337-10.548 2.583Q-10.143 2.829-9.911 3.245Q-9.678 3.661-9.678 4.137Q-9.678 4.512-9.827 4.841Q-9.975 5.169-10.245 5.421Q-10.514 5.673-10.858 5.807Q-11.202 5.942-11.561 5.942Q-11.850 5.942-12.122 5.821Q-12.393 5.700-12.600 5.489L-12.600 6.856Q-12.600 7.032-12.432 7.077Q-12.264 7.122-11.991 7.122L-11.991 7.415M-12.600 3.200L-12.600 5.040Q-12.448 5.329-12.186 5.509Q-11.925 5.688-11.616 5.688Q-11.331 5.688-11.108 5.550Q-10.885 5.411-10.733 5.180Q-10.581 4.950-10.503 4.678Q-10.425 4.407-10.425 4.137Q-10.425 3.805-10.550 3.448Q-10.675 3.091-10.923 2.854Q-11.171 2.618-11.518 2.618Q-11.842 2.618-12.137 2.774Q-12.432 2.930-12.600 3.200M-7.147 5.864L-9.128 5.864L-9.128 5.567Q-8.858 5.567-8.690 5.522Q-8.522 5.477-8.522 5.305L-8.522 3.169Q-8.522 2.954-8.585 2.858Q-8.647 2.762-8.764 2.741Q-8.882 2.719-9.128 2.719L-9.128 2.423L-7.960 2.337L-7.960 3.122Q-7.882 2.911-7.729 2.725Q-7.577 2.540-7.378 2.438Q-7.178 2.337-6.952 2.337Q-6.706 2.337-6.514 2.481Q-6.323 2.626-6.323 2.856Q-6.323 3.012-6.428 3.122Q-6.534 3.231-6.690 3.231Q-6.846 3.231-6.956 3.122Q-7.065 3.012-7.065 2.856Q-7.065 2.696-6.960 2.591Q-7.284 2.591-7.499 2.819Q-7.714 3.048-7.809 3.387Q-7.905 3.727-7.905 4.032L-7.905 5.305Q-7.905 5.473-7.678 5.520Q-7.452 5.567-7.147 5.567L-7.147 5.864M-5.842 4.110Q-5.842 3.630-5.610 3.214Q-5.378 2.798-4.967 2.548Q-4.557 2.298-4.081 2.298Q-3.350 2.298-2.952 2.739Q-2.553 3.180-2.553 3.911Q-2.553 4.016-2.647 4.040L-5.096 4.040L-5.096 4.110Q-5.096 4.520-4.975 4.876Q-4.854 5.231-4.583 5.448Q-4.311 5.665-3.882 5.665Q-3.518 5.665-3.221 5.436Q-2.925 5.208-2.823 4.856Q-2.815 4.809-2.729 4.794L-2.647 4.794Q-2.553 4.821-2.553 4.903Q-2.553 4.911-2.561 4.942Q-2.624 5.169-2.762 5.352Q-2.901 5.536-3.092 5.669Q-3.284 5.801-3.503 5.872Q-3.721 5.942-3.960 5.942Q-4.331 5.942-4.669 5.805Q-5.007 5.669-5.274 5.417Q-5.542 5.165-5.692 4.825Q-5.842 4.485-5.842 4.110M-5.089 3.801L-3.128 3.801Q-3.128 3.497-3.229 3.206Q-3.331 2.915-3.548 2.733Q-3.764 2.551-4.081 2.551Q-4.382 2.551-4.612 2.739Q-4.842 2.926-4.966 3.218Q-5.089 3.509-5.089 3.801M-0.206 5.864L-2.038 5.864L-2.038 5.567Q-1.768 5.567-1.600 5.522Q-1.432 5.477-1.432 5.305L-1.432 2.712L-2.073 2.712L-2.073 2.415L-1.432 2.415L-1.432 1.481Q-1.432 1.067-1.124 0.786Q-0.815 0.505-0.370 0.368Q0.075 0.231 0.482 0.231Q0.884 0.231 1.202 0.458Q1.521 0.684 1.521 1.071Q1.521 1.247 1.408 1.360Q1.294 1.473 1.122 1.473Q0.947 1.473 0.833 1.360Q0.720 1.247 0.720 1.071Q0.720 0.926 0.810 0.817Q0.900 0.708 1.033 0.680Q0.747 0.489 0.400 0.489Q0.103 0.489-0.184 0.610Q-0.471 0.731-0.655 0.964Q-0.839 1.196-0.839 1.497L-0.839 2.415L0.314 2.415L1.536 2.321L1.536 5.305Q1.536 5.473 1.704 5.520Q1.872 5.567 2.146 5.567L2.146 5.864L0.314 5.864L0.314 5.567Q0.583 5.567 0.751 5.522Q0.919 5.477 0.919 5.305L0.919 3.145Q0.919 2.938 0.872 2.839Q0.825 2.739 0.650 2.712L-0.815 2.712L-0.815 5.305Q-0.815 5.473-0.647 5.520Q-0.479 5.567-0.206 5.567L-0.206 5.864M4.040 5.864L2.544 5.864L2.544 5.567Q3.177 5.567 3.599 5.087L4.368 4.176L3.376 2.977Q3.220 2.798 3.058 2.755Q2.896 2.712 2.591 2.712L2.591 2.415L4.279 2.415L4.279 2.712Q4.185 2.712 4.109 2.755Q4.033 2.798 4.033 2.887Q4.033 2.930 4.064 2.977L4.720 3.766L5.200 3.192Q5.318 3.055 5.318 2.919Q5.318 2.829 5.267 2.770Q5.216 2.712 5.134 2.712L5.134 2.415L6.622 2.415L6.622 2.712Q5.986 2.712 5.575 3.192L4.896 3.993L5.982 5.305Q6.142 5.481 6.302 5.524Q6.462 5.567 6.767 5.567L6.767 5.864L5.079 5.864L5.079 5.567Q5.169 5.567 5.247 5.524Q5.325 5.481 5.325 5.391Q5.325 5.368 5.294 5.305L4.552 4.399L3.966 5.087Q3.849 5.223 3.849 5.360Q3.849 5.446 3.900 5.507Q3.950 5.567 4.040 5.567",[791],[775,1756,1757],{"transform":1750},[787,1758],{"d":1759,"fill":777,"stroke":777,"className":1760,"style":792},"M10.958 4.063Q10.958 4.563 11.165 4.942Q11.372 5.321 11.755 5.528Q12.138 5.735 12.638 5.735Q13.157 5.735 13.645 5.487Q14.134 5.239 14.485 4.811Q14.837 4.384 14.958 3.887Q14.973 3.825 15.048 3.825L15.149 3.825Q15.184 3.825 15.212 3.852Q15.239 3.880 15.239 3.919Q15.239 3.926 15.231 3.942Q15.087 4.524 14.671 5.005Q14.255 5.485 13.682 5.759Q13.110 6.032 12.513 6.032Q11.856 6.032 11.317 5.753Q10.778 5.473 10.473 4.966Q10.169 4.458 10.169 3.801Q10.169 3.110 10.487 2.458Q10.806 1.805 11.352 1.301Q11.899 0.798 12.567 0.514Q13.235 0.231 13.911 0.231Q14.341 0.231 14.706 0.413Q15.071 0.594 15.302 0.934L15.942 0.255Q15.966 0.231 16.001 0.231L16.048 0.231Q16.087 0.231 16.110 0.259Q16.134 0.286 16.134 0.329L16.134 0.352L15.598 2.473Q15.583 2.544 15.520 2.544L15.399 2.544Q15.309 2.544 15.309 2.438Q15.337 2.262 15.337 2.071Q15.337 1.649 15.179 1.298Q15.020 0.946 14.716 0.737Q14.411 0.528 13.981 0.528Q13.329 0.528 12.766 0.831Q12.204 1.134 11.802 1.651Q11.399 2.169 11.179 2.800Q10.958 3.430 10.958 4.063",[791],[775,1762,1763,1766],{"fill":955},[787,1764],{"d":1765},"M-23.359 3.73h18.495v-18.495H-23.36Z",[775,1767,1769],{"transform":1768},"translate(-2.312 -8.48)",[787,1770],{"d":1603,"fill":777,"stroke":777,"className":1771,"style":809},[791],[775,1773,1774,1777],{"fill":955},[787,1775],{"d":1776},"M-2.873 3.73h18.495v-18.495H-2.873Z",[775,1778,1780],{"transform":1779},"translate(18.174 -8.48)",[787,1781],{"d":1603,"fill":777,"stroke":777,"className":1782,"style":809},[791],[775,1784,1785,1788],{"fill":955},[787,1786],{"d":1787},"M17.613 3.73h18.495v-18.495H17.613Z",[775,1789,1791],{"transform":1790},"translate(38.66 -8.48)",[787,1792],{"d":1793,"fill":777,"stroke":777,"className":1794,"style":809},"M-11.414 4.387L-13.853 4.387L-13.853 4.071L-11.027-0.077Q-10.983-0.130-10.917-0.130L-10.763-0.130Q-10.724-0.130-10.691-0.097Q-10.658-0.064-10.658-0.020L-10.658 4.071L-9.757 4.071L-9.757 4.387L-10.658 4.387L-10.658 5.253Q-10.658 5.548-9.757 5.548L-9.757 5.864L-12.310 5.864L-12.310 5.548Q-11.950 5.548-11.682 5.493Q-11.414 5.438-11.414 5.253L-11.414 4.387M-11.357 0.898L-13.519 4.071L-11.357 4.071",[791],[775,1796,1797,1800],{"fill":955},[787,1798],{"d":1799},"M38.1 3.73h18.494v-18.495H38.099Z",[775,1801,1803],{"transform":1802},"translate(59.146 -8.48)",[787,1804],{"d":1805,"fill":777,"stroke":777,"className":1806,"style":809},"M-12.490 5.622Q-12.490 4.985-12.334 4.339Q-12.178 3.693-11.886 3.087Q-11.594 2.480-11.185 1.931L-10.368 0.823L-11.396 0.823Q-13.040 0.823-13.088 0.867Q-13.194 0.995-13.312 1.698L-13.598 1.698L-13.303-0.218L-13.013-0.218L-13.013-0.192Q-13.013-0.029-12.449 0.019Q-11.884 0.068-11.339 0.068L-9.621 0.068L-9.621 0.274Q-9.621 0.292-9.623 0.301Q-9.625 0.309-9.630 0.318L-10.917 2.067Q-11.168 2.419-11.315 2.845Q-11.462 3.271-11.528 3.735Q-11.594 4.198-11.607 4.609Q-11.620 5.020-11.620 5.622Q-11.620 5.802-11.746 5.932Q-11.871 6.062-12.051 6.062Q-12.170 6.062-12.273 6.005Q-12.376 5.947-12.433 5.844Q-12.490 5.741-12.490 5.622",[791],[775,1808,1809,1812],{"fill":955},[787,1810],{"d":1811},"M58.585 3.73H77.08v-18.495H58.585Z",[775,1813,1815],{"transform":1814},"translate(79.632 -8.48)",[787,1816],{"d":1805,"fill":777,"stroke":777,"className":1817,"style":809},[791],[775,1819,1820,1823],{"fill":955},[787,1821],{"d":1822},"M79.071 3.73h18.495v-18.495H79.07Z",[775,1824,1826],{"transform":1825},"translate(100.118 -8.48)",[787,1827],{"d":1828,"fill":777,"stroke":777,"className":1829,"style":809},"M-13.725 4.497Q-13.725 3.939-13.365 3.526Q-13.005 3.113-12.429 2.841L-12.798 2.608Q-13.101 2.406-13.288 2.076Q-13.475 1.746-13.475 1.390Q-13.475 0.736-12.969 0.303Q-12.464-0.130-11.800-0.130Q-11.401-0.130-11.016 0.030Q-10.632 0.191-10.383 0.496Q-10.135 0.801-10.135 1.219Q-10.135 2.050-11.203 2.608L-10.649 2.955Q-10.302 3.183-10.091 3.552Q-9.880 3.922-9.880 4.335Q-9.880 4.713-10.038 5.031Q-10.196 5.350-10.473 5.583Q-10.750 5.816-11.093 5.939Q-11.436 6.062-11.800 6.062Q-12.266 6.062-12.712 5.875Q-13.158 5.688-13.442 5.334Q-13.725 4.981-13.725 4.497M-13.202 4.497Q-13.202 5.042-12.783 5.409Q-12.363 5.776-11.800 5.776Q-11.471 5.776-11.146 5.644Q-10.820 5.512-10.612 5.258Q-10.403 5.003-10.403 4.660Q-10.403 4.396-10.539 4.172Q-10.675 3.948-10.908 3.794L-12.152 3.012Q-12.613 3.249-12.908 3.636Q-13.202 4.023-13.202 4.497M-12.591 1.742L-11.475 2.445Q-11.251 2.322-11.047 2.133Q-10.842 1.944-10.722 1.711Q-10.601 1.478-10.601 1.219Q-10.601 0.911-10.772 0.661Q-10.944 0.410-11.220 0.270Q-11.497 0.129-11.809 0.129Q-12.258 0.129-12.631 0.375Q-13.005 0.621-13.005 1.048Q-13.005 1.452-12.591 1.742",[791],[775,1831,1833,1840,1846],{"fill":1832,"stroke":781,"fontSize":880},"var(--tk-warn)",[775,1834,1836],{"transform":1835},"translate(52.575 12.214)",[787,1837],{"d":1838,"fill":1832,"stroke":1832,"className":1839,"style":888},"M-12.676 5.656Q-12.676 5.150-12.547 4.642Q-12.417 4.135-12.179 3.673Q-11.942 3.212-11.607 2.791L-10.961 1.978L-11.774 1.978Q-12.359 1.978-12.755 1.986Q-13.152 1.995-13.175 2.015Q-13.278 2.132-13.357 2.658L-13.623 2.658L-13.377 1.134L-13.111 1.134L-13.111 1.154Q-13.111 1.222-13.035 1.265Q-12.960 1.308-12.882 1.315Q-12.690 1.339-12.495 1.345Q-12.300 1.352-12.109 1.354Q-11.918 1.356-11.719 1.356L-10.298 1.356L-10.298 1.544Q-10.308 1.592-10.318 1.602L-11.374 2.925Q-11.593 3.198-11.716 3.511Q-11.839 3.823-11.897 4.172Q-11.955 4.521-11.969 4.852Q-11.983 5.184-11.983 5.656Q-11.983 5.806-12.082 5.905Q-12.181 6.004-12.328 6.004Q-12.478 6.004-12.577 5.905Q-12.676 5.806-12.676 5.656",[791],[775,1841,1842],{"transform":1835},[787,1843],{"d":1844,"fill":1832,"stroke":1832,"className":1845,"style":888},"M-2.782 4.288L-8.507 4.288Q-8.572 4.288-8.620 4.235Q-8.668 4.182-8.668 4.114Q-8.668 4.049-8.620 3.998Q-8.572 3.947-8.507 3.947L-2.782 3.947Q-3.032 3.762-3.240 3.514Q-3.449 3.266-3.589 2.978Q-3.729 2.689-3.791 2.378Q-3.791 2.285-3.698 2.272L-3.531 2.272Q-3.456 2.282-3.445 2.357Q-3.363 2.757-3.140 3.101Q-2.916 3.444-2.584 3.682Q-2.253 3.919-1.853 4.022Q-1.795 4.042-1.795 4.114Q-1.795 4.145-1.810 4.174Q-1.825 4.203-1.853 4.206Q-2.249 4.309-2.584 4.551Q-2.919 4.794-3.143 5.139Q-3.367 5.485-3.445 5.878Q-3.456 5.953-3.531 5.963L-3.698 5.963Q-3.791 5.949-3.791 5.857Q-3.695 5.389-3.434 4.982Q-3.172 4.575-2.782 4.288",[791],[775,1847,1848],{"transform":1835},[787,1849],{"d":1850,"fill":1832,"stroke":1832,"className":1851,"style":888},"M1.657 6.004Q1.199 6.004 0.881 5.789Q0.564 5.573 0.382 5.221Q0.201 4.869 0.124 4.449Q0.047 4.029 0.047 3.601Q0.047 3.017 0.300 2.461Q0.553 1.906 1.023 1.561Q1.493 1.216 2.091 1.216Q2.501 1.216 2.785 1.414Q3.069 1.612 3.069 2.015Q3.069 2.111 3.023 2.190Q2.977 2.268 2.896 2.313Q2.816 2.357 2.727 2.357Q2.580 2.357 2.479 2.260Q2.378 2.162 2.378 2.015Q2.378 1.885 2.469 1.778Q2.560 1.670 2.693 1.670Q2.505 1.448 2.091 1.448Q1.777 1.448 1.503 1.612Q1.230 1.776 1.063 2.050Q0.875 2.340 0.810 2.706Q0.745 3.072 0.745 3.526Q0.895 3.232 1.160 3.054Q1.425 2.877 1.739 2.877Q2.170 2.877 2.519 3.083Q2.867 3.290 3.067 3.646Q3.267 4.001 3.267 4.428Q3.267 4.873 3.050 5.233Q2.833 5.594 2.460 5.799Q2.088 6.004 1.657 6.004M1.657 5.751Q2.033 5.751 2.237 5.568Q2.440 5.385 2.503 5.102Q2.566 4.818 2.566 4.428Q2.566 4.042 2.512 3.762Q2.457 3.482 2.262 3.290Q2.067 3.099 1.698 3.099Q1.408 3.099 1.196 3.275Q0.984 3.451 0.876 3.724Q0.769 3.998 0.769 4.281L0.769 4.422L0.769 4.463Q0.769 4.968 0.980 5.360Q1.192 5.751 1.657 5.751",[791],[775,1853,1854,1861],{"stroke":781,"fontSize":782},[775,1855,1857],{"transform":1856},"translate(-48.159 47.48)",[787,1858],{"d":1859,"fill":777,"stroke":777,"className":1860,"style":792},"M-13.874 4.169Q-13.874 3.665-13.618 3.233Q-13.362 2.801-12.926 2.550Q-12.491 2.298-11.991 2.298Q-11.604 2.298-11.262 2.442Q-10.921 2.587-10.659 2.848Q-10.397 3.110-10.255 3.446Q-10.112 3.782-10.112 4.169Q-10.112 4.661-10.376 5.071Q-10.639 5.481-11.069 5.712Q-11.499 5.942-11.991 5.942Q-12.483 5.942-12.917 5.710Q-13.350 5.477-13.612 5.069Q-13.874 4.661-13.874 4.169M-11.991 5.665Q-11.534 5.665-11.282 5.442Q-11.030 5.219-10.942 4.868Q-10.854 4.516-10.854 4.071Q-10.854 3.641-10.948 3.303Q-11.042 2.966-11.296 2.759Q-11.550 2.551-11.991 2.551Q-12.639 2.551-12.883 2.968Q-13.128 3.384-13.128 4.071Q-13.128 4.516-13.040 4.868Q-12.952 5.219-12.700 5.442Q-12.448 5.665-11.991 5.665M-8.944 4.911L-8.944 3.169Q-8.944 2.954-9.007 2.858Q-9.069 2.762-9.188 2.741Q-9.307 2.719-9.553 2.719L-9.553 2.423L-8.307 2.337L-8.307 4.887L-8.307 4.911Q-8.307 5.223-8.253 5.385Q-8.198 5.548-8.048 5.618Q-7.897 5.688-7.577 5.688Q-7.147 5.688-6.874 5.350Q-6.600 5.012-6.600 4.567L-6.600 3.169Q-6.600 2.954-6.663 2.858Q-6.725 2.762-6.844 2.741Q-6.964 2.719-7.210 2.719L-7.210 2.423L-5.964 2.337L-5.964 5.122Q-5.964 5.333-5.901 5.428Q-5.839 5.524-5.719 5.546Q-5.600 5.567-5.354 5.567L-5.354 5.864L-6.577 5.942L-6.577 5.321Q-6.745 5.610-7.026 5.776Q-7.307 5.942-7.628 5.942Q-8.944 5.942-8.944 4.911M-4.284 4.903L-4.284 2.712L-4.987 2.712L-4.987 2.458Q-4.632 2.458-4.389 2.225Q-4.147 1.993-4.036 1.645Q-3.925 1.298-3.925 0.942L-3.643 0.942L-3.643 2.415L-2.467 2.415L-2.467 2.712L-3.643 2.712L-3.643 4.887Q-3.643 5.208-3.524 5.436Q-3.405 5.665-3.124 5.665Q-2.944 5.665-2.827 5.542Q-2.710 5.419-2.657 5.239Q-2.604 5.059-2.604 4.887L-2.604 4.415L-2.323 4.415L-2.323 4.903Q-2.323 5.157-2.428 5.397Q-2.534 5.637-2.731 5.790Q-2.928 5.942-3.186 5.942Q-3.503 5.942-3.755 5.819Q-4.007 5.696-4.145 5.462Q-4.284 5.227-4.284 4.903M0.279 7.415L-1.577 7.415L-1.577 7.122Q-1.307 7.122-1.139 7.077Q-0.971 7.032-0.971 6.856L-0.971 3.032Q-0.971 2.825-1.128 2.772Q-1.284 2.719-1.577 2.719L-1.577 2.423L-0.354 2.337L-0.354 2.801Q-0.124 2.579 0.191 2.458Q0.505 2.337 0.845 2.337Q1.318 2.337 1.722 2.583Q2.126 2.829 2.359 3.245Q2.591 3.661 2.591 4.137Q2.591 4.512 2.443 4.841Q2.294 5.169 2.025 5.421Q1.755 5.673 1.411 5.807Q1.068 5.942 0.708 5.942Q0.419 5.942 0.148 5.821Q-0.124 5.700-0.331 5.489L-0.331 6.856Q-0.331 7.032-0.163 7.077Q0.005 7.122 0.279 7.122L0.279 7.415M-0.331 3.200L-0.331 5.040Q-0.178 5.329 0.083 5.509Q0.345 5.688 0.654 5.688Q0.939 5.688 1.161 5.550Q1.384 5.411 1.536 5.180Q1.689 4.950 1.767 4.678Q1.845 4.407 1.845 4.137Q1.845 3.805 1.720 3.448Q1.595 3.091 1.347 2.854Q1.099 2.618 0.751 2.618Q0.427 2.618 0.132 2.774Q-0.163 2.930-0.331 3.200M3.798 4.911L3.798 3.169Q3.798 2.954 3.736 2.858Q3.673 2.762 3.554 2.741Q3.435 2.719 3.189 2.719L3.189 2.423L4.435 2.337L4.435 4.887L4.435 4.911Q4.435 5.223 4.490 5.385Q4.544 5.548 4.695 5.618Q4.845 5.688 5.165 5.688Q5.595 5.688 5.868 5.350Q6.142 5.012 6.142 4.567L6.142 3.169Q6.142 2.954 6.079 2.858Q6.017 2.762 5.898 2.741Q5.779 2.719 5.533 2.719L5.533 2.423L6.779 2.337L6.779 5.122Q6.779 5.333 6.841 5.428Q6.904 5.524 7.023 5.546Q7.142 5.567 7.388 5.567L7.388 5.864L6.165 5.942L6.165 5.321Q5.997 5.610 5.716 5.776Q5.435 5.942 5.115 5.942Q3.798 5.942 3.798 4.911M8.458 4.903L8.458 2.712L7.755 2.712L7.755 2.458Q8.111 2.458 8.353 2.225Q8.595 1.993 8.706 1.645Q8.818 1.298 8.818 0.942L9.099 0.942L9.099 2.415L10.275 2.415L10.275 2.712L9.099 2.712L9.099 4.887Q9.099 5.208 9.218 5.436Q9.337 5.665 9.618 5.665Q9.798 5.665 9.915 5.542Q10.033 5.419 10.085 5.239Q10.138 5.059 10.138 4.887L10.138 4.415L10.419 4.415L10.419 4.903Q10.419 5.157 10.314 5.397Q10.208 5.637 10.011 5.790Q9.814 5.942 9.556 5.942Q9.240 5.942 8.988 5.819Q8.736 5.696 8.597 5.462Q8.458 5.227 8.458 4.903",[791],[775,1862,1863],{"transform":1856},[787,1864],{"d":1865,"fill":777,"stroke":777,"className":1866,"style":792},"M17.398 5.864L14.254 5.864Q14.156 5.833 14.156 5.735L14.184 5.634Q14.215 5.579 14.277 5.567Q14.719 5.567 14.877 5.528Q15.035 5.489 15.078 5.262L16.156 0.942Q16.184 0.876 16.184 0.809Q16.184 0.751 16.117 0.727Q15.973 0.696 15.551 0.696Q15.445 0.669 15.445 0.567L15.477 0.466Q15.512 0.407 15.566 0.399L18.527 0.399Q18.891 0.399 19.254 0.516Q19.617 0.634 19.859 0.887Q20.102 1.141 20.102 1.520Q20.102 1.919 19.832 2.231Q19.563 2.544 19.166 2.741Q18.770 2.938 18.383 3.009Q18.906 3.063 19.297 3.358Q19.688 3.653 19.688 4.145Q19.688 4.524 19.469 4.844Q19.250 5.165 18.906 5.387Q18.563 5.610 18.158 5.737Q17.754 5.864 17.398 5.864M15.727 5.520Q15.727 5.567 15.973 5.567L17.238 5.567Q17.641 5.567 18.021 5.368Q18.402 5.169 18.641 4.823Q18.879 4.477 18.879 4.079Q18.879 3.676 18.621 3.415Q18.363 3.153 17.957 3.153L16.301 3.153L15.758 5.321Q15.727 5.446 15.727 5.520M16.840 1.001L16.367 2.895L17.672 2.895Q18.047 2.895 18.430 2.716Q18.813 2.536 19.064 2.216Q19.316 1.895 19.316 1.512Q19.316 1.145 19.070 0.921Q18.824 0.696 18.453 0.696L17.246 0.696Q17.074 0.696 17.012 0.710Q16.949 0.723 16.916 0.782Q16.883 0.841 16.840 1.001",[791],[787,1868],{"fill":781,"d":1869},"M-23.359 60.635h18.495V42.141H-23.36ZM-2.873 60.635h18.495V42.141H-2.873ZM17.613 60.635h18.495V42.141H17.613ZM38.1 60.635h18.494V42.141H38.099ZM58.585 60.635H77.08V42.141H58.585ZM79.071 60.635h18.495V42.141H79.07ZM99.557 60.635h18.495V42.141H99.557ZM120.043 60.635h18.495V42.141h-18.495Z",[775,1871,1872,1875],{"fill":955,"stroke":1114,"style":1664},[787,1873],{"d":1874},"M99.557 60.635h18.495V42.141H99.557Z",[775,1876,1878],{"transform":1877},"translate(120.604 48.425)",[787,1879],{"d":1623,"fill":777,"stroke":777,"className":1880,"style":809},[791],[775,1882,1884],{"transform":1883},"translate(-1.993 64.852)",[787,1885],{"d":1716,"fill":878,"stroke":878,"className":1886,"style":888},[791],[775,1888,1890],{"transform":1889},"translate(18.493 64.852)",[787,1891],{"d":1723,"fill":878,"stroke":878,"className":1892,"style":888},[791],[775,1894,1896],{"transform":1895},"translate(38.979 64.852)",[787,1897],{"d":1730,"fill":878,"stroke":878,"className":1898,"style":888},[791],[775,1900,1902],{"transform":1901},"translate(59.465 64.852)",[787,1903],{"d":1737,"fill":878,"stroke":878,"className":1904,"style":888},[791],[775,1906,1908],{"transform":1907},"translate(79.951 64.852)",[787,1909],{"d":1744,"fill":878,"stroke":878,"className":1910,"style":888},[791],[775,1912,1914],{"transform":1913},"translate(100.437 64.852)",[787,1915],{"d":1916,"fill":878,"stroke":878,"className":1917,"style":888},"M-12.123 6.004Q-12.581 6.004-12.899 5.789Q-13.216 5.573-13.398 5.221Q-13.579 4.869-13.656 4.449Q-13.733 4.029-13.733 3.601Q-13.733 3.017-13.480 2.461Q-13.227 1.906-12.757 1.561Q-12.287 1.216-11.689 1.216Q-11.279 1.216-10.995 1.414Q-10.711 1.612-10.711 2.015Q-10.711 2.111-10.757 2.190Q-10.803 2.268-10.884 2.313Q-10.964 2.357-11.053 2.357Q-11.200 2.357-11.301 2.260Q-11.402 2.162-11.402 2.015Q-11.402 1.885-11.311 1.778Q-11.220 1.670-11.087 1.670Q-11.275 1.448-11.689 1.448Q-12.003 1.448-12.277 1.612Q-12.550 1.776-12.717 2.050Q-12.905 2.340-12.970 2.706Q-13.035 3.072-13.035 3.526Q-12.885 3.232-12.620 3.054Q-12.355 2.877-12.041 2.877Q-11.610 2.877-11.261 3.083Q-10.913 3.290-10.713 3.646Q-10.513 4.001-10.513 4.428Q-10.513 4.873-10.730 5.233Q-10.947 5.594-11.320 5.799Q-11.692 6.004-12.123 6.004M-12.123 5.751Q-11.747 5.751-11.543 5.568Q-11.340 5.385-11.277 5.102Q-11.214 4.818-11.214 4.428Q-11.214 4.042-11.268 3.762Q-11.323 3.482-11.518 3.290Q-11.713 3.099-12.082 3.099Q-12.372 3.099-12.584 3.275Q-12.796 3.451-12.904 3.724Q-13.011 3.998-13.011 4.281L-13.011 4.422L-13.011 4.463Q-13.011 4.968-12.800 5.360Q-12.588 5.751-12.123 5.751",[791],[775,1919,1921],{"transform":1920},"translate(120.923 64.852)",[787,1922],{"d":1838,"fill":878,"stroke":878,"className":1923,"style":888},[791],[775,1925,1927],{"transform":1926},"translate(141.409 64.852)",[787,1928],{"d":1929,"fill":878,"stroke":878,"className":1930,"style":888},"M-13.733 4.787Q-13.733 4.346-13.430 4.025Q-13.128 3.704-12.676 3.512L-12.916 3.372Q-13.186 3.212-13.352 2.954Q-13.517 2.696-13.517 2.398Q-13.517 2.046-13.312 1.774Q-13.107 1.503-12.786 1.359Q-12.465 1.216-12.123 1.216Q-11.801 1.216-11.478 1.332Q-11.155 1.448-10.944 1.689Q-10.732 1.930-10.732 2.265Q-10.732 2.627-10.976 2.890Q-11.220 3.154-11.600 3.331L-11.200 3.567Q-11.005 3.680-10.846 3.849Q-10.687 4.018-10.600 4.227Q-10.513 4.435-10.513 4.668Q-10.513 5.071-10.747 5.375Q-10.981 5.679-11.355 5.842Q-11.730 6.004-12.123 6.004Q-12.509 6.004-12.878 5.867Q-13.247 5.731-13.490 5.454Q-13.733 5.177-13.733 4.787M-13.285 4.787Q-13.285 5.074-13.116 5.297Q-12.946 5.519-12.678 5.635Q-12.410 5.751-12.123 5.751Q-11.685 5.751-11.323 5.534Q-10.961 5.317-10.961 4.910Q-10.961 4.709-11.089 4.531Q-11.217 4.353-11.395 4.254L-12.417 3.659Q-12.656 3.769-12.854 3.935Q-13.052 4.100-13.169 4.316Q-13.285 4.531-13.285 4.787M-12.762 2.658L-11.842 3.191Q-11.535 3.031-11.333 2.798Q-11.132 2.566-11.132 2.265Q-11.132 2.026-11.277 1.836Q-11.422 1.646-11.654 1.547Q-11.887 1.448-12.123 1.448Q-12.345 1.448-12.574 1.518Q-12.803 1.588-12.960 1.745Q-13.117 1.903-13.117 2.132Q-13.117 2.446-12.762 2.658",[791],[775,1932,1933,1936],{"fill":1832,"stroke":1832,"style":1115},[787,1934],{"fill":781,"d":1935},"M129.29-52.576c0 35.248-81.944 2.706-81.944 33.828",[787,1937],{"d":1938},"m47.346-15.762 1.577-4.169-1.577 1.383-1.576-1.383Z",[775,1940,1941,1948,1954,1960,1966],{"fill":1832,"stroke":781,"fontSize":880},[775,1942,1944],{"transform":1943},"translate(97.226 -39.506)",[787,1945],{"d":1946,"fill":1832,"stroke":1832,"className":1947,"style":888},"M-12.048 5.864L-13.784 5.864L-13.784 5.584Q-13.555 5.584-13.406 5.550Q-13.258 5.515-13.258 5.375L-13.258 3.526Q-13.258 3.256-13.365 3.195Q-13.473 3.133-13.784 3.133L-13.784 2.853L-12.755 2.778L-12.755 3.485Q-12.625 3.177-12.383 2.978Q-12.140 2.778-11.822 2.778Q-11.603 2.778-11.432 2.902Q-11.261 3.027-11.261 3.239Q-11.261 3.376-11.361 3.475Q-11.460 3.574-11.593 3.574Q-11.730 3.574-11.829 3.475Q-11.928 3.376-11.928 3.239Q-11.928 3.099-11.829 3Q-12.119 3-12.319 3.196Q-12.519 3.393-12.612 3.687Q-12.704 3.981-12.704 4.261L-12.704 5.375Q-12.704 5.584-12.048 5.584L-12.048 5.864M-10.718 4.329Q-10.718 4.008-10.593 3.719Q-10.468 3.430-10.243 3.207Q-10.017 2.983-9.722 2.863Q-9.426 2.743-9.108 2.743Q-8.780 2.743-8.518 2.843Q-8.257 2.942-8.081 3.124Q-7.905 3.307-7.811 3.565Q-7.717 3.823-7.717 4.155Q-7.717 4.247-7.799 4.268L-10.055 4.268L-10.055 4.329Q-10.055 4.917-9.771 5.300Q-9.487 5.683-8.920 5.683Q-8.599 5.683-8.331 5.490Q-8.062 5.297-7.973 4.982Q-7.966 4.941-7.891 4.927L-7.799 4.927Q-7.717 4.951-7.717 5.023Q-7.717 5.030-7.724 5.057Q-7.837 5.454-8.207 5.693Q-8.578 5.932-9.002 5.932Q-9.440 5.932-9.840 5.724Q-10.239 5.515-10.479 5.148Q-10.718 4.781-10.718 4.329M-10.048 4.059L-8.233 4.059Q-8.233 3.782-8.331 3.530Q-8.428 3.277-8.626 3.121Q-8.824 2.966-9.108 2.966Q-9.385 2.966-9.599 3.124Q-9.812 3.283-9.930 3.538Q-10.048 3.793-10.048 4.059M-7.071 5.136Q-7.071 4.804-6.847 4.577Q-6.623 4.350-6.280 4.222Q-5.936 4.093-5.564 4.041Q-5.191 3.988-4.887 3.988L-4.887 3.735Q-4.887 3.530-4.995 3.350Q-5.102 3.171-5.283 3.068Q-5.465 2.966-5.673 2.966Q-6.080 2.966-6.316 3.058Q-6.227 3.095-6.181 3.179Q-6.134 3.263-6.134 3.365Q-6.134 3.461-6.181 3.540Q-6.227 3.618-6.307 3.663Q-6.387 3.707-6.476 3.707Q-6.627 3.707-6.727 3.610Q-6.828 3.512-6.828 3.365Q-6.828 2.743-5.673 2.743Q-5.461 2.743-5.212 2.807Q-4.962 2.870-4.760 2.989Q-4.559 3.109-4.432 3.294Q-4.306 3.478-4.306 3.721L-4.306 5.297Q-4.306 5.413-4.244 5.509Q-4.183 5.604-4.070 5.604Q-3.961 5.604-3.896 5.510Q-3.831 5.416-3.831 5.297L-3.831 4.849L-3.564 4.849L-3.564 5.297Q-3.564 5.567-3.791 5.732Q-4.019 5.898-4.299 5.898Q-4.508 5.898-4.644 5.744Q-4.781 5.591-4.805 5.375Q-4.952 5.642-5.234 5.787Q-5.516 5.932-5.841 5.932Q-6.117 5.932-6.401 5.857Q-6.685 5.782-6.878 5.603Q-7.071 5.423-7.071 5.136M-6.456 5.136Q-6.456 5.310-6.355 5.440Q-6.254 5.570-6.099 5.640Q-5.943 5.710-5.779 5.710Q-5.560 5.710-5.352 5.613Q-5.143 5.515-5.015 5.334Q-4.887 5.153-4.887 4.927L-4.887 4.199Q-5.212 4.199-5.577 4.290Q-5.943 4.381-6.199 4.593Q-6.456 4.804-6.456 5.136M-3.147 4.353Q-3.147 4.015-3.007 3.724Q-2.867 3.434-2.622 3.220Q-2.378 3.007-2.074 2.892Q-1.770 2.778-1.445 2.778Q-1.175 2.778-0.912 2.877Q-0.649 2.976-0.457 3.154L-0.457 1.756Q-0.457 1.486-0.565 1.424Q-0.673 1.363-0.984 1.363L-0.984 1.082L0.093 1.007L0.093 5.191Q0.093 5.379 0.148 5.462Q0.202 5.546 0.303 5.565Q0.404 5.584 0.619 5.584L0.619 5.864L-0.488 5.932L-0.488 5.515Q-0.905 5.932-1.530 5.932Q-1.961 5.932-2.334 5.720Q-2.706 5.509-2.927 5.148Q-3.147 4.787-3.147 4.353M-1.472 5.710Q-1.264 5.710-1.078 5.638Q-0.891 5.567-0.737 5.430Q-0.584 5.293-0.488 5.115L-0.488 3.506Q-0.573 3.359-0.719 3.239Q-0.864 3.119-1.033 3.060Q-1.202 3-1.383 3Q-1.944 3-2.212 3.389Q-2.481 3.779-2.481 4.360Q-2.481 4.931-2.247 5.321Q-2.012 5.710-1.472 5.710",[791],[775,1949,1950],{"transform":1943},[787,1951],{"d":1952,"fill":1832,"stroke":1832,"className":1953,"style":888},"M4.890 4.247Q4.890 4.709 5.090 5.042Q5.290 5.375 5.645 5.550Q6 5.724 6.458 5.724Q6.793 5.724 7.127 5.604Q7.460 5.485 7.747 5.266Q8.034 5.047 8.234 4.755Q8.434 4.463 8.516 4.135Q8.530 4.080 8.595 4.080L8.708 4.080Q8.738 4.080 8.760 4.104Q8.783 4.128 8.783 4.162Q8.783 4.169 8.776 4.182Q8.680 4.569 8.436 4.909Q8.191 5.249 7.850 5.491Q7.508 5.734 7.106 5.869Q6.705 6.004 6.312 6.004Q5.877 6.004 5.484 5.867Q5.091 5.731 4.796 5.474Q4.500 5.218 4.331 4.847Q4.162 4.476 4.162 4.029Q4.162 3.410 4.454 2.851Q4.746 2.292 5.238 1.862Q5.730 1.431 6.332 1.187Q6.934 0.942 7.539 0.942Q7.928 0.942 8.261 1.101Q8.595 1.260 8.817 1.557L9.391 0.963Q9.412 0.942 9.442 0.942L9.490 0.942Q9.524 0.942 9.545 0.968Q9.565 0.993 9.565 1.028Q9.565 1.034 9.559 1.048L9.097 2.897Q9.083 2.959 9.029 2.959L8.902 2.959Q8.824 2.959 8.824 2.866Q8.848 2.699 8.848 2.572Q8.848 2.292 8.764 2.048Q8.680 1.803 8.521 1.619Q8.362 1.434 8.137 1.328Q7.911 1.222 7.621 1.222Q7.029 1.222 6.530 1.472Q6.031 1.721 5.660 2.156Q5.290 2.590 5.090 3.135Q4.890 3.680 4.890 4.247",[791],[775,1955,1956],{"transform":1943},[787,1957],{"d":1958,"fill":1832,"stroke":1832,"className":1959,"style":888},"M11.922 7.614L10.846 7.614L10.846 0.614L11.922 0.614L11.922 0.956L11.187 0.956L11.187 7.272L11.922 7.272L11.922 7.614M12.951 5.317Q13.071 5.474 13.262 5.573Q13.454 5.673 13.669 5.712Q13.884 5.751 14.106 5.751Q14.404 5.751 14.599 5.596Q14.793 5.440 14.884 5.186Q14.975 4.931 14.975 4.647Q14.975 4.353 14.882 4.102Q14.790 3.851 14.592 3.695Q14.393 3.540 14.100 3.540L13.583 3.540Q13.556 3.540 13.530 3.514Q13.505 3.489 13.505 3.465L13.505 3.393Q13.505 3.362 13.530 3.340Q13.556 3.318 13.583 3.318L14.024 3.287Q14.387 3.287 14.607 2.930Q14.828 2.572 14.828 2.183Q14.828 1.855 14.633 1.651Q14.438 1.448 14.106 1.448Q13.819 1.448 13.566 1.532Q13.313 1.615 13.149 1.803Q13.296 1.803 13.397 1.918Q13.498 2.032 13.498 2.183Q13.498 2.333 13.392 2.443Q13.286 2.552 13.129 2.552Q12.968 2.552 12.859 2.443Q12.749 2.333 12.749 2.183Q12.749 1.858 12.958 1.639Q13.166 1.421 13.483 1.318Q13.799 1.216 14.106 1.216Q14.424 1.216 14.752 1.320Q15.080 1.424 15.308 1.646Q15.535 1.868 15.535 2.183Q15.535 2.617 15.248 2.942Q14.961 3.266 14.527 3.413Q14.838 3.478 15.118 3.644Q15.398 3.810 15.576 4.068Q15.754 4.326 15.754 4.647Q15.754 5.057 15.509 5.367Q15.265 5.676 14.884 5.840Q14.503 6.004 14.106 6.004Q13.737 6.004 13.380 5.891Q13.023 5.779 12.778 5.529Q12.534 5.280 12.534 4.910Q12.534 4.739 12.650 4.627Q12.767 4.514 12.937 4.514Q13.047 4.514 13.137 4.565Q13.228 4.616 13.283 4.709Q13.337 4.801 13.337 4.910Q13.337 5.078 13.225 5.197Q13.112 5.317 12.951 5.317M17.439 7.614L16.362 7.614L16.362 7.272L17.097 7.272L17.097 0.956L16.362 0.956L16.362 0.614L17.439 0.614",[791],[775,1961,1962],{"transform":1943},[787,1963],{"d":1964,"fill":1832,"stroke":1832,"className":1965,"style":888},"M26.164 5.057L21.331 5.057Q21.263 5.047 21.217 5.001Q21.171 4.955 21.171 4.883Q21.171 4.818 21.217 4.772Q21.263 4.726 21.331 4.716L26.164 4.716Q26.233 4.726 26.279 4.772Q26.325 4.818 26.325 4.883Q26.325 4.955 26.279 5.001Q26.233 5.047 26.164 5.057M26.164 3.519L21.331 3.519Q21.263 3.509 21.217 3.463Q21.171 3.417 21.171 3.345Q21.171 3.201 21.331 3.177L26.164 3.177Q26.325 3.201 26.325 3.345Q26.325 3.417 26.279 3.463Q26.233 3.509 26.164 3.519",[791],[775,1967,1968],{"transform":1943},[787,1969],{"d":1970,"fill":1832,"stroke":1832,"className":1971,"style":888},"M30.534 5.656Q30.534 5.150 30.663 4.642Q30.793 4.135 31.031 3.673Q31.268 3.212 31.603 2.791L32.249 1.978L31.436 1.978Q30.851 1.978 30.455 1.986Q30.058 1.995 30.035 2.015Q29.932 2.132 29.853 2.658L29.587 2.658L29.833 1.134L30.099 1.134L30.099 1.154Q30.099 1.222 30.175 1.265Q30.250 1.308 30.328 1.315Q30.520 1.339 30.715 1.345Q30.910 1.352 31.101 1.354Q31.292 1.356 31.491 1.356L32.912 1.356L32.912 1.544Q32.902 1.592 32.892 1.602L31.836 2.925Q31.617 3.198 31.494 3.511Q31.371 3.823 31.313 4.172Q31.255 4.521 31.241 4.852Q31.227 5.184 31.227 5.656Q31.227 5.806 31.128 5.905Q31.029 6.004 30.882 6.004Q30.732 6.004 30.633 5.905Q30.534 5.806 30.534 5.656",[791],[775,1973,1974,1977],{"fill":1832,"stroke":1832,"style":1115},[787,1975],{"fill":781,"d":1976},"M47.346 3.587c0 28.385 61.458 10.311 61.458 34.57",[787,1978],{"d":1979},"m108.804 41.144 1.577-4.17-1.577 1.383-1.576-1.382Z",[775,1981,1982,1989,1995,2001],{"fill":1832,"stroke":781,"fontSize":880},[775,1983,1985],{"transform":1984},"translate(65.103 28.78)",[787,1986],{"d":1987,"fill":1832,"stroke":1832,"className":1988,"style":888},"M-12.410 5.837L-13.391 3.338Q-13.452 3.195-13.570 3.160Q-13.688 3.126-13.904 3.126L-13.904 2.846L-12.424 2.846L-12.424 3.126Q-12.803 3.126-12.803 3.287Q-12.803 3.297-12.789 3.338L-12.075 5.170L-11.402 3.465Q-11.432 3.393-11.432 3.365Q-11.432 3.338-11.460 3.338Q-11.521 3.191-11.639 3.159Q-11.757 3.126-11.969 3.126L-11.969 2.846L-10.571 2.846L-10.571 3.126Q-10.947 3.126-10.947 3.287Q-10.947 3.318-10.940 3.338L-10.185 5.276L-9.498 3.526Q-9.477 3.475-9.477 3.420Q-9.477 3.280-9.590 3.203Q-9.703 3.126-9.843 3.126L-9.843 2.846L-8.623 2.846L-8.623 3.126Q-8.828 3.126-8.983 3.232Q-9.139 3.338-9.211 3.526L-10.116 5.837Q-10.151 5.932-10.263 5.932L-10.332 5.932Q-10.441 5.932-10.479 5.837L-11.261 3.834L-12.048 5.837Q-12.082 5.932-12.195 5.932L-12.263 5.932Q-12.372 5.932-12.410 5.837M-6.343 5.864L-8.079 5.864L-8.079 5.584Q-7.850 5.584-7.702 5.550Q-7.553 5.515-7.553 5.375L-7.553 3.526Q-7.553 3.256-7.661 3.195Q-7.768 3.133-8.079 3.133L-8.079 2.853L-7.050 2.778L-7.050 3.485Q-6.921 3.177-6.678 2.978Q-6.435 2.778-6.117 2.778Q-5.899 2.778-5.728 2.902Q-5.557 3.027-5.557 3.239Q-5.557 3.376-5.656 3.475Q-5.755 3.574-5.888 3.574Q-6.025 3.574-6.124 3.475Q-6.223 3.376-6.223 3.239Q-6.223 3.099-6.124 3Q-6.415 3-6.615 3.196Q-6.815 3.393-6.907 3.687Q-6.999 3.981-6.999 4.261L-6.999 5.375Q-6.999 5.584-6.343 5.584L-6.343 5.864M-3.356 5.864L-4.907 5.864L-4.907 5.584Q-4.682 5.584-4.533 5.550Q-4.384 5.515-4.384 5.375L-4.384 3.526Q-4.384 3.338-4.432 3.254Q-4.480 3.171-4.578 3.152Q-4.675 3.133-4.887 3.133L-4.887 2.853L-3.831 2.778L-3.831 5.375Q-3.831 5.515-3.699 5.550Q-3.568 5.584-3.356 5.584L-3.356 5.864M-4.627 1.557Q-4.627 1.386-4.504 1.267Q-4.381 1.147-4.210 1.147Q-4.043 1.147-3.920 1.267Q-3.797 1.386-3.797 1.557Q-3.797 1.732-3.920 1.855Q-4.043 1.978-4.210 1.978Q-4.381 1.978-4.504 1.855Q-4.627 1.732-4.627 1.557M-2.183 5.023L-2.183 3.126L-2.822 3.126L-2.822 2.904Q-2.505 2.904-2.288 2.694Q-2.070 2.484-1.970 2.174Q-1.869 1.865-1.869 1.557L-1.602 1.557L-1.602 2.846L-0.526 2.846L-0.526 3.126L-1.602 3.126L-1.602 5.010Q-1.602 5.286-1.498 5.485Q-1.394 5.683-1.134 5.683Q-0.977 5.683-0.871 5.579Q-0.765 5.474-0.715 5.321Q-0.666 5.167-0.666 5.010L-0.666 4.596L-0.399 4.596L-0.399 5.023Q-0.399 5.249-0.498 5.459Q-0.597 5.669-0.782 5.801Q-0.966 5.932-1.195 5.932Q-1.633 5.932-1.908 5.695Q-2.183 5.457-2.183 5.023M0.370 4.329Q0.370 4.008 0.495 3.719Q0.619 3.430 0.845 3.207Q1.071 2.983 1.366 2.863Q1.662 2.743 1.980 2.743Q2.308 2.743 2.569 2.843Q2.831 2.942 3.007 3.124Q3.183 3.307 3.277 3.565Q3.371 3.823 3.371 4.155Q3.371 4.247 3.289 4.268L1.033 4.268L1.033 4.329Q1.033 4.917 1.317 5.300Q1.600 5.683 2.168 5.683Q2.489 5.683 2.757 5.490Q3.026 5.297 3.115 4.982Q3.121 4.941 3.197 4.927L3.289 4.927Q3.371 4.951 3.371 5.023Q3.371 5.030 3.364 5.057Q3.251 5.454 2.880 5.693Q2.510 5.932 2.086 5.932Q1.648 5.932 1.248 5.724Q0.848 5.515 0.609 5.148Q0.370 4.781 0.370 4.329M1.040 4.059L2.855 4.059Q2.855 3.782 2.757 3.530Q2.660 3.277 2.462 3.121Q2.263 2.966 1.980 2.966Q1.703 2.966 1.489 3.124Q1.276 3.283 1.158 3.538Q1.040 3.793 1.040 4.059",[791],[775,1990,1991],{"transform":1984},[787,1992],{"d":1993,"fill":1832,"stroke":1832,"className":1994,"style":888},"M7.202 5.023L7.202 3.126L6.563 3.126L6.563 2.904Q6.881 2.904 7.098 2.694Q7.315 2.484 7.415 2.174Q7.516 1.865 7.516 1.557L7.783 1.557L7.783 2.846L8.860 2.846L8.860 3.126L7.783 3.126L7.783 5.010Q7.783 5.286 7.887 5.485Q7.991 5.683 8.251 5.683Q8.408 5.683 8.514 5.579Q8.620 5.474 8.670 5.321Q8.719 5.167 8.719 5.010L8.719 4.596L8.986 4.596L8.986 5.023Q8.986 5.249 8.887 5.459Q8.788 5.669 8.603 5.801Q8.419 5.932 8.190 5.932Q7.752 5.932 7.477 5.695Q7.202 5.457 7.202 5.023M9.755 4.381Q9.755 4.039 9.890 3.740Q10.025 3.441 10.264 3.217Q10.504 2.993 10.821 2.868Q11.139 2.743 11.471 2.743Q11.915 2.743 12.315 2.959Q12.715 3.174 12.949 3.552Q13.183 3.929 13.183 4.381Q13.183 4.722 13.041 5.006Q12.900 5.290 12.655 5.497Q12.411 5.703 12.101 5.818Q11.792 5.932 11.471 5.932Q11.040 5.932 10.639 5.731Q10.237 5.529 9.996 5.177Q9.755 4.825 9.755 4.381M11.471 5.683Q12.072 5.683 12.296 5.305Q12.520 4.927 12.520 4.295Q12.520 3.683 12.286 3.324Q12.052 2.966 11.471 2.966Q10.418 2.966 10.418 4.295Q10.418 4.927 10.644 5.305Q10.869 5.683 11.471 5.683",[791],[775,1996,1997],{"transform":1984},[787,1998],{"d":1999,"fill":1832,"stroke":1832,"className":2000,"style":888},"M19.604 5.864L16.747 5.864Q16.655 5.837 16.655 5.751L16.686 5.638Q16.723 5.591 16.768 5.584Q17.174 5.584 17.321 5.550Q17.444 5.515 17.482 5.338L18.429 1.557Q18.436 1.540 18.441 1.511Q18.446 1.482 18.449 1.462Q18.449 1.407 18.391 1.390Q18.258 1.363 17.875 1.363Q17.783 1.339 17.783 1.250L17.810 1.140Q17.837 1.093 17.895 1.082L20.582 1.082Q20.903 1.082 21.240 1.187Q21.577 1.291 21.801 1.515Q22.024 1.739 22.024 2.077Q22.024 2.340 21.876 2.564Q21.727 2.788 21.493 2.950Q21.259 3.113 20.990 3.217Q20.722 3.321 20.473 3.365Q20.763 3.393 21.038 3.514Q21.313 3.635 21.488 3.854Q21.662 4.073 21.662 4.360Q21.662 4.688 21.466 4.970Q21.269 5.252 20.955 5.450Q20.640 5.649 20.276 5.756Q19.912 5.864 19.604 5.864M18.077 5.550Q18.077 5.584 18.309 5.584L19.458 5.584Q19.714 5.584 19.975 5.490Q20.237 5.396 20.456 5.223Q20.674 5.051 20.801 4.815Q20.927 4.579 20.927 4.309Q20.927 4.073 20.818 3.885Q20.708 3.697 20.515 3.594Q20.322 3.492 20.086 3.492L18.583 3.492L18.104 5.389Q18.097 5.437 18.090 5.469Q18.083 5.502 18.077 5.550M19.051 1.609L18.637 3.266L19.820 3.266Q20.151 3.266 20.500 3.113Q20.849 2.959 21.079 2.684Q21.310 2.408 21.310 2.077Q21.310 1.745 21.078 1.554Q20.845 1.363 20.514 1.363L19.406 1.363Q19.266 1.363 19.208 1.374Q19.150 1.386 19.116 1.438Q19.082 1.489 19.051 1.609",[791],[775,2002,2003],{"transform":1984},[787,2004],{"d":2005,"fill":1832,"stroke":1832,"className":2006,"style":888},"M24.579 7.614L23.503 7.614L23.503 0.614L24.579 0.614L24.579 0.956L23.844 0.956L23.844 7.272L24.579 7.272L24.579 7.614M26.247 5.656Q26.247 5.150 26.377 4.642Q26.507 4.135 26.745 3.673Q26.982 3.212 27.317 2.791L27.963 1.978L27.150 1.978Q26.565 1.978 26.169 1.986Q25.772 1.995 25.748 2.015Q25.646 2.132 25.567 2.658L25.300 2.658L25.547 1.134L25.813 1.134L25.813 1.154Q25.813 1.222 25.888 1.265Q25.964 1.308 26.042 1.315Q26.234 1.339 26.428 1.345Q26.623 1.352 26.815 1.354Q27.006 1.356 27.204 1.356L28.626 1.356L28.626 1.544Q28.616 1.592 28.606 1.602L27.549 2.925Q27.331 3.198 27.208 3.511Q27.085 3.823 27.027 4.172Q26.968 4.521 26.955 4.852Q26.941 5.184 26.941 5.656Q26.941 5.806 26.842 5.905Q26.743 6.004 26.596 6.004Q26.445 6.004 26.346 5.905Q26.247 5.806 26.247 5.656M30.096 7.614L29.019 7.614L29.019 7.272L29.754 7.272L29.754 0.956L29.019 0.956L29.019 0.614L30.096 0.614",[791],[1203,2008,2010,2011,2053,2054,2096,2097,2121,2122,2146,2147,2162,2163,2178],{"className":2009},[1206],"One step of the scatter loop. The last key ",[395,2012,2014],{"className":2013},[398],[395,2015,2017,2044],{"className":2016,"ariaHidden":403},[402],[395,2018,2020,2023,2026,2029,2032,2035,2038,2041],{"className":2019},[407],[395,2021],{"className":2022,"style":412},[411],[395,2024,1223],{"className":2025},[416,426],[395,2027,1370],{"className":2028},[421],[395,2030,782],{"className":2031},[416],[395,2033,1377],{"className":2034},[452],[395,2036],{"className":2037,"style":593},[431],[395,2039,1230],{"className":2040},[588],[395,2042],{"className":2043,"style":593},[431],[395,2045,2047,2050],{"className":2046},[407],[395,2048],{"className":2049,"style":744},[411],[395,2051,1267],{"className":2052},[416]," reads its rank ",[395,2055,2057],{"className":2056},[398],[395,2058,2060,2087],{"className":2059,"ariaHidden":403},[402],[395,2061,2063,2066,2069,2072,2075,2078,2081,2084],{"className":2062},[407],[395,2064],{"className":2065,"style":412},[411],[395,2067,1413],{"className":2068,"style":1412},[416,426],[395,2070,1370],{"className":2071},[421],[395,2073,1267],{"className":2074},[416],[395,2076,1377],{"className":2077},[452],[395,2079],{"className":2080,"style":593},[431],[395,2082,1230],{"className":2083},[588],[395,2085],{"className":2086,"style":593},[431],[395,2088,2090,2093],{"className":2089},[407],[395,2091],{"className":2092,"style":744},[411],[395,2094,880],{"className":2095},[416],", is written to ",[395,2098,2100],{"className":2099},[398],[395,2101,2103],{"className":2102,"ariaHidden":403},[402],[395,2104,2106,2109,2112,2115,2118],{"className":2105},[407],[395,2107],{"className":2108,"style":412},[411],[395,2110,714],{"className":2111,"style":713},[416,426],[395,2113,1370],{"className":2114},[421],[395,2116,880],{"className":2117},[416],[395,2119,1377],{"className":2120},[452],", and then ",[395,2123,2125],{"className":2124},[398],[395,2126,2128],{"className":2127,"ariaHidden":403},[402],[395,2129,2131,2134,2137,2140,2143],{"className":2130},[407],[395,2132],{"className":2133,"style":412},[411],[395,2135,1413],{"className":2136,"style":1412},[416,426],[395,2138,1370],{"className":2139},[421],[395,2141,1267],{"className":2142},[416],[395,2144,1377],{"className":2145},[452]," is decremented to ",[395,2148,2150],{"className":2149},[398],[395,2151,2153],{"className":2152,"ariaHidden":403},[402],[395,2154,2156,2159],{"className":2155},[407],[395,2157],{"className":2158,"style":744},[411],[395,2160,1507],{"className":2161},[416]," so the previous ",[395,2164,2166],{"className":2165},[398],[395,2167,2169],{"className":2168,"ariaHidden":403},[402],[395,2170,2172,2175],{"className":2171},[407],[395,2173],{"className":2174,"style":744},[411],[395,2176,1267],{"className":2177},[416]," falls just before it — the source of stability.",[2180,2181,2183],"callout",{"type":2182},"remark",[381,2184,2185,2188,2189,2191],{},[460,2186,2187],{},"Remark (Why stability matters)."," A sort is ",[460,2190,751],{}," if elements with equal keys\nkeep their input order. It is the property that lets us sort by one field\nwithout scrambling a previous ordering, and, as we are about to see, it is\nthe linchpin that makes radix sort work at all.",[381,2193,2194,2197,2198,2223,2224,2223,2248,2272,2273,2297,2298,2345,2346,2391,2392,2416,2417,2424,2425,2443,2444,2460,2461,2558,2559,2574,2575,2590],{},[460,2195,2196],{},"Analysis."," The loops run ",[395,2199,2201],{"className":2200},[398],[395,2202,2204],{"className":2203,"ariaHidden":403},[402],[395,2205,2207,2210,2214,2217,2220],{"className":2206},[407],[395,2208],{"className":2209,"style":412},[411],[395,2211,2213],{"className":2212},[416],"Θ",[395,2215,422],{"className":2216},[421],[395,2218,543],{"className":2219,"style":542},[416,426],[395,2221,453],{"className":2222},[452],", ",[395,2225,2227],{"className":2226},[398],[395,2228,2230],{"className":2229,"ariaHidden":403},[402],[395,2231,2233,2236,2239,2242,2245],{"className":2232},[407],[395,2234],{"className":2235,"style":412},[411],[395,2237,2213],{"className":2238},[416],[395,2240,422],{"className":2241},[421],[395,2243,427],{"className":2244},[416,426],[395,2246,453],{"className":2247},[452],[395,2249,2251],{"className":2250},[398],[395,2252,2254],{"className":2253,"ariaHidden":403},[402],[395,2255,2257,2260,2263,2266,2269],{"className":2256},[407],[395,2258],{"className":2259,"style":412},[411],[395,2261,2213],{"className":2262},[416],[395,2264,422],{"className":2265},[421],[395,2267,543],{"className":2268,"style":542},[416,426],[395,2270,453],{"className":2271},[452],", and\n",[395,2274,2276],{"className":2275},[398],[395,2277,2279],{"className":2278,"ariaHidden":403},[402],[395,2280,2282,2285,2288,2291,2294],{"className":2281},[407],[395,2283],{"className":2284,"style":412},[411],[395,2286,2213],{"className":2287},[416],[395,2289,422],{"className":2290},[421],[395,2292,427],{"className":2293},[416,426],[395,2295,453],{"className":2296},[452]," times, so counting sort is\n",[385,2299,2300],{"href":17},[395,2301,2303],{"className":2302},[398],[395,2304,2306,2333],{"className":2305,"ariaHidden":403},[402],[395,2307,2309,2312,2315,2318,2321,2325,2330],{"className":2308},[407],[395,2310],{"className":2311,"style":412},[411],[395,2313,2213],{"className":2314},[416],[395,2316,422],{"className":2317},[421],[395,2319,427],{"className":2320},[416,426],[395,2322],{"className":2323,"style":2324},[431],"margin-right:0.2222em;",[395,2326,2329],{"className":2327},[2328],"mbin","+",[395,2331],{"className":2332,"style":2324},[431],[395,2334,2336,2339,2342],{"className":2335},[407],[395,2337],{"className":2338,"style":412},[411],[395,2340,543],{"className":2341,"style":542},[416,426],[395,2343,453],{"className":2344},[452]," in both time and\nspace. As\nlong as ",[395,2347,2349],{"className":2348},[398],[395,2350,2352,2371],{"className":2351,"ariaHidden":403},[402],[395,2353,2355,2359,2362,2365,2368],{"className":2354},[407],[395,2356],{"className":2357,"style":2358},[411],"height:0.6944em;",[395,2360,543],{"className":2361,"style":542},[416,426],[395,2363],{"className":2364,"style":593},[431],[395,2366,1230],{"className":2367},[588],[395,2369],{"className":2370,"style":593},[431],[395,2372,2374,2377,2382,2385,2388],{"className":2373},[407],[395,2375],{"className":2376,"style":412},[411],[395,2378,2381],{"className":2379,"style":2380},[416,426],"margin-right:0.0278em;","O",[395,2383,422],{"className":2384},[421],[395,2386,427],{"className":2387},[416,426],[395,2389,453],{"className":2390},[452]," this is ",[395,2393,2395],{"className":2394},[398],[395,2396,2398],{"className":2397,"ariaHidden":403},[402],[395,2399,2401,2404,2407,2410,2413],{"className":2400},[407],[395,2402],{"className":2403,"style":412},[411],[395,2405,2213],{"className":2406},[416],[395,2408,422],{"className":2409},[421],[395,2411,427],{"className":2412},[416,426],[395,2414,453],{"className":2415},[452],", genuinely linear, beating the\ncomparison bound because no comparisons happen.",[465,2418,2419],{},[385,2420,1247],{"href":2421,"ariaDescribedBy":2422,"dataFootnoteRef":376,"id":2423},"#user-content-fn-clrs-counting",[471],"user-content-fnref-clrs-counting"," The catch is the\n",[390,2426,2427,2428],{},"space and time in ",[395,2429,2431],{"className":2430},[398],[395,2432,2434],{"className":2433,"ariaHidden":403},[402],[395,2435,2437,2440],{"className":2436},[407],[395,2438],{"className":2439,"style":2358},[411],[395,2441,543],{"className":2442,"style":542},[416,426],". If the keys range over, say, ",[395,2445,2447],{"className":2446},[398],[395,2448,2450],{"className":2449,"ariaHidden":403},[402],[395,2451,2453,2456],{"className":2452},[407],[395,2454],{"className":2455,"style":744},[411],[395,2457,2459],{"className":2458},[416],"32","-bit integers, then\n",[395,2462,2464],{"className":2463},[398],[395,2465,2467,2486,2507],{"className":2466,"ariaHidden":403},[402],[395,2468,2470,2473,2476,2479,2483],{"className":2469},[407],[395,2471],{"className":2472,"style":2358},[411],[395,2474,543],{"className":2475,"style":542},[416,426],[395,2477],{"className":2478,"style":593},[431],[395,2480,2482],{"className":2481},[588],"≈",[395,2484],{"className":2485,"style":593},[431],[395,2487,2489,2493,2497,2500,2504],{"className":2488},[407],[395,2490],{"className":2491,"style":2492},[411],"height:0.7278em;vertical-align:-0.0833em;",[395,2494,2496],{"className":2495},[416],"4",[395,2498],{"className":2499,"style":2324},[431],[395,2501,2503],{"className":2502},[2328],"×",[395,2505],{"className":2506,"style":2324},[431],[395,2508,2510,2514,2517],{"className":2509},[407],[395,2511],{"className":2512,"style":2513},[411],"height:0.8141em;",[395,2515,473],{"className":2516},[416],[395,2518,2520,2523],{"className":2519},[416],[395,2521,508],{"className":2522},[416],[395,2524,2527],{"className":2525},[2526],"msupsub",[395,2528,2531],{"className":2529},[2530],"vlist-t",[395,2532,2535],{"className":2533},[2534],"vlist-r",[395,2536,2539],{"className":2537,"style":2513},[2538],"vlist",[395,2540,2542,2547],{"style":2541},"top:-3.063em;margin-right:0.05em;",[395,2543],{"className":2544,"style":2546},[2545],"pstrut","height:2.7em;",[395,2548,2554],{"className":2549},[2550,2551,2552,2553],"sizing","reset-size6","size3","mtight",[395,2555,2557],{"className":2556},[416,2553],"9"," dwarfs any realistic ",[395,2560,2562],{"className":2561},[398],[395,2563,2565],{"className":2564,"ariaHidden":403},[402],[395,2566,2568,2571],{"className":2567},[407],[395,2569],{"className":2570,"style":565},[411],[395,2572,427],{"className":2573},[416,426],", the count array ",[395,2576,2578],{"className":2577},[398],[395,2579,2581],{"className":2580,"ariaHidden":403},[402],[395,2582,2584,2587],{"className":2583},[407],[395,2585],{"className":2586,"style":709},[411],[395,2588,1413],{"className":2589,"style":1412},[416,426]," is\nenormous, and the method falls apart. Counting sort works best when the key\nuniverse is small.",[476,2592,2594],{"id":2593},"radix-sort","Radix sort",[381,2596,2597,2598,2614,2615,2617,2618,2633,2634,2637],{},"What if the keys are larger, say ",[395,2599,2601],{"className":2600},[398],[395,2602,2604],{"className":2603,"ariaHidden":403},[402],[395,2605,2607,2610],{"className":2606},[407],[395,2608],{"className":2609,"style":2358},[411],[395,2611,2613],{"className":2612},[416,426],"d","-digit numbers, so that a single counting\npass is infeasible? ",[460,2616,2594],{}," decomposes each key into ",[395,2619,2621],{"className":2620},[398],[395,2622,2624],{"className":2623,"ariaHidden":403},[402],[395,2625,2627,2630],{"className":2626},[407],[395,2628],{"className":2629,"style":2358},[411],[395,2631,2613],{"className":2632},[416,426]," digits and sorts one\ndigit at a time. The counterintuitive rule, known since the days of\npunched-card machines, is to sort by the ",[460,2635,2636],{},"least significant digit first"," (LSD),\nworking up to the most significant.",[621,2639,2641],{"className":623,"code":2640,"language":625,"meta":376,"style":376},"caption: $\\textsc{Radix-Sort}(A, d)$ — sort $d$-digit keys, least significant digit first\nnumber: 2\nfor $i \\gets 1$ to $d$ do\n  use a stable sort to sort $A$ on digit $i$ \u002F\u002F digit 1 = least sig.\n",[627,2642,2643,2648,2653,2658],{"__ignoreMap":376},[395,2644,2645],{"class":631,"line":6},[395,2646,2647],{},"caption: $\\textsc{Radix-Sort}(A, d)$ — sort $d$-digit keys, least significant digit first\n",[395,2649,2650],{"class":631,"line":18},[395,2651,2652],{},"number: 2\n",[395,2654,2655],{"class":631,"line":24},[395,2656,2657],{},"for $i \\gets 1$ to $d$ do\n",[395,2659,2660],{"class":631,"line":73},[395,2661,2662],{},"  use a stable sort to sort $A$ on digit $i$ \u002F\u002F digit 1 = least sig.\n",[381,2664,2665,2666,2669,2670,2687,2688,2707,2708,2742,2743,2745,2746,2779,2780,2783,2784,2817,2818,2836,2837,2864,2865,2880,2881,2888],{},"The correctness rests entirely on ",[460,2667,2668],{},"stability",". After sorting on digit ",[395,2671,2673],{"className":2672},[398],[395,2674,2676],{"className":2675,"ariaHidden":403},[402],[395,2677,2679,2683],{"className":2678},[407],[395,2680],{"className":2681,"style":2682},[411],"height:0.6595em;",[395,2684,2686],{"className":2685},[416,426],"i",",\nsuppose the array is correctly ordered by the low-order digits ",[395,2689,2691],{"className":2690},[398],[395,2692,2694],{"className":2693,"ariaHidden":403},[402],[395,2695,2697,2700,2704],{"className":2696},[407],[395,2698],{"className":2699,"style":2682},[411],[395,2701,2703],{"className":2702},[416],"1..",[395,2705,2686],{"className":2706},[416,426],". Now sort\non digit ",[395,2709,2711],{"className":2710},[398],[395,2712,2714,2733],{"className":2713,"ariaHidden":403},[402],[395,2715,2717,2721,2724,2727,2730],{"className":2716},[407],[395,2718],{"className":2719,"style":2720},[411],"height:0.7429em;vertical-align:-0.0833em;",[395,2722,2686],{"className":2723},[416,426],[395,2725],{"className":2726,"style":2324},[431],[395,2728,2329],{"className":2729},[2328],[395,2731],{"className":2732,"style":2324},[431],[395,2734,2736,2739],{"className":2735},[407],[395,2737],{"className":2738,"style":744},[411],[395,2740,473],{"className":2741},[416]," with a ",[390,2744,751],{}," sort. Two keys differing in digit ",[395,2747,2749],{"className":2748},[398],[395,2750,2752,2770],{"className":2751,"ariaHidden":403},[402],[395,2753,2755,2758,2761,2764,2767],{"className":2754},[407],[395,2756],{"className":2757,"style":2720},[411],[395,2759,2686],{"className":2760},[416,426],[395,2762],{"className":2763,"style":2324},[431],[395,2765,2329],{"className":2766},[2328],[395,2768],{"className":2769,"style":2324},[431],[395,2771,2773,2776],{"className":2772},[407],[395,2774],{"className":2775,"style":744},[411],[395,2777,473],{"className":2778},[416]," are\nordered correctly by that pass. Two keys ",[390,2781,2782],{},"agreeing"," in digit ",[395,2785,2787],{"className":2786},[398],[395,2788,2790,2808],{"className":2789,"ariaHidden":403},[402],[395,2791,2793,2796,2799,2802,2805],{"className":2792},[407],[395,2794],{"className":2795,"style":2720},[411],[395,2797,2686],{"className":2798},[416,426],[395,2800],{"className":2801,"style":2324},[431],[395,2803,2329],{"className":2804},[2328],[395,2806],{"className":2807,"style":2324},[431],[395,2809,2811,2814],{"className":2810},[407],[395,2812],{"className":2813,"style":744},[411],[395,2815,473],{"className":2816},[416]," are left in\ntheir incoming order by stability, and that incoming order was already correct\non digits ",[395,2819,2821],{"className":2820},[398],[395,2822,2824],{"className":2823,"ariaHidden":403},[402],[395,2825,2827,2830,2833],{"className":2826},[407],[395,2828],{"className":2829,"style":2682},[411],[395,2831,2703],{"className":2832},[416],[395,2834,2686],{"className":2835},[416,426],". So after the pass the array is correctly ordered on digits\n",[395,2838,2840],{"className":2839},[398],[395,2841,2843],{"className":2842,"ariaHidden":403},[402],[395,2844,2846,2849,2852,2855,2861],{"className":2845},[407],[395,2847],{"className":2848,"style":2720},[411],[395,2850,2703],{"className":2851},[416],[395,2853,2686],{"className":2854},[416,426],[395,2856,2858],{"className":2857},[416],[395,2859,2329],{"className":2860},[416],[395,2862,473],{"className":2863},[416],". By induction, after all ",[395,2866,2868],{"className":2867},[398],[395,2869,2871],{"className":2870,"ariaHidden":403},[402],[395,2872,2874,2877],{"className":2873},[407],[395,2875],{"className":2876,"style":2358},[411],[395,2878,2613],{"className":2879},[416,426]," passes the array is fully sorted.",[465,2882,2883],{},[385,2884,1267],{"href":2885,"ariaDescribedBy":2886,"dataFootnoteRef":376,"id":2887},"#user-content-fn-clrs-radix",[471],"user-content-fnref-clrs-radix"," Using\nan unstable per-digit sort would destroy the work of every earlier pass. This is\nwhy the inner sort must be stable, and counting sort is the natural choice.",[762,2890,2892,3238],{"className":2891},[765,766],[768,2893,2897],{"xmlns":770,"width":2894,"height":2895,"viewBox":2896},"229.890","196.779","-75 -75 172.418 147.585",[775,2898,2899,2906,2927,2946,2965,2968,2975,2978,2985,2988,2995,2998,3005,3008,3015,3018,3025,3028,3035,3038,3044,3047,3053,3056,3062,3065,3071,3074,3080,3083,3089,3092,3098,3101,3107,3110,3116,3119,3125,3128,3134,3137,3143,3146,3152,3155,3161,3172,3183,3194,3205,3216,3227],{"stroke":777,"style":778},[775,2900,2902],{"transform":2901},"translate(-8.763 -17.457)",[787,2903],{"d":2904,"fill":777,"stroke":777,"className":2905,"style":792},"M-50.896-45.473L-50.896-46.695Q-50.896-46.723-50.864-46.754Q-50.833-46.785-50.810-46.785L-50.704-46.785Q-50.634-46.785-50.618-46.723Q-50.556-46.403-50.417-46.162Q-50.279-45.922-50.046-45.781Q-49.814-45.641-49.505-45.641Q-49.267-45.641-49.058-45.701Q-48.849-45.762-48.712-45.910Q-48.575-46.059-48.575-46.305Q-48.575-46.559-48.786-46.725Q-48.997-46.891-49.267-46.945L-49.888-47.059Q-50.294-47.137-50.595-47.393Q-50.896-47.649-50.896-48.024Q-50.896-48.391-50.695-48.613Q-50.493-48.836-50.169-48.934Q-49.845-49.031-49.505-49.031Q-49.040-49.031-48.743-48.824L-48.521-49.008Q-48.497-49.031-48.466-49.031L-48.415-49.031Q-48.384-49.031-48.357-49.004Q-48.329-48.977-48.329-48.945L-48.329-47.961Q-48.329-47.930-48.355-47.901Q-48.380-47.871-48.415-47.871L-48.521-47.871Q-48.556-47.871-48.583-47.899Q-48.611-47.926-48.611-47.961Q-48.611-48.360-48.863-48.580Q-49.114-48.801-49.513-48.801Q-49.868-48.801-50.152-48.678Q-50.435-48.555-50.435-48.250Q-50.435-48.031-50.234-47.899Q-50.032-47.766-49.786-47.723L-49.161-47.610Q-48.732-47.520-48.423-47.223Q-48.114-46.926-48.114-46.512Q-48.114-45.942-48.513-45.664Q-48.911-45.387-49.505-45.387Q-50.056-45.387-50.407-45.723L-50.704-45.410Q-50.728-45.387-50.763-45.387L-50.810-45.387Q-50.833-45.387-50.864-45.418Q-50.896-45.449-50.896-45.473M-46.962-46.426L-46.962-48.617L-47.665-48.617L-47.665-48.871Q-47.310-48.871-47.068-49.104Q-46.825-49.336-46.714-49.684Q-46.603-50.031-46.603-50.387L-46.322-50.387L-46.322-48.914L-45.146-48.914L-45.146-48.617L-46.322-48.617L-46.322-46.442Q-46.322-46.121-46.202-45.893Q-46.083-45.664-45.802-45.664Q-45.622-45.664-45.505-45.787Q-45.388-45.910-45.335-46.090Q-45.282-46.270-45.282-46.442L-45.282-46.914L-45.001-46.914L-45.001-46.426Q-45.001-46.172-45.107-45.932Q-45.212-45.692-45.409-45.539Q-45.607-45.387-45.864-45.387Q-46.181-45.387-46.433-45.510Q-46.685-45.633-46.823-45.867Q-46.962-46.102-46.962-46.426M-44.185-46.297Q-44.185-46.781-43.782-47.076Q-43.380-47.371-42.829-47.490Q-42.279-47.610-41.786-47.610L-41.786-47.899Q-41.786-48.125-41.902-48.332Q-42.017-48.539-42.214-48.658Q-42.411-48.778-42.642-48.778Q-43.068-48.778-43.353-48.672Q-43.282-48.645-43.236-48.590Q-43.189-48.535-43.163-48.465Q-43.138-48.395-43.138-48.320Q-43.138-48.215-43.189-48.123Q-43.239-48.031-43.331-47.981Q-43.423-47.930-43.529-47.930Q-43.634-47.930-43.726-47.981Q-43.818-48.031-43.868-48.123Q-43.919-48.215-43.919-48.320Q-43.919-48.738-43.531-48.885Q-43.142-49.031-42.642-49.031Q-42.310-49.031-41.956-48.901Q-41.603-48.770-41.374-48.516Q-41.146-48.262-41.146-47.914L-41.146-46.113Q-41.146-45.981-41.073-45.871Q-41.001-45.762-40.872-45.762Q-40.747-45.762-40.679-45.867Q-40.611-45.973-40.611-46.113L-40.611-46.625L-40.329-46.625L-40.329-46.113Q-40.329-45.910-40.447-45.752Q-40.564-45.594-40.745-45.510Q-40.927-45.426-41.130-45.426Q-41.361-45.426-41.513-45.598Q-41.665-45.770-41.697-46Q-41.857-45.719-42.165-45.553Q-42.474-45.387-42.825-45.387Q-43.337-45.387-43.761-45.610Q-44.185-45.832-44.185-46.297M-43.497-46.297Q-43.497-46.012-43.271-45.826Q-43.044-45.641-42.751-45.641Q-42.505-45.641-42.281-45.758Q-42.056-45.875-41.921-46.078Q-41.786-46.281-41.786-46.535L-41.786-47.367Q-42.052-47.367-42.337-47.313Q-42.622-47.258-42.894-47.129Q-43.165-47-43.331-46.793Q-43.497-46.586-43.497-46.297M-38.029-45.465L-40.009-45.465L-40.009-45.762Q-39.739-45.762-39.572-45.807Q-39.404-45.852-39.404-46.024L-39.404-48.160Q-39.404-48.375-39.466-48.471Q-39.529-48.567-39.646-48.588Q-39.763-48.610-40.009-48.610L-40.009-48.906L-38.841-48.992L-38.841-48.207Q-38.763-48.418-38.611-48.604Q-38.458-48.789-38.259-48.891Q-38.060-48.992-37.833-48.992Q-37.587-48.992-37.396-48.848Q-37.204-48.703-37.204-48.473Q-37.204-48.317-37.310-48.207Q-37.415-48.098-37.572-48.098Q-37.728-48.098-37.837-48.207Q-37.947-48.317-37.947-48.473Q-37.947-48.633-37.841-48.738Q-38.165-48.738-38.380-48.510Q-38.595-48.281-38.691-47.942Q-38.786-47.602-38.786-47.297L-38.786-46.024Q-38.786-45.856-38.560-45.809Q-38.333-45.762-38.029-45.762L-38.029-45.465M-36.099-46.426L-36.099-48.617L-36.802-48.617L-36.802-48.871Q-36.447-48.871-36.204-49.104Q-35.962-49.336-35.851-49.684Q-35.739-50.031-35.739-50.387L-35.458-50.387L-35.458-48.914L-34.282-48.914L-34.282-48.617L-35.458-48.617L-35.458-46.442Q-35.458-46.121-35.339-45.893Q-35.220-45.664-34.939-45.664Q-34.759-45.664-34.642-45.787Q-34.525-45.910-34.472-46.090Q-34.419-46.270-34.419-46.442L-34.419-46.914L-34.138-46.914L-34.138-46.426Q-34.138-46.172-34.243-45.932Q-34.349-45.692-34.546-45.539Q-34.743-45.387-35.001-45.387Q-35.318-45.387-35.570-45.510Q-35.822-45.633-35.960-45.867Q-36.099-46.102-36.099-46.426",[791],[775,2907,2908,2915,2921],{"stroke":781,"fontFamily":939,"fontSize":782},[775,2909,2911],{"transform":2910},"translate(32.975 -17.917)",[787,2912],{"d":2913,"fill":777,"stroke":777,"className":2914,"style":792},"M-50.025-45.465L-50.306-45.465L-50.306-50.184Q-50.306-50.399-50.368-50.494Q-50.431-50.590-50.548-50.611Q-50.665-50.633-50.911-50.633L-50.911-50.930L-49.689-51.016L-49.689-48.528Q-49.212-48.992-48.513-48.992Q-48.032-48.992-47.624-48.748Q-47.216-48.504-46.980-48.090Q-46.743-47.676-46.743-47.192Q-46.743-46.817-46.892-46.488Q-47.040-46.160-47.310-45.908Q-47.579-45.656-47.923-45.522Q-48.267-45.387-48.626-45.387Q-48.947-45.387-49.245-45.535Q-49.544-45.684-49.751-45.945L-50.025-45.465M-49.665-48.137L-49.665-46.297Q-49.513-46-49.253-45.820Q-48.993-45.641-48.681-45.641Q-48.255-45.641-47.988-45.860Q-47.720-46.078-47.605-46.424Q-47.489-46.770-47.489-47.192Q-47.489-47.840-47.738-48.289Q-47.986-48.738-48.583-48.738Q-48.919-48.738-49.208-48.580Q-49.497-48.422-49.665-48.137",[791],[775,2916,2917],{"transform":2910},[787,2918],{"d":2919,"fill":777,"stroke":777,"className":2920,"style":792},"M-46.035-44.168Q-45.921-44.090-45.746-44.090Q-45.457-44.090-45.236-44.303Q-45.015-44.516-44.890-44.817L-44.601-45.465L-45.875-48.352Q-45.957-48.528-46.101-48.572Q-46.246-48.617-46.515-48.617L-46.515-48.914L-44.796-48.914L-44.796-48.617Q-45.218-48.617-45.218-48.434Q-45.218-48.422-45.203-48.352L-44.265-46.227L-43.433-48.137Q-43.394-48.227-43.394-48.305Q-43.394-48.445-43.496-48.531Q-43.597-48.617-43.738-48.617L-43.738-48.914L-42.386-48.914L-42.386-48.617Q-42.640-48.617-42.834-48.492Q-43.027-48.367-43.132-48.137L-44.578-44.817Q-44.691-44.563-44.857-44.340Q-45.023-44.117-45.252-43.975Q-45.480-43.832-45.746-43.832Q-46.043-43.832-46.283-44.024Q-46.523-44.215-46.523-44.504Q-46.523-44.660-46.418-44.762Q-46.312-44.863-46.164-44.863Q-46.058-44.863-45.978-44.817Q-45.898-44.770-45.851-44.692Q-45.804-44.613-45.804-44.504Q-45.804-44.383-45.865-44.295Q-45.925-44.207-46.035-44.168",[791],[775,2922,2923],{"transform":2910},[787,2924],{"d":2925,"fill":777,"stroke":777,"className":2926,"style":792},"M-35.777-45.465L-38.570-45.465L-38.570-45.762Q-37.508-45.762-37.508-46.024L-37.508-50.192Q-37.937-49.977-38.617-49.977L-38.617-50.274Q-37.598-50.274-37.082-50.785L-36.937-50.785Q-36.863-50.766-36.844-50.688L-36.844-46.024Q-36.844-45.762-35.777-45.762L-35.777-45.465M-34.844-45.473L-34.844-46.695Q-34.844-46.723-34.812-46.754Q-34.781-46.785-34.758-46.785L-34.652-46.785Q-34.582-46.785-34.566-46.723Q-34.504-46.403-34.365-46.162Q-34.226-45.922-33.994-45.781Q-33.762-45.641-33.453-45.641Q-33.215-45.641-33.006-45.701Q-32.797-45.762-32.660-45.910Q-32.523-46.059-32.523-46.305Q-32.523-46.559-32.734-46.725Q-32.945-46.891-33.215-46.945L-33.836-47.059Q-34.242-47.137-34.543-47.393Q-34.844-47.649-34.844-48.024Q-34.844-48.391-34.642-48.613Q-34.441-48.836-34.117-48.934Q-33.793-49.031-33.453-49.031Q-32.988-49.031-32.691-48.824L-32.469-49.008Q-32.445-49.031-32.414-49.031L-32.363-49.031Q-32.332-49.031-32.305-49.004Q-32.277-48.977-32.277-48.945L-32.277-47.961Q-32.277-47.930-32.303-47.901Q-32.328-47.871-32.363-47.871L-32.469-47.871Q-32.504-47.871-32.531-47.899Q-32.559-47.926-32.559-47.961Q-32.559-48.360-32.810-48.580Q-33.062-48.801-33.461-48.801Q-33.816-48.801-34.100-48.678Q-34.383-48.555-34.383-48.250Q-34.383-48.031-34.182-47.899Q-33.980-47.766-33.734-47.723L-33.109-47.610Q-32.680-47.520-32.371-47.223Q-32.062-46.926-32.062-46.512Q-32.062-45.942-32.461-45.664Q-32.859-45.387-33.453-45.387Q-34.004-45.387-34.355-45.723L-34.652-45.410Q-34.676-45.387-34.711-45.387L-34.758-45.387Q-34.781-45.387-34.812-45.418Q-34.844-45.449-34.844-45.473",[791],[775,2928,2929,2935,2940],{"stroke":781,"fontFamily":939,"fontSize":782},[775,2930,2932],{"transform":2931},"translate(73.529 -17.917)",[787,2933],{"d":2913,"fill":777,"stroke":777,"className":2934,"style":792},[791],[775,2936,2937],{"transform":2931},[787,2938],{"d":2919,"fill":777,"stroke":777,"className":2939,"style":792},[791],[775,2941,2942],{"transform":2931},[787,2943],{"d":2944,"fill":777,"stroke":777,"className":2945,"style":792},"M-35.777-45.465L-38.570-45.465L-38.570-45.762Q-37.508-45.762-37.508-46.024L-37.508-50.192Q-37.937-49.977-38.617-49.977L-38.617-50.274Q-37.598-50.274-37.082-50.785L-36.937-50.785Q-36.863-50.766-36.844-50.688L-36.844-46.024Q-36.844-45.762-35.777-45.762L-35.777-45.465M-33.004-45.297Q-33.707-45.297-34.107-45.697Q-34.508-46.098-34.652-46.707Q-34.797-47.317-34.797-48.016Q-34.797-48.539-34.726-49.002Q-34.656-49.465-34.463-49.877Q-34.269-50.289-33.912-50.537Q-33.555-50.785-33.004-50.785Q-32.453-50.785-32.096-50.537Q-31.738-50.289-31.547-49.879Q-31.355-49.469-31.285-49Q-31.215-48.531-31.215-48.016Q-31.215-47.317-31.357-46.709Q-31.500-46.102-31.900-45.699Q-32.301-45.297-33.004-45.297M-33.004-45.555Q-32.531-45.555-32.299-45.990Q-32.066-46.426-32.012-46.965Q-31.957-47.504-31.957-48.145Q-31.957-49.141-32.141-49.834Q-32.324-50.528-33.004-50.528Q-33.371-50.528-33.592-50.289Q-33.812-50.051-33.908-49.694Q-34.004-49.336-34.029-48.965Q-34.055-48.594-34.055-48.145Q-34.055-47.504-34-46.965Q-33.945-46.426-33.713-45.990Q-33.480-45.555-33.004-45.555M-30.598-45.473L-30.598-46.695Q-30.598-46.723-30.566-46.754Q-30.535-46.785-30.512-46.785L-30.406-46.785Q-30.336-46.785-30.320-46.723Q-30.258-46.403-30.119-46.162Q-29.980-45.922-29.748-45.781Q-29.516-45.641-29.207-45.641Q-28.969-45.641-28.760-45.701Q-28.551-45.762-28.414-45.910Q-28.277-46.059-28.277-46.305Q-28.277-46.559-28.488-46.725Q-28.699-46.891-28.969-46.945L-29.590-47.059Q-29.996-47.137-30.297-47.393Q-30.598-47.649-30.598-48.024Q-30.598-48.391-30.396-48.613Q-30.195-48.836-29.871-48.934Q-29.547-49.031-29.207-49.031Q-28.742-49.031-28.445-48.824L-28.223-49.008Q-28.199-49.031-28.168-49.031L-28.117-49.031Q-28.086-49.031-28.059-49.004Q-28.031-48.977-28.031-48.945L-28.031-47.961Q-28.031-47.930-28.057-47.901Q-28.082-47.871-28.117-47.871L-28.223-47.871Q-28.258-47.871-28.285-47.899Q-28.312-47.926-28.312-47.961Q-28.312-48.360-28.564-48.580Q-28.816-48.801-29.215-48.801Q-29.570-48.801-29.853-48.678Q-30.137-48.555-30.137-48.250Q-30.137-48.031-29.935-47.899Q-29.734-47.766-29.488-47.723L-28.863-47.610Q-28.434-47.520-28.125-47.223Q-27.816-46.926-27.816-46.512Q-27.816-45.942-28.215-45.664Q-28.613-45.387-29.207-45.387Q-29.758-45.387-30.109-45.723L-30.406-45.410Q-30.430-45.387-30.465-45.387L-30.512-45.387Q-30.535-45.387-30.566-45.418Q-30.598-45.449-30.598-45.473",[791],[775,2947,2948,2954,2959],{"stroke":781,"fontFamily":939,"fontSize":782},[775,2949,2951],{"transform":2950},"translate(114.083 -17.917)",[787,2952],{"d":2913,"fill":777,"stroke":777,"className":2953,"style":792},[791],[775,2955,2956],{"transform":2950},[787,2957],{"d":2919,"fill":777,"stroke":777,"className":2958,"style":792},[791],[775,2960,2961],{"transform":2950},[787,2962],{"d":2963,"fill":777,"stroke":777,"className":2964,"style":792},"M-35.777-45.465L-38.570-45.465L-38.570-45.762Q-37.508-45.762-37.508-46.024L-37.508-50.192Q-37.937-49.977-38.617-49.977L-38.617-50.274Q-37.598-50.274-37.082-50.785L-36.937-50.785Q-36.863-50.766-36.844-50.688L-36.844-46.024Q-36.844-45.762-35.777-45.762L-35.777-45.465M-33.004-45.297Q-33.707-45.297-34.107-45.697Q-34.508-46.098-34.652-46.707Q-34.797-47.317-34.797-48.016Q-34.797-48.539-34.726-49.002Q-34.656-49.465-34.463-49.877Q-34.269-50.289-33.912-50.537Q-33.555-50.785-33.004-50.785Q-32.453-50.785-32.096-50.537Q-31.738-50.289-31.547-49.879Q-31.355-49.469-31.285-49Q-31.215-48.531-31.215-48.016Q-31.215-47.317-31.357-46.709Q-31.500-46.102-31.900-45.699Q-32.301-45.297-33.004-45.297M-33.004-45.555Q-32.531-45.555-32.299-45.990Q-32.066-46.426-32.012-46.965Q-31.957-47.504-31.957-48.145Q-31.957-49.141-32.141-49.834Q-32.324-50.528-33.004-50.528Q-33.371-50.528-33.592-50.289Q-33.812-50.051-33.908-49.694Q-34.004-49.336-34.029-48.965Q-34.055-48.594-34.055-48.145Q-34.055-47.504-34-46.965Q-33.945-46.426-33.713-45.990Q-33.480-45.555-33.004-45.555M-28.758-45.297Q-29.461-45.297-29.861-45.697Q-30.262-46.098-30.406-46.707Q-30.551-47.317-30.551-48.016Q-30.551-48.539-30.480-49.002Q-30.410-49.465-30.217-49.877Q-30.023-50.289-29.666-50.537Q-29.309-50.785-28.758-50.785Q-28.207-50.785-27.850-50.537Q-27.492-50.289-27.301-49.879Q-27.109-49.469-27.039-49Q-26.969-48.531-26.969-48.016Q-26.969-47.317-27.111-46.709Q-27.254-46.102-27.654-45.699Q-28.055-45.297-28.758-45.297M-28.758-45.555Q-28.285-45.555-28.053-45.990Q-27.820-46.426-27.766-46.965Q-27.711-47.504-27.711-48.145Q-27.711-49.141-27.894-49.834Q-28.078-50.528-28.758-50.528Q-29.125-50.528-29.346-50.289Q-29.566-50.051-29.662-49.694Q-29.758-49.336-29.783-48.965Q-29.809-48.594-29.809-48.145Q-29.809-47.504-29.754-46.965Q-29.699-46.426-29.467-45.990Q-29.234-45.555-28.758-45.555M-26.351-45.473L-26.351-46.695Q-26.351-46.723-26.320-46.754Q-26.289-46.785-26.266-46.785L-26.160-46.785Q-26.090-46.785-26.074-46.723Q-26.012-46.403-25.873-46.162Q-25.734-45.922-25.502-45.781Q-25.269-45.641-24.961-45.641Q-24.723-45.641-24.514-45.701Q-24.305-45.762-24.168-45.910Q-24.031-46.059-24.031-46.305Q-24.031-46.559-24.242-46.725Q-24.453-46.891-24.723-46.945L-25.344-47.059Q-25.750-47.137-26.051-47.393Q-26.351-47.649-26.351-48.024Q-26.351-48.391-26.150-48.613Q-25.949-48.836-25.625-48.934Q-25.301-49.031-24.961-49.031Q-24.496-49.031-24.199-48.824L-23.976-49.008Q-23.953-49.031-23.922-49.031L-23.871-49.031Q-23.840-49.031-23.812-49.004Q-23.785-48.977-23.785-48.945L-23.785-47.961Q-23.785-47.930-23.810-47.901Q-23.836-47.871-23.871-47.871L-23.976-47.871Q-24.012-47.871-24.039-47.899Q-24.066-47.926-24.066-47.961Q-24.066-48.360-24.318-48.580Q-24.570-48.801-24.969-48.801Q-25.324-48.801-25.607-48.678Q-25.891-48.555-25.891-48.250Q-25.891-48.031-25.689-47.899Q-25.488-47.766-25.242-47.723L-24.617-47.610Q-24.187-47.520-23.879-47.223Q-23.570-46.926-23.570-46.512Q-23.570-45.942-23.969-45.664Q-24.367-45.387-24.961-45.387Q-25.512-45.387-25.863-45.723L-26.160-45.410Q-26.184-45.387-26.219-45.387L-26.266-45.387Q-26.289-45.387-26.320-45.418Q-26.351-45.449-26.351-45.473",[791],[787,2966],{"fill":781,"d":2967},"M-65.403-36.929h28.452V-54h-28.452Z",[775,2969,2971],{"transform":2970},"translate(-6.937 2.9)",[787,2972],{"d":2973,"fill":777,"stroke":777,"className":2974,"style":809},"M-50.276-46.186L-50.320-46.186Q-50.118-45.869-49.731-45.711Q-49.344-45.553-48.918-45.553Q-48.382-45.553-48.143-45.988Q-47.903-46.423-47.903-47.003Q-47.903-47.583-48.149-48.023Q-48.395-48.462-48.927-48.462L-49.547-48.462Q-49.573-48.462-49.606-48.491Q-49.639-48.519-49.639-48.541L-49.639-48.642Q-49.639-48.673-49.610-48.697Q-49.582-48.721-49.547-48.721L-49.028-48.761Q-48.562-48.761-48.316-49.233Q-48.070-49.706-48.070-50.224Q-48.070-50.651-48.283-50.925Q-48.496-51.200-48.918-51.200Q-49.261-51.200-49.586-51.070Q-49.911-50.941-50.096-50.686L-50.070-50.686Q-49.867-50.686-49.731-50.545Q-49.595-50.404-49.595-50.207Q-49.595-50.009-49.729-49.875Q-49.863-49.741-50.061-49.741Q-50.263-49.741-50.401-49.875Q-50.540-50.009-50.540-50.207Q-50.540-50.796-50.037-51.127Q-49.533-51.459-48.918-51.459Q-48.540-51.459-48.138-51.319Q-47.736-51.178-47.468-50.899Q-47.200-50.620-47.200-50.224Q-47.200-49.675-47.554-49.238Q-47.907-48.800-48.448-48.616Q-48.057-48.537-47.712-48.313Q-47.367-48.089-47.156-47.748Q-46.945-47.407-46.945-47.012Q-46.945-46.630-47.108-46.307Q-47.270-45.984-47.562-45.748Q-47.855-45.513-48.202-45.390Q-48.549-45.267-48.918-45.267Q-49.366-45.267-49.797-45.428Q-50.228-45.588-50.509-45.915Q-50.790-46.243-50.790-46.700Q-50.790-46.915-50.643-47.058Q-50.496-47.201-50.276-47.201Q-50.065-47.201-49.920-47.056Q-49.775-46.911-49.775-46.700Q-49.775-46.489-49.922-46.337Q-50.070-46.186-50.276-46.186M-42.652-45.465L-46.101-45.465L-46.101-45.698Q-46.101-45.711-46.071-45.742L-44.616-47.319Q-44.150-47.816-43.897-48.121Q-43.645-48.427-43.454-48.838Q-43.262-49.249-43.262-49.688Q-43.262-50.277-43.585-50.710Q-43.908-51.143-44.489-51.143Q-44.752-51.143-44.998-51.033Q-45.244-50.923-45.420-50.736Q-45.596-50.549-45.693-50.299L-45.614-50.299Q-45.411-50.299-45.269-50.163Q-45.126-50.027-45.126-49.811Q-45.126-49.605-45.269-49.466Q-45.411-49.328-45.614-49.328Q-45.816-49.328-45.958-49.471Q-46.101-49.613-46.101-49.811Q-46.101-50.273-45.864-50.646Q-45.627-51.020-45.227-51.239Q-44.827-51.459-44.379-51.459Q-43.856-51.459-43.401-51.244Q-42.946-51.028-42.674-50.629Q-42.401-50.229-42.401-49.688Q-42.401-49.293-42.573-48.939Q-42.744-48.585-43.010-48.306Q-43.276-48.027-43.726-47.642Q-44.177-47.258-44.256-47.183L-45.280-46.221L-44.462-46.221Q-43.812-46.221-43.375-46.232Q-42.937-46.243-42.906-46.265Q-42.836-46.348-42.781-46.588Q-42.726-46.827-42.687-47.095L-42.401-47.095L-42.652-45.465M-40.876-45.852Q-40.630-45.553-40.024-45.553Q-39.742-45.553-39.503-45.691Q-39.263-45.830-39.085-46.052Q-38.907-46.274-38.798-46.537Q-38.565-47.113-38.565-48.229Q-38.732-47.864-39.037-47.640Q-39.343-47.416-39.725-47.416Q-40.261-47.416-40.676-47.695Q-41.092-47.974-41.322-48.440Q-41.553-48.906-41.553-49.433Q-41.553-49.846-41.406-50.215Q-41.259-50.585-40.995-50.861Q-40.731-51.138-40.362-51.299Q-39.993-51.459-39.580-51.459Q-39.022-51.459-38.648-51.167Q-38.275-50.875-38.070-50.411Q-37.866-49.947-37.787-49.431Q-37.708-48.915-37.708-48.383Q-37.708-47.667-37.976-46.944Q-38.244-46.221-38.767-45.744Q-39.290-45.267-40.015-45.267Q-40.564-45.267-40.942-45.516Q-41.320-45.764-41.320-46.282Q-41.320-46.401-41.263-46.504Q-41.206-46.608-41.105-46.667Q-41.004-46.726-40.876-46.726Q-40.692-46.726-40.569-46.594Q-40.446-46.463-40.446-46.282Q-40.446-46.107-40.573-45.979Q-40.700-45.852-40.876-45.852M-39.681-47.680Q-39.312-47.680-39.063-47.922Q-38.815-48.163-38.699-48.521Q-38.582-48.880-38.582-49.253Q-38.582-49.363-38.591-49.416Q-38.587-49.429-38.584-49.440Q-38.582-49.451-38.582-49.468Q-38.582-50.123-38.798-50.662Q-39.013-51.200-39.580-51.200Q-39.940-51.200-40.169-51.050Q-40.397-50.901-40.514-50.644Q-40.630-50.387-40.663-50.106Q-40.696-49.824-40.696-49.451L-40.696-49.416Q-40.696-49.090-40.670-48.803Q-40.643-48.515-40.544-48.256Q-40.446-47.996-40.235-47.838Q-40.024-47.680-39.681-47.680",[791],[787,2976],{"fill":781,"d":2977},"M-65.403-19.288h28.452V-36.36h-28.452Z",[775,2979,2981],{"transform":2980},"translate(-6.937 20.54)",[787,2982],{"d":2983,"fill":777,"stroke":777,"className":2984,"style":809},"M-48.479-46.942L-50.918-46.942L-50.918-47.258L-48.092-51.406Q-48.048-51.459-47.982-51.459L-47.828-51.459Q-47.789-51.459-47.756-51.426Q-47.723-51.393-47.723-51.349L-47.723-47.258L-46.822-47.258L-46.822-46.942L-47.723-46.942L-47.723-46.076Q-47.723-45.781-46.822-45.781L-46.822-45.465L-49.375-45.465L-49.375-45.781Q-49.015-45.781-48.747-45.836Q-48.479-45.891-48.479-46.076L-48.479-46.942M-48.422-50.431L-50.584-47.258L-48.422-47.258L-48.422-50.431M-45.732-46.471Q-45.592-46.058-45.231-45.806Q-44.871-45.553-44.436-45.553Q-43.983-45.553-43.717-45.806Q-43.451-46.058-43.348-46.443Q-43.245-46.827-43.245-47.284Q-43.245-48.985-44.155-48.985Q-44.475-48.985-44.704-48.891Q-44.932-48.796-45.062-48.677Q-45.192-48.559-45.304-48.420Q-45.416-48.282-45.451-48.273L-45.534-48.273Q-45.578-48.273-45.609-48.304Q-45.640-48.335-45.640-48.383L-45.640-51.380Q-45.640-51.411-45.605-51.435Q-45.570-51.459-45.543-51.459L-45.504-51.459Q-44.871-51.169-44.198-51.169Q-43.526-51.169-42.885-51.459L-42.858-51.459Q-42.827-51.459-42.794-51.437Q-42.761-51.415-42.761-51.380L-42.761-51.279Q-42.761-51.275-42.770-51.257Q-42.779-51.239-42.779-51.235Q-43.095-50.840-43.566-50.618Q-44.036-50.396-44.532-50.396Q-44.941-50.396-45.323-50.506L-45.323-48.787Q-44.866-49.244-44.155-49.244Q-43.645-49.244-43.245-48.963Q-42.845-48.682-42.623-48.227Q-42.401-47.772-42.401-47.267Q-42.401-46.717-42.680-46.258Q-42.959-45.799-43.425-45.533Q-43.891-45.267-44.436-45.267Q-44.875-45.267-45.260-45.494Q-45.644-45.720-45.873-46.100Q-46.101-46.480-46.101-46.924Q-46.101-47.117-45.969-47.249Q-45.838-47.381-45.640-47.381Q-45.508-47.381-45.405-47.322Q-45.302-47.262-45.242-47.159Q-45.183-47.056-45.183-46.924Q-45.183-46.726-45.310-46.594Q-45.438-46.463-45.640-46.463Q-45.701-46.463-45.732-46.471M-40.318-45.707Q-40.318-46.344-40.162-46.990Q-40.006-47.636-39.714-48.242Q-39.422-48.849-39.013-49.398L-38.196-50.506L-39.224-50.506Q-40.867-50.506-40.916-50.462Q-41.021-50.334-41.140-49.631L-41.426-49.631L-41.131-51.547L-40.841-51.547L-40.841-51.521Q-40.841-51.358-40.276-51.310Q-39.712-51.261-39.167-51.261L-37.448-51.261L-37.448-51.055Q-37.448-51.037-37.451-51.028Q-37.453-51.020-37.457-51.011L-38.745-49.262Q-38.995-48.910-39.143-48.484Q-39.290-48.058-39.356-47.594Q-39.422-47.131-39.435-46.720Q-39.448-46.309-39.448-45.707Q-39.448-45.527-39.573-45.397Q-39.698-45.267-39.879-45.267Q-39.997-45.267-40.101-45.324Q-40.204-45.382-40.261-45.485Q-40.318-45.588-40.318-45.707",[791],[787,2986],{"fill":781,"d":2987},"M-65.403-1.648h28.452v-17.071h-28.452Z",[775,2989,2991],{"transform":2990},"translate(-6.937 38.181)",[787,2992],{"d":2993,"fill":777,"stroke":777,"className":2994,"style":809},"M-48.865-45.267Q-49.599-45.267-50.030-45.748Q-50.461-46.230-50.625-46.922Q-50.790-47.614-50.790-48.361Q-50.790-49.090-50.498-49.813Q-50.206-50.536-49.652-50.998Q-49.098-51.459-48.351-51.459Q-47.855-51.459-47.519-51.193Q-47.182-50.927-47.182-50.444Q-47.182-50.264-47.310-50.136Q-47.437-50.009-47.613-50.009Q-47.793-50.009-47.923-50.134Q-48.052-50.259-48.052-50.444Q-48.052-50.558-47.995-50.662Q-47.938-50.765-47.837-50.824Q-47.736-50.883-47.613-50.883Q-47.609-50.883-47.604-50.881Q-47.600-50.879-47.595-50.875Q-47.710-51.042-47.918-51.121Q-48.127-51.200-48.351-51.200Q-48.795-51.200-49.153-50.899Q-49.511-50.598-49.700-50.145Q-49.933-49.539-49.933-48.506Q-49.762-48.871-49.461-49.099Q-49.160-49.328-48.773-49.328Q-48.369-49.328-48.024-49.161Q-47.679-48.994-47.442-48.713Q-47.204-48.431-47.075-48.069Q-46.945-47.706-46.945-47.302Q-46.945-46.757-47.189-46.291Q-47.433-45.825-47.872-45.546Q-48.312-45.267-48.865-45.267M-48.865-45.553Q-48.404-45.553-48.169-45.810Q-47.934-46.067-47.868-46.441Q-47.802-46.814-47.802-47.284L-47.802-47.319Q-47.802-47.807-47.859-48.172Q-47.916-48.537-48.145-48.800Q-48.373-49.064-48.817-49.064Q-49.186-49.064-49.437-48.820Q-49.687-48.576-49.802-48.212Q-49.916-47.847-49.916-47.500Q-49.916-47.381-49.907-47.319Q-49.907-47.302-49.909-47.291Q-49.911-47.280-49.916-47.267Q-49.916-46.616-49.678-46.085Q-49.441-45.553-48.865-45.553M-45.732-46.471Q-45.592-46.058-45.231-45.806Q-44.871-45.553-44.436-45.553Q-43.983-45.553-43.717-45.806Q-43.451-46.058-43.348-46.443Q-43.245-46.827-43.245-47.284Q-43.245-48.985-44.155-48.985Q-44.475-48.985-44.704-48.891Q-44.932-48.796-45.062-48.677Q-45.192-48.559-45.304-48.420Q-45.416-48.282-45.451-48.273L-45.534-48.273Q-45.578-48.273-45.609-48.304Q-45.640-48.335-45.640-48.383L-45.640-51.380Q-45.640-51.411-45.605-51.435Q-45.570-51.459-45.543-51.459L-45.504-51.459Q-44.871-51.169-44.198-51.169Q-43.526-51.169-42.885-51.459L-42.858-51.459Q-42.827-51.459-42.794-51.437Q-42.761-51.415-42.761-51.380L-42.761-51.279Q-42.761-51.275-42.770-51.257Q-42.779-51.239-42.779-51.235Q-43.095-50.840-43.566-50.618Q-44.036-50.396-44.532-50.396Q-44.941-50.396-45.323-50.506L-45.323-48.787Q-44.866-49.244-44.155-49.244Q-43.645-49.244-43.245-48.963Q-42.845-48.682-42.623-48.227Q-42.401-47.772-42.401-47.267Q-42.401-46.717-42.680-46.258Q-42.959-45.799-43.425-45.533Q-43.891-45.267-44.436-45.267Q-44.875-45.267-45.260-45.494Q-45.644-45.720-45.873-46.100Q-46.101-46.480-46.101-46.924Q-46.101-47.117-45.969-47.249Q-45.838-47.381-45.640-47.381Q-45.508-47.381-45.405-47.322Q-45.302-47.262-45.242-47.159Q-45.183-47.056-45.183-46.924Q-45.183-46.726-45.310-46.594Q-45.438-46.463-45.640-46.463Q-45.701-46.463-45.732-46.471M-40.318-45.707Q-40.318-46.344-40.162-46.990Q-40.006-47.636-39.714-48.242Q-39.422-48.849-39.013-49.398L-38.196-50.506L-39.224-50.506Q-40.867-50.506-40.916-50.462Q-41.021-50.334-41.140-49.631L-41.426-49.631L-41.131-51.547L-40.841-51.547L-40.841-51.521Q-40.841-51.358-40.276-51.310Q-39.712-51.261-39.167-51.261L-37.448-51.261L-37.448-51.055Q-37.448-51.037-37.451-51.028Q-37.453-51.020-37.457-51.011L-38.745-49.262Q-38.995-48.910-39.143-48.484Q-39.290-48.058-39.356-47.594Q-39.422-47.131-39.435-46.720Q-39.448-46.309-39.448-45.707Q-39.448-45.527-39.573-45.397Q-39.698-45.267-39.879-45.267Q-39.997-45.267-40.101-45.324Q-40.204-45.382-40.261-45.485Q-40.318-45.588-40.318-45.707",[791],[787,2996],{"fill":781,"d":2997},"M-65.403 15.993h28.452V-1.08h-28.452Z",[775,2999,3001],{"transform":3000},"translate(-6.937 55.822)",[787,3002],{"d":3003,"fill":777,"stroke":777,"className":3004,"style":809},"M-50.790-46.832Q-50.790-47.390-50.430-47.803Q-50.070-48.216-49.494-48.488L-49.863-48.721Q-50.166-48.923-50.353-49.253Q-50.540-49.583-50.540-49.939Q-50.540-50.593-50.034-51.026Q-49.529-51.459-48.865-51.459Q-48.466-51.459-48.081-51.299Q-47.697-51.138-47.448-50.833Q-47.200-50.528-47.200-50.110Q-47.200-49.279-48.268-48.721L-47.714-48.374Q-47.367-48.146-47.156-47.777Q-46.945-47.407-46.945-46.994Q-46.945-46.616-47.103-46.298Q-47.261-45.979-47.538-45.746Q-47.815-45.513-48.158-45.390Q-48.501-45.267-48.865-45.267Q-49.331-45.267-49.777-45.454Q-50.223-45.641-50.507-45.995Q-50.790-46.348-50.790-46.832M-50.267-46.832Q-50.267-46.287-49.848-45.920Q-49.428-45.553-48.865-45.553Q-48.536-45.553-48.211-45.685Q-47.885-45.817-47.677-46.071Q-47.468-46.326-47.468-46.669Q-47.468-46.933-47.604-47.157Q-47.740-47.381-47.973-47.535L-49.217-48.317Q-49.678-48.080-49.973-47.693Q-50.267-47.306-50.267-46.832M-49.656-49.587L-48.540-48.884Q-48.316-49.007-48.112-49.196Q-47.907-49.385-47.787-49.618Q-47.666-49.851-47.666-50.110Q-47.666-50.418-47.837-50.668Q-48.009-50.919-48.285-51.059Q-48.562-51.200-48.874-51.200Q-49.323-51.200-49.696-50.954Q-50.070-50.708-50.070-50.281Q-50.070-49.877-49.656-49.587M-45.657-46.186L-45.701-46.186Q-45.499-45.869-45.113-45.711Q-44.726-45.553-44.300-45.553Q-43.763-45.553-43.524-45.988Q-43.284-46.423-43.284-47.003Q-43.284-47.583-43.531-48.023Q-43.777-48.462-44.308-48.462L-44.928-48.462Q-44.954-48.462-44.987-48.491Q-45.020-48.519-45.020-48.541L-45.020-48.642Q-45.020-48.673-44.992-48.697Q-44.963-48.721-44.928-48.721L-44.409-48.761Q-43.944-48.761-43.698-49.233Q-43.451-49.706-43.451-50.224Q-43.451-50.651-43.665-50.925Q-43.878-51.200-44.300-51.200Q-44.642-51.200-44.968-51.070Q-45.293-50.941-45.477-50.686L-45.451-50.686Q-45.249-50.686-45.113-50.545Q-44.976-50.404-44.976-50.207Q-44.976-50.009-45.110-49.875Q-45.244-49.741-45.442-49.741Q-45.644-49.741-45.783-49.875Q-45.921-50.009-45.921-50.207Q-45.921-50.796-45.418-51.127Q-44.915-51.459-44.300-51.459Q-43.922-51.459-43.520-51.319Q-43.117-51.178-42.849-50.899Q-42.581-50.620-42.581-50.224Q-42.581-49.675-42.935-49.238Q-43.289-48.800-43.829-48.616Q-43.438-48.537-43.093-48.313Q-42.748-48.089-42.537-47.748Q-42.326-47.407-42.326-47.012Q-42.326-46.630-42.489-46.307Q-42.652-45.984-42.944-45.748Q-43.236-45.513-43.583-45.390Q-43.930-45.267-44.300-45.267Q-44.748-45.267-45.178-45.428Q-45.609-45.588-45.890-45.915Q-46.172-46.243-46.172-46.700Q-46.172-46.915-46.024-47.058Q-45.877-47.201-45.657-47.201Q-45.447-47.201-45.302-47.056Q-45.156-46.911-45.156-46.700Q-45.156-46.489-45.304-46.337Q-45.451-46.186-45.657-46.186M-40.876-45.852Q-40.630-45.553-40.024-45.553Q-39.742-45.553-39.503-45.691Q-39.263-45.830-39.085-46.052Q-38.907-46.274-38.798-46.537Q-38.565-47.113-38.565-48.229Q-38.732-47.864-39.037-47.640Q-39.343-47.416-39.725-47.416Q-40.261-47.416-40.676-47.695Q-41.092-47.974-41.322-48.440Q-41.553-48.906-41.553-49.433Q-41.553-49.846-41.406-50.215Q-41.259-50.585-40.995-50.861Q-40.731-51.138-40.362-51.299Q-39.993-51.459-39.580-51.459Q-39.022-51.459-38.648-51.167Q-38.275-50.875-38.070-50.411Q-37.866-49.947-37.787-49.431Q-37.708-48.915-37.708-48.383Q-37.708-47.667-37.976-46.944Q-38.244-46.221-38.767-45.744Q-39.290-45.267-40.015-45.267Q-40.564-45.267-40.942-45.516Q-41.320-45.764-41.320-46.282Q-41.320-46.401-41.263-46.504Q-41.206-46.608-41.105-46.667Q-41.004-46.726-40.876-46.726Q-40.692-46.726-40.569-46.594Q-40.446-46.463-40.446-46.282Q-40.446-46.107-40.573-45.979Q-40.700-45.852-40.876-45.852M-39.681-47.680Q-39.312-47.680-39.063-47.922Q-38.815-48.163-38.699-48.521Q-38.582-48.880-38.582-49.253Q-38.582-49.363-38.591-49.416Q-38.587-49.429-38.584-49.440Q-38.582-49.451-38.582-49.468Q-38.582-50.123-38.798-50.662Q-39.013-51.200-39.580-51.200Q-39.940-51.200-40.169-51.050Q-40.397-50.901-40.514-50.644Q-40.630-50.387-40.663-50.106Q-40.696-49.824-40.696-49.451L-40.696-49.416Q-40.696-49.090-40.670-48.803Q-40.643-48.515-40.544-48.256Q-40.446-47.996-40.235-47.838Q-40.024-47.680-39.681-47.680",[791],[787,3006],{"fill":781,"d":3007},"M-65.403 33.633h28.452V16.562h-28.452Z",[775,3009,3011],{"transform":3010},"translate(-6.937 73.462)",[787,3012],{"d":3013,"fill":777,"stroke":777,"className":3014,"style":809},"M-48.479-46.942L-50.918-46.942L-50.918-47.258L-48.092-51.406Q-48.048-51.459-47.982-51.459L-47.828-51.459Q-47.789-51.459-47.756-51.426Q-47.723-51.393-47.723-51.349L-47.723-47.258L-46.822-47.258L-46.822-46.942L-47.723-46.942L-47.723-46.076Q-47.723-45.781-46.822-45.781L-46.822-45.465L-49.375-45.465L-49.375-45.781Q-49.015-45.781-48.747-45.836Q-48.479-45.891-48.479-46.076L-48.479-46.942M-48.422-50.431L-50.584-47.258L-48.422-47.258L-48.422-50.431M-45.657-46.186L-45.701-46.186Q-45.499-45.869-45.113-45.711Q-44.726-45.553-44.300-45.553Q-43.763-45.553-43.524-45.988Q-43.284-46.423-43.284-47.003Q-43.284-47.583-43.531-48.023Q-43.777-48.462-44.308-48.462L-44.928-48.462Q-44.954-48.462-44.987-48.491Q-45.020-48.519-45.020-48.541L-45.020-48.642Q-45.020-48.673-44.992-48.697Q-44.963-48.721-44.928-48.721L-44.409-48.761Q-43.944-48.761-43.698-49.233Q-43.451-49.706-43.451-50.224Q-43.451-50.651-43.665-50.925Q-43.878-51.200-44.300-51.200Q-44.642-51.200-44.968-51.070Q-45.293-50.941-45.477-50.686L-45.451-50.686Q-45.249-50.686-45.113-50.545Q-44.976-50.404-44.976-50.207Q-44.976-50.009-45.110-49.875Q-45.244-49.741-45.442-49.741Q-45.644-49.741-45.783-49.875Q-45.921-50.009-45.921-50.207Q-45.921-50.796-45.418-51.127Q-44.915-51.459-44.300-51.459Q-43.922-51.459-43.520-51.319Q-43.117-51.178-42.849-50.899Q-42.581-50.620-42.581-50.224Q-42.581-49.675-42.935-49.238Q-43.289-48.800-43.829-48.616Q-43.438-48.537-43.093-48.313Q-42.748-48.089-42.537-47.748Q-42.326-47.407-42.326-47.012Q-42.326-46.630-42.489-46.307Q-42.652-45.984-42.944-45.748Q-43.236-45.513-43.583-45.390Q-43.930-45.267-44.300-45.267Q-44.748-45.267-45.178-45.428Q-45.609-45.588-45.890-45.915Q-46.172-46.243-46.172-46.700Q-46.172-46.915-46.024-47.058Q-45.877-47.201-45.657-47.201Q-45.447-47.201-45.302-47.056Q-45.156-46.911-45.156-46.700Q-45.156-46.489-45.304-46.337Q-45.451-46.186-45.657-46.186M-39.628-45.267Q-40.362-45.267-40.793-45.748Q-41.223-46.230-41.388-46.922Q-41.553-47.614-41.553-48.361Q-41.553-49.090-41.261-49.813Q-40.969-50.536-40.415-50.998Q-39.861-51.459-39.114-51.459Q-38.617-51.459-38.281-51.193Q-37.945-50.927-37.945-50.444Q-37.945-50.264-38.073-50.136Q-38.200-50.009-38.376-50.009Q-38.556-50.009-38.686-50.134Q-38.815-50.259-38.815-50.444Q-38.815-50.558-38.758-50.662Q-38.701-50.765-38.600-50.824Q-38.499-50.883-38.376-50.883Q-38.371-50.883-38.367-50.881Q-38.363-50.879-38.358-50.875Q-38.472-51.042-38.681-51.121Q-38.890-51.200-39.114-51.200Q-39.558-51.200-39.916-50.899Q-40.274-50.598-40.463-50.145Q-40.696-49.539-40.696-48.506Q-40.525-48.871-40.224-49.099Q-39.923-49.328-39.536-49.328Q-39.132-49.328-38.787-49.161Q-38.442-48.994-38.204-48.713Q-37.967-48.431-37.837-48.069Q-37.708-47.706-37.708-47.302Q-37.708-46.757-37.952-46.291Q-38.196-45.825-38.635-45.546Q-39.074-45.267-39.628-45.267M-39.628-45.553Q-39.167-45.553-38.932-45.810Q-38.697-46.067-38.631-46.441Q-38.565-46.814-38.565-47.284L-38.565-47.319Q-38.565-47.807-38.622-48.172Q-38.679-48.537-38.907-48.800Q-39.136-49.064-39.580-49.064Q-39.949-49.064-40.199-48.820Q-40.450-48.576-40.564-48.212Q-40.678-47.847-40.678-47.500Q-40.678-47.381-40.670-47.319Q-40.670-47.302-40.672-47.291Q-40.674-47.280-40.678-47.267Q-40.678-46.616-40.441-46.085Q-40.204-45.553-39.628-45.553",[791],[787,3016],{"fill":781,"d":3017},"M-65.403 51.274h28.452V34.202h-28.452Z",[775,3019,3021],{"transform":3020},"translate(-6.937 91.103)",[787,3022],{"d":3023,"fill":777,"stroke":777,"className":3024,"style":809},"M-49.555-45.707Q-49.555-46.344-49.399-46.990Q-49.243-47.636-48.951-48.242Q-48.659-48.849-48.250-49.398L-47.433-50.506L-48.461-50.506Q-50.105-50.506-50.153-50.462Q-50.259-50.334-50.377-49.631L-50.663-49.631L-50.368-51.547L-50.078-51.547L-50.078-51.521Q-50.078-51.358-49.514-51.310Q-48.949-51.261-48.404-51.261L-46.686-51.261L-46.686-51.055Q-46.686-51.037-46.688-51.028Q-46.690-51.020-46.695-51.011L-47.982-49.262Q-48.233-48.910-48.380-48.484Q-48.527-48.058-48.593-47.594Q-48.659-47.131-48.672-46.720Q-48.685-46.309-48.685-45.707Q-48.685-45.527-48.811-45.397Q-48.936-45.267-49.116-45.267Q-49.235-45.267-49.338-45.324Q-49.441-45.382-49.498-45.485Q-49.555-45.588-49.555-45.707M-42.652-45.465L-46.101-45.465L-46.101-45.698Q-46.101-45.711-46.071-45.742L-44.616-47.319Q-44.150-47.816-43.897-48.121Q-43.645-48.427-43.454-48.838Q-43.262-49.249-43.262-49.688Q-43.262-50.277-43.585-50.710Q-43.908-51.143-44.489-51.143Q-44.752-51.143-44.998-51.033Q-45.244-50.923-45.420-50.736Q-45.596-50.549-45.693-50.299L-45.614-50.299Q-45.411-50.299-45.269-50.163Q-45.126-50.027-45.126-49.811Q-45.126-49.605-45.269-49.466Q-45.411-49.328-45.614-49.328Q-45.816-49.328-45.958-49.471Q-46.101-49.613-46.101-49.811Q-46.101-50.273-45.864-50.646Q-45.627-51.020-45.227-51.239Q-44.827-51.459-44.379-51.459Q-43.856-51.459-43.401-51.244Q-42.946-51.028-42.674-50.629Q-42.401-50.229-42.401-49.688Q-42.401-49.293-42.573-48.939Q-42.744-48.585-43.010-48.306Q-43.276-48.027-43.726-47.642Q-44.177-47.258-44.256-47.183L-45.280-46.221L-44.462-46.221Q-43.812-46.221-43.375-46.232Q-42.937-46.243-42.906-46.265Q-42.836-46.348-42.781-46.588Q-42.726-46.827-42.687-47.095L-42.401-47.095L-42.652-45.465M-39.628-45.267Q-40.753-45.267-41.166-46.164Q-41.579-47.060-41.579-48.335Q-41.579-49.108-41.430-49.807Q-41.281-50.506-40.845-50.982Q-40.410-51.459-39.628-51.459Q-38.850-51.459-38.415-50.980Q-37.980-50.501-37.831-49.805Q-37.681-49.108-37.681-48.335Q-37.681-47.056-38.094-46.162Q-38.508-45.267-39.628-45.267M-39.628-45.527Q-39.110-45.527-38.859-46.038Q-38.609-46.550-38.552-47.161Q-38.494-47.772-38.494-48.480Q-38.494-49.165-38.552-49.725Q-38.609-50.286-38.861-50.743Q-39.114-51.200-39.628-51.200Q-40.032-51.200-40.270-50.923Q-40.507-50.646-40.615-50.205Q-40.722-49.763-40.747-49.370Q-40.771-48.976-40.771-48.480Q-40.771-47.974-40.747-47.546Q-40.722-47.117-40.615-46.634Q-40.507-46.151-40.268-45.839Q-40.028-45.527-39.628-45.527",[791],[787,3026],{"fill":781,"d":3027},"M-65.403 68.915h28.452V51.843h-28.452Z",[775,3029,3031],{"transform":3030},"translate(-6.937 108.743)",[787,3032],{"d":3033,"fill":777,"stroke":777,"className":3034,"style":809},"M-50.276-46.186L-50.320-46.186Q-50.118-45.869-49.731-45.711Q-49.344-45.553-48.918-45.553Q-48.382-45.553-48.143-45.988Q-47.903-46.423-47.903-47.003Q-47.903-47.583-48.149-48.023Q-48.395-48.462-48.927-48.462L-49.547-48.462Q-49.573-48.462-49.606-48.491Q-49.639-48.519-49.639-48.541L-49.639-48.642Q-49.639-48.673-49.610-48.697Q-49.582-48.721-49.547-48.721L-49.028-48.761Q-48.562-48.761-48.316-49.233Q-48.070-49.706-48.070-50.224Q-48.070-50.651-48.283-50.925Q-48.496-51.200-48.918-51.200Q-49.261-51.200-49.586-51.070Q-49.911-50.941-50.096-50.686L-50.070-50.686Q-49.867-50.686-49.731-50.545Q-49.595-50.404-49.595-50.207Q-49.595-50.009-49.729-49.875Q-49.863-49.741-50.061-49.741Q-50.263-49.741-50.401-49.875Q-50.540-50.009-50.540-50.207Q-50.540-50.796-50.037-51.127Q-49.533-51.459-48.918-51.459Q-48.540-51.459-48.138-51.319Q-47.736-51.178-47.468-50.899Q-47.200-50.620-47.200-50.224Q-47.200-49.675-47.554-49.238Q-47.907-48.800-48.448-48.616Q-48.057-48.537-47.712-48.313Q-47.367-48.089-47.156-47.748Q-46.945-47.407-46.945-47.012Q-46.945-46.630-47.108-46.307Q-47.270-45.984-47.562-45.748Q-47.855-45.513-48.202-45.390Q-48.549-45.267-48.918-45.267Q-49.366-45.267-49.797-45.428Q-50.228-45.588-50.509-45.915Q-50.790-46.243-50.790-46.700Q-50.790-46.915-50.643-47.058Q-50.496-47.201-50.276-47.201Q-50.065-47.201-49.920-47.056Q-49.775-46.911-49.775-46.700Q-49.775-46.489-49.922-46.337Q-50.070-46.186-50.276-46.186M-45.732-46.471Q-45.592-46.058-45.231-45.806Q-44.871-45.553-44.436-45.553Q-43.983-45.553-43.717-45.806Q-43.451-46.058-43.348-46.443Q-43.245-46.827-43.245-47.284Q-43.245-48.985-44.155-48.985Q-44.475-48.985-44.704-48.891Q-44.932-48.796-45.062-48.677Q-45.192-48.559-45.304-48.420Q-45.416-48.282-45.451-48.273L-45.534-48.273Q-45.578-48.273-45.609-48.304Q-45.640-48.335-45.640-48.383L-45.640-51.380Q-45.640-51.411-45.605-51.435Q-45.570-51.459-45.543-51.459L-45.504-51.459Q-44.871-51.169-44.198-51.169Q-43.526-51.169-42.885-51.459L-42.858-51.459Q-42.827-51.459-42.794-51.437Q-42.761-51.415-42.761-51.380L-42.761-51.279Q-42.761-51.275-42.770-51.257Q-42.779-51.239-42.779-51.235Q-43.095-50.840-43.566-50.618Q-44.036-50.396-44.532-50.396Q-44.941-50.396-45.323-50.506L-45.323-48.787Q-44.866-49.244-44.155-49.244Q-43.645-49.244-43.245-48.963Q-42.845-48.682-42.623-48.227Q-42.401-47.772-42.401-47.267Q-42.401-46.717-42.680-46.258Q-42.959-45.799-43.425-45.533Q-43.891-45.267-44.436-45.267Q-44.875-45.267-45.260-45.494Q-45.644-45.720-45.873-46.100Q-46.101-46.480-46.101-46.924Q-46.101-47.117-45.969-47.249Q-45.838-47.381-45.640-47.381Q-45.508-47.381-45.405-47.322Q-45.302-47.262-45.242-47.159Q-45.183-47.056-45.183-46.924Q-45.183-46.726-45.310-46.594Q-45.438-46.463-45.640-46.463Q-45.701-46.463-45.732-46.471M-41.114-46.471Q-40.973-46.058-40.613-45.806Q-40.252-45.553-39.817-45.553Q-39.364-45.553-39.099-45.806Q-38.833-46.058-38.729-46.443Q-38.626-46.827-38.626-47.284Q-38.626-48.985-39.536-48.985Q-39.857-48.985-40.085-48.891Q-40.314-48.796-40.443-48.677Q-40.573-48.559-40.685-48.420Q-40.797-48.282-40.832-48.273L-40.916-48.273Q-40.960-48.273-40.990-48.304Q-41.021-48.335-41.021-48.383L-41.021-51.380Q-41.021-51.411-40.986-51.435Q-40.951-51.459-40.925-51.459L-40.885-51.459Q-40.252-51.169-39.580-51.169Q-38.907-51.169-38.266-51.459L-38.239-51.459Q-38.209-51.459-38.176-51.437Q-38.143-51.415-38.143-51.380L-38.143-51.279Q-38.143-51.275-38.152-51.257Q-38.160-51.239-38.160-51.235Q-38.477-50.840-38.947-50.618Q-39.417-50.396-39.914-50.396Q-40.323-50.396-40.705-50.506L-40.705-48.787Q-40.248-49.244-39.536-49.244Q-39.026-49.244-38.626-48.963Q-38.226-48.682-38.004-48.227Q-37.782-47.772-37.782-47.267Q-37.782-46.717-38.062-46.258Q-38.341-45.799-38.806-45.533Q-39.272-45.267-39.817-45.267Q-40.257-45.267-40.641-45.494Q-41.026-45.720-41.254-46.100Q-41.483-46.480-41.483-46.924Q-41.483-47.117-41.351-47.249Q-41.219-47.381-41.021-47.381Q-40.889-47.381-40.786-47.322Q-40.683-47.262-40.624-47.159Q-40.564-47.056-40.564-46.924Q-40.564-46.726-40.692-46.594Q-40.819-46.463-41.021-46.463Q-41.083-46.463-41.114-46.471",[791],[787,3036],{"fill":781,"d":3037},"M-22.724-36.929H5.728V-54h-28.452Z",[775,3039,3041],{"transform":3040},"translate(35.742 2.9)",[787,3042],{"d":3023,"fill":777,"stroke":777,"className":3043,"style":809},[791],[787,3045],{"fill":781,"d":3046},"M-22.724-19.288H5.728V-36.36h-28.452Z",[775,3048,3050],{"transform":3049},"translate(35.742 20.54)",[787,3051],{"d":3033,"fill":777,"stroke":777,"className":3052,"style":809},[791],[787,3054],{"fill":781,"d":3055},"M-22.724-1.648H5.728v-17.071h-28.452Z",[775,3057,3059],{"transform":3058},"translate(35.742 38.181)",[787,3060],{"d":3013,"fill":777,"stroke":777,"className":3061,"style":809},[791],[787,3063],{"fill":781,"d":3064},"M-22.724 15.993H5.728V-1.08h-28.452Z",[775,3066,3068],{"transform":3067},"translate(35.742 55.822)",[787,3069],{"d":2983,"fill":777,"stroke":777,"className":3070,"style":809},[791],[787,3072],{"fill":781,"d":3073},"M-22.724 33.633H5.728V16.562h-28.452Z",[775,3075,3077],{"transform":3076},"translate(35.742 73.462)",[787,3078],{"d":2993,"fill":777,"stroke":777,"className":3079,"style":809},[791],[787,3081],{"fill":781,"d":3082},"M-22.724 51.274H5.728V34.202h-28.452Z",[775,3084,3086],{"transform":3085},"translate(35.742 91.103)",[787,3087],{"d":2973,"fill":777,"stroke":777,"className":3088,"style":809},[791],[787,3090],{"fill":781,"d":3091},"M-22.724 68.915H5.728V51.843h-28.452Z",[775,3093,3095],{"transform":3094},"translate(35.742 108.743)",[787,3096],{"d":3003,"fill":777,"stroke":777,"className":3097,"style":809},[791],[787,3099],{"fill":781,"d":3100},"M19.955-36.929h28.453V-54H19.955Z",[775,3102,3104],{"transform":3103},"translate(78.42 2.9)",[787,3105],{"d":3023,"fill":777,"stroke":777,"className":3106,"style":809},[791],[787,3108],{"fill":781,"d":3109},"M19.955-19.288h28.453V-36.36H19.955Z",[775,3111,3113],{"transform":3112},"translate(78.42 20.54)",[787,3114],{"d":2973,"fill":777,"stroke":777,"className":3115,"style":809},[791],[787,3117],{"fill":781,"d":3118},"M19.955-1.648h28.453v-17.071H19.955Z",[775,3120,3122],{"transform":3121},"translate(78.42 38.181)",[787,3123],{"d":3013,"fill":777,"stroke":777,"className":3124,"style":809},[791],[787,3126],{"fill":781,"d":3127},"M19.955 15.993h28.453V-1.08H19.955Z",[775,3129,3131],{"transform":3130},"translate(78.42 55.822)",[787,3132],{"d":3003,"fill":777,"stroke":777,"className":3133,"style":809},[791],[787,3135],{"fill":781,"d":3136},"M19.955 33.633h28.453V16.562H19.955Z",[775,3138,3140],{"transform":3139},"translate(78.42 73.462)",[787,3141],{"d":3033,"fill":777,"stroke":777,"className":3142,"style":809},[791],[787,3144],{"fill":781,"d":3145},"M19.955 51.274h28.453V34.202H19.955Z",[775,3147,3149],{"transform":3148},"translate(78.42 91.103)",[787,3150],{"d":2983,"fill":777,"stroke":777,"className":3151,"style":809},[791],[787,3153],{"fill":781,"d":3154},"M19.955 68.915h28.453V51.843H19.955Z",[775,3156,3158],{"transform":3157},"translate(78.42 108.743)",[787,3159],{"d":2993,"fill":777,"stroke":777,"className":3160,"style":809},[791],[775,3162,3163,3166],{"fill":955,"stroke":1114,"style":1115},[787,3164],{"d":3165},"M62.634-36.929h28.453V-54H62.634Z",[775,3167,3169],{"transform":3168},"translate(121.1 2.9)",[787,3170],{"d":2973,"fill":777,"stroke":777,"className":3171,"style":809},[791],[775,3173,3174,3177],{"fill":955,"stroke":1114,"style":1115},[787,3175],{"d":3176},"M62.634-19.288h28.453V-36.36H62.634Z",[775,3178,3180],{"transform":3179},"translate(121.1 20.54)",[787,3181],{"d":3033,"fill":777,"stroke":777,"className":3182,"style":809},[791],[775,3184,3185,3188],{"fill":955,"stroke":1114,"style":1115},[787,3186],{"d":3187},"M62.634-1.648h28.453v-17.071H62.634Z",[775,3189,3191],{"transform":3190},"translate(121.1 38.181)",[787,3192],{"d":3013,"fill":777,"stroke":777,"className":3193,"style":809},[791],[775,3195,3196,3199],{"fill":955,"stroke":1114,"style":1115},[787,3197],{"d":3198},"M62.634 15.993h28.453V-1.08H62.634Z",[775,3200,3202],{"transform":3201},"translate(121.1 55.822)",[787,3203],{"d":2983,"fill":777,"stroke":777,"className":3204,"style":809},[791],[775,3206,3207,3210],{"fill":955,"stroke":1114,"style":1115},[787,3208],{"d":3209},"M62.634 33.633h28.453V16.562H62.634Z",[775,3211,3213],{"transform":3212},"translate(121.1 73.462)",[787,3214],{"d":2993,"fill":777,"stroke":777,"className":3215,"style":809},[791],[775,3217,3218,3221],{"fill":955,"stroke":1114,"style":1115},[787,3219],{"d":3220},"M62.634 51.274h28.453V34.202H62.634Z",[775,3222,3224],{"transform":3223},"translate(121.1 91.103)",[787,3225],{"d":3023,"fill":777,"stroke":777,"className":3226,"style":809},[791],[775,3228,3229,3232],{"fill":955,"stroke":1114,"style":1115},[787,3230],{"d":3231},"M62.634 68.915h28.453V51.843H62.634Z",[775,3233,3235],{"transform":3234},"translate(121.1 108.743)",[787,3236],{"d":3003,"fill":777,"stroke":777,"className":3237,"style":809},[791],[1203,3239,3241],{"className":3240},[1206],"LSD radix sort over three digits; each pass stably sorts on one digit, and ties keep the previous pass's order until the array is sorted.",[381,3243,3244,3245,3247,3248,3251,3252,3255],{},"Zooming in on a single pass shows why ",[460,3246,2668],{}," is not optional. Suppose the\narray is already ordered on the low digit, and we now sort on the next one. Keys\nthat ",[390,3249,3250],{},"tie"," on the new digit must keep their incoming order, since that order\nalready encodes the lower digit; only keys that ",[390,3253,3254],{},"differ"," on the new digit may be\nreordered.",[762,3257,3259,3491],{"className":3258},[765,766],[768,3260,3264],{"xmlns":770,"width":3261,"height":3262,"viewBox":3263},"284.122","166.629","-75 -75 213.092 124.972",[775,3265,3266,3287,3299,3302,3309,3321,3324,3331,3350,3353,3359,3362,3368,3379,3390,3399,3402,3406,3415,3418,3422],{"stroke":777,"style":778},[775,3267,3268,3275,3281],{"stroke":781,"fontFamily":939,"fontSize":782},[775,3269,3271],{"transform":3270},"translate(-22.08 -19.315)",[787,3272],{"d":3273,"fill":777,"stroke":777,"className":3274,"style":792},"M-39.854-44.899Q-39.854-45.383-39.452-45.678Q-39.049-45.973-38.499-46.092Q-37.948-46.212-37.456-46.212L-37.456-46.501Q-37.456-46.727-37.571-46.934Q-37.686-47.141-37.883-47.260Q-38.081-47.380-38.311-47.380Q-38.737-47.380-39.022-47.274Q-38.952-47.247-38.905-47.192Q-38.858-47.137-38.833-47.067Q-38.807-46.997-38.807-46.922Q-38.807-46.817-38.858-46.725Q-38.909-46.633-39.001-46.583Q-39.092-46.532-39.198-46.532Q-39.303-46.532-39.395-46.583Q-39.487-46.633-39.538-46.725Q-39.588-46.817-39.588-46.922Q-39.588-47.340-39.200-47.487Q-38.811-47.633-38.311-47.633Q-37.979-47.633-37.626-47.503Q-37.272-47.372-37.044-47.118Q-36.815-46.864-36.815-46.516L-36.815-44.715Q-36.815-44.583-36.743-44.473Q-36.670-44.364-36.542-44.364Q-36.417-44.364-36.348-44.469Q-36.280-44.575-36.280-44.715L-36.280-45.227L-35.999-45.227L-35.999-44.715Q-35.999-44.512-36.116-44.354Q-36.233-44.196-36.415-44.112Q-36.596-44.028-36.799-44.028Q-37.030-44.028-37.182-44.200Q-37.335-44.372-37.366-44.602Q-37.526-44.321-37.835-44.155Q-38.143-43.989-38.495-43.989Q-39.006-43.989-39.430-44.212Q-39.854-44.434-39.854-44.899M-39.167-44.899Q-39.167-44.614-38.940-44.428Q-38.713-44.243-38.420-44.243Q-38.174-44.243-37.950-44.360Q-37.725-44.477-37.590-44.680Q-37.456-44.883-37.456-45.137L-37.456-45.969Q-37.721-45.969-38.006-45.915Q-38.292-45.860-38.563-45.731Q-38.835-45.602-39.001-45.395Q-39.167-45.188-39.167-44.899M-33.639-44.067L-35.624-44.067L-35.624-44.364Q-35.350-44.364-35.182-44.411Q-35.014-44.458-35.014-44.626L-35.014-47.219L-35.655-47.219L-35.655-47.516L-35.014-47.516L-35.014-48.450Q-35.014-48.715-34.897-48.952Q-34.780-49.188-34.586-49.352Q-34.393-49.516-34.145-49.608Q-33.897-49.700-33.631-49.700Q-33.346-49.700-33.122-49.542Q-32.897-49.383-32.897-49.106Q-32.897-48.950-33.002-48.840Q-33.108-48.731-33.272-48.731Q-33.428-48.731-33.538-48.840Q-33.647-48.950-33.647-49.106Q-33.647-49.313-33.487-49.419Q-33.585-49.442-33.678-49.442Q-33.909-49.442-34.081-49.286Q-34.252-49.130-34.338-48.893Q-34.424-48.657-34.424-48.434L-34.424-47.516L-33.456-47.516L-33.456-47.219L-34.401-47.219L-34.401-44.626Q-34.401-44.458-34.174-44.411Q-33.948-44.364-33.639-44.364L-33.639-44.067M-32.487-45.028L-32.487-47.219L-33.190-47.219L-33.190-47.473Q-32.835-47.473-32.592-47.706Q-32.350-47.938-32.239-48.286Q-32.127-48.633-32.127-48.989L-31.846-48.989L-31.846-47.516L-30.670-47.516L-30.670-47.219L-31.846-47.219L-31.846-45.044Q-31.846-44.723-31.727-44.495Q-31.608-44.266-31.327-44.266Q-31.147-44.266-31.030-44.389Q-30.913-44.512-30.860-44.692Q-30.807-44.872-30.807-45.044L-30.807-45.516L-30.526-45.516L-30.526-45.028Q-30.526-44.774-30.631-44.534Q-30.737-44.294-30.934-44.141Q-31.131-43.989-31.389-43.989Q-31.706-43.989-31.958-44.112Q-32.210-44.235-32.348-44.469Q-32.487-44.704-32.487-45.028M-29.807-45.821Q-29.807-46.301-29.575-46.717Q-29.342-47.133-28.932-47.383Q-28.522-47.633-28.045-47.633Q-27.315-47.633-26.917-47.192Q-26.518-46.751-26.518-46.020Q-26.518-45.915-26.612-45.891L-29.061-45.891L-29.061-45.821Q-29.061-45.411-28.940-45.055Q-28.819-44.700-28.547-44.483Q-28.276-44.266-27.846-44.266Q-27.483-44.266-27.186-44.495Q-26.889-44.723-26.788-45.075Q-26.780-45.122-26.694-45.137L-26.612-45.137Q-26.518-45.110-26.518-45.028Q-26.518-45.020-26.526-44.989Q-26.588-44.762-26.727-44.579Q-26.866-44.395-27.057-44.262Q-27.249-44.130-27.467-44.059Q-27.686-43.989-27.924-43.989Q-28.295-43.989-28.633-44.126Q-28.971-44.262-29.239-44.514Q-29.506-44.766-29.657-45.106Q-29.807-45.446-29.807-45.821M-29.053-46.130L-27.092-46.130Q-27.092-46.434-27.194-46.725Q-27.295-47.016-27.512-47.198Q-27.729-47.380-28.045-47.380Q-28.346-47.380-28.577-47.192Q-28.807-47.005-28.930-46.713Q-29.053-46.422-29.053-46.130M-24.022-44.067L-26.002-44.067L-26.002-44.364Q-25.733-44.364-25.565-44.409Q-25.397-44.454-25.397-44.626L-25.397-46.762Q-25.397-46.977-25.460-47.073Q-25.522-47.169-25.639-47.190Q-25.756-47.212-26.002-47.212L-26.002-47.508L-24.835-47.594L-24.835-46.809Q-24.756-47.020-24.604-47.206Q-24.452-47.391-24.252-47.493Q-24.053-47.594-23.827-47.594Q-23.581-47.594-23.389-47.450Q-23.198-47.305-23.198-47.075Q-23.198-46.919-23.303-46.809Q-23.409-46.700-23.565-46.700Q-23.721-46.700-23.831-46.809Q-23.940-46.919-23.940-47.075Q-23.940-47.235-23.835-47.340Q-24.159-47.340-24.374-47.112Q-24.588-46.883-24.684-46.544Q-24.780-46.204-24.780-45.899L-24.780-44.626Q-24.780-44.458-24.553-44.411Q-24.327-44.364-24.022-44.364",[791],[775,3276,3277],{"transform":3270},[787,3278],{"d":3279,"fill":777,"stroke":777,"className":3280,"style":792},"M-18.059-43.989Q-18.540-43.989-18.948-44.233Q-19.356-44.477-19.594-44.891Q-19.833-45.305-19.833-45.794Q-19.833-46.286-19.575-46.702Q-19.317-47.118-18.885-47.356Q-18.454-47.594-17.962-47.594Q-17.341-47.594-16.891-47.157L-16.891-48.786Q-16.891-49.001-16.954-49.096Q-17.016-49.192-17.134-49.213Q-17.251-49.235-17.497-49.235L-17.497-49.532L-16.274-49.618L-16.274-44.809Q-16.274-44.598-16.212-44.503Q-16.149-44.407-16.032-44.385Q-15.915-44.364-15.665-44.364L-15.665-44.067L-16.915-43.989L-16.915-44.473Q-17.380-43.989-18.059-43.989M-17.993-44.243Q-17.653-44.243-17.360-44.434Q-17.067-44.626-16.915-44.922L-16.915-46.755Q-17.063-47.028-17.325-47.184Q-17.587-47.340-17.899-47.340Q-18.524-47.340-18.807-46.893Q-19.091-46.446-19.091-45.786Q-19.091-45.141-18.839-44.692Q-18.587-44.243-17.993-44.243M-13.298-44.067L-15.075-44.067L-15.075-44.364Q-14.802-44.364-14.634-44.411Q-14.466-44.458-14.466-44.626L-14.466-46.762Q-14.466-46.977-14.522-47.073Q-14.579-47.169-14.692-47.190Q-14.805-47.212-15.052-47.212L-15.052-47.508L-13.852-47.594L-13.852-44.626Q-13.852-44.458-13.706-44.411Q-13.559-44.364-13.298-44.364L-13.298-44.067M-14.739-48.989Q-14.739-49.180-14.604-49.311Q-14.469-49.442-14.274-49.442Q-14.153-49.442-14.050-49.380Q-13.946-49.317-13.884-49.213Q-13.821-49.110-13.821-48.989Q-13.821-48.794-13.952-48.659Q-14.083-48.524-14.274-48.524Q-14.473-48.524-14.606-48.657Q-14.739-48.790-14.739-48.989M-12.798-43.458Q-12.798-43.739-12.587-43.950Q-12.376-44.161-12.091-44.251Q-12.247-44.376-12.325-44.565Q-12.403-44.755-12.403-44.954Q-12.403-45.309-12.173-45.602Q-12.540-45.942-12.540-46.411Q-12.540-46.762-12.337-47.032Q-12.134-47.301-11.813-47.448Q-11.493-47.594-11.149-47.594Q-10.630-47.594-10.259-47.313Q-9.895-47.684-9.348-47.684Q-9.169-47.684-9.042-47.557Q-8.915-47.430-8.915-47.251Q-8.915-47.145-8.993-47.067Q-9.071-46.989-9.180-46.989Q-9.290-46.989-9.366-47.065Q-9.442-47.141-9.442-47.251Q-9.442-47.352-9.403-47.403Q-9.395-47.411-9.391-47.417Q-9.387-47.422-9.387-47.426Q-9.762-47.426-10.083-47.172Q-9.762-46.833-9.762-46.411Q-9.762-46.141-9.880-45.924Q-9.997-45.708-10.202-45.549Q-10.407-45.391-10.649-45.309Q-10.891-45.227-11.149-45.227Q-11.368-45.227-11.581-45.286Q-11.794-45.344-11.989-45.465Q-12.083-45.325-12.083-45.145Q-12.083-44.938-11.946-44.786Q-11.809-44.633-11.602-44.633L-10.907-44.633Q-10.419-44.633-10.007-44.549Q-9.594-44.465-9.315-44.208Q-9.036-43.950-9.036-43.458Q-9.036-43.094-9.356-42.862Q-9.677-42.630-10.118-42.528Q-10.559-42.426-10.915-42.426Q-11.270-42.426-11.714-42.528Q-12.157-42.630-12.477-42.862Q-12.798-43.094-12.798-43.458M-12.294-43.458Q-12.294-43.262-12.149-43.114Q-12.005-42.965-11.792-42.876Q-11.579-42.786-11.339-42.739Q-11.098-42.692-10.915-42.692Q-10.673-42.692-10.343-42.770Q-10.012-42.848-9.776-43.022Q-9.540-43.196-9.540-43.458Q-9.540-43.864-9.950-43.973Q-10.360-44.083-10.923-44.083L-11.602-44.083Q-11.872-44.083-12.083-43.905Q-12.294-43.727-12.294-43.458M-11.149-45.493Q-10.427-45.493-10.427-46.411Q-10.427-47.333-11.149-47.333Q-11.876-47.333-11.876-46.411Q-11.876-45.493-11.149-45.493M-6.692-44.067L-8.469-44.067L-8.469-44.364Q-8.196-44.364-8.028-44.411Q-7.860-44.458-7.860-44.626L-7.860-46.762Q-7.860-46.977-7.917-47.073Q-7.973-47.169-8.087-47.190Q-8.200-47.212-8.446-47.212L-8.446-47.508L-7.247-47.594L-7.247-44.626Q-7.247-44.458-7.100-44.411Q-6.954-44.364-6.692-44.364L-6.692-44.067M-8.134-48.989Q-8.134-49.180-7.999-49.311Q-7.864-49.442-7.669-49.442Q-7.548-49.442-7.444-49.380Q-7.341-49.317-7.278-49.213Q-7.216-49.110-7.216-48.989Q-7.216-48.794-7.346-48.659Q-7.477-48.524-7.669-48.524Q-7.868-48.524-8.001-48.657Q-8.134-48.790-8.134-48.989M-5.567-45.028L-5.567-47.219L-6.270-47.219L-6.270-47.473Q-5.915-47.473-5.673-47.706Q-5.430-47.938-5.319-48.286Q-5.208-48.633-5.208-48.989L-4.927-48.989L-4.927-47.516L-3.751-47.516L-3.751-47.219L-4.927-47.219L-4.927-45.044Q-4.927-44.723-4.807-44.495Q-4.688-44.266-4.407-44.266Q-4.227-44.266-4.110-44.389Q-3.993-44.512-3.940-44.692Q-3.887-44.872-3.887-45.044L-3.887-45.516L-3.606-45.516L-3.606-45.028Q-3.606-44.774-3.712-44.534Q-3.817-44.294-4.014-44.141Q-4.212-43.989-4.469-43.989Q-4.786-43.989-5.038-44.112Q-5.290-44.235-5.428-44.469Q-5.567-44.704-5.567-45.028",[791],[775,3282,3283],{"transform":3270},[787,3284],{"d":3285,"fill":777,"stroke":777,"className":3286,"style":792},"M3.314-44.067L0.521-44.067L0.521-44.364Q1.583-44.364 1.583-44.626L1.583-48.794Q1.154-48.579 0.474-48.579L0.474-48.876Q1.493-48.876 2.009-49.387L2.154-49.387Q2.228-49.368 2.247-49.290L2.247-44.626Q2.247-44.364 3.314-44.364",[791],[775,3288,3289,3292],{"fill":955},[787,3290],{"d":3291},"M-55.84-35.53h31.299v-17.072H-55.84Z",[775,3293,3295],{"transform":3294},"translate(-4.625 2.9)",[787,3296],{"d":3297,"fill":777,"stroke":777,"className":3298,"style":809},"M-39.289-44.788L-39.333-44.788Q-39.131-44.471-38.744-44.313Q-38.357-44.155-37.931-44.155Q-37.395-44.155-37.156-44.590Q-36.916-45.025-36.916-45.605Q-36.916-46.185-37.162-46.625Q-37.408-47.064-37.940-47.064L-38.560-47.064Q-38.586-47.064-38.619-47.093Q-38.652-47.121-38.652-47.143L-38.652-47.244Q-38.652-47.275-38.623-47.299Q-38.595-47.323-38.560-47.323L-38.041-47.363Q-37.575-47.363-37.329-47.835Q-37.083-48.308-37.083-48.826Q-37.083-49.253-37.296-49.527Q-37.509-49.802-37.931-49.802Q-38.274-49.802-38.599-49.672Q-38.924-49.543-39.109-49.288L-39.083-49.288Q-38.880-49.288-38.744-49.147Q-38.608-49.006-38.608-48.809Q-38.608-48.611-38.742-48.477Q-38.876-48.343-39.074-48.343Q-39.276-48.343-39.414-48.477Q-39.553-48.611-39.553-48.809Q-39.553-49.398-39.050-49.729Q-38.546-50.061-37.931-50.061Q-37.553-50.061-37.151-49.921Q-36.749-49.780-36.481-49.501Q-36.213-49.222-36.213-48.826Q-36.213-48.277-36.567-47.840Q-36.920-47.402-37.461-47.218Q-37.070-47.139-36.725-46.915Q-36.380-46.691-36.169-46.350Q-35.958-46.009-35.958-45.614Q-35.958-45.232-36.121-44.909Q-36.283-44.586-36.575-44.350Q-36.868-44.115-37.215-43.992Q-37.562-43.869-37.931-43.869Q-38.379-43.869-38.810-44.030Q-39.241-44.190-39.522-44.517Q-39.803-44.845-39.803-45.302Q-39.803-45.517-39.656-45.660Q-39.509-45.803-39.289-45.803Q-39.078-45.803-38.933-45.658Q-38.788-45.513-38.788-45.302Q-38.788-45.091-38.935-44.939Q-39.083-44.788-39.289-44.788M-33.260-43.869Q-34.385-43.869-34.798-44.766Q-35.211-45.662-35.211-46.937Q-35.211-47.710-35.062-48.409Q-34.912-49.108-34.477-49.584Q-34.042-50.061-33.260-50.061Q-32.482-50.061-32.047-49.582Q-31.612-49.103-31.462-48.407Q-31.313-47.710-31.313-46.937Q-31.313-45.658-31.726-44.764Q-32.139-43.869-33.260-43.869M-33.260-44.129Q-32.741-44.129-32.491-44.640Q-32.240-45.152-32.183-45.763Q-32.126-46.374-32.126-47.082Q-32.126-47.767-32.183-48.327Q-32.240-48.888-32.493-49.345Q-32.746-49.802-33.260-49.802Q-33.664-49.802-33.901-49.525Q-34.139-49.248-34.246-48.807Q-34.354-48.365-34.378-47.972Q-34.402-47.578-34.402-47.082Q-34.402-46.576-34.378-46.148Q-34.354-45.719-34.246-45.236Q-34.139-44.753-33.899-44.441Q-33.660-44.129-33.260-44.129",[791],[787,3300],{"fill":781,"d":3301},"M-55.84-15.045h31.299v-17.071H-55.84Z",[775,3303,3305],{"transform":3304},"translate(-4.625 23.386)",[787,3306],{"d":3307,"fill":777,"stroke":777,"className":3308,"style":809},"M-36.283-44.067L-39.733-44.067L-39.733-44.300Q-39.733-44.313-39.702-44.344L-38.248-45.921Q-37.782-46.418-37.529-46.723Q-37.276-47.029-37.085-47.440Q-36.894-47.851-36.894-48.290Q-36.894-48.879-37.217-49.312Q-37.540-49.745-38.120-49.745Q-38.384-49.745-38.630-49.635Q-38.876-49.525-39.052-49.338Q-39.228-49.151-39.324-48.901L-39.245-48.901Q-39.043-48.901-38.900-48.765Q-38.757-48.629-38.757-48.413Q-38.757-48.207-38.900-48.068Q-39.043-47.930-39.245-47.930Q-39.447-47.930-39.590-48.073Q-39.733-48.215-39.733-48.413Q-39.733-48.875-39.496-49.248Q-39.258-49.622-38.858-49.841Q-38.459-50.061-38.010-50.061Q-37.487-50.061-37.033-49.846Q-36.578-49.630-36.305-49.231Q-36.033-48.831-36.033-48.290Q-36.033-47.895-36.204-47.541Q-36.376-47.187-36.641-46.908Q-36.907-46.629-37.358-46.244Q-37.808-45.860-37.887-45.785L-38.911-44.823L-38.094-44.823Q-37.443-44.823-37.006-44.834Q-36.569-44.845-36.538-44.867Q-36.468-44.950-36.413-45.190Q-36.358-45.429-36.318-45.697L-36.033-45.697L-36.283-44.067M-31.665-44.067L-34.697-44.067L-34.697-44.383Q-33.545-44.383-33.545-44.678L-33.545-49.402Q-34.033-49.169-34.754-49.169L-34.754-49.485Q-33.625-49.485-33.062-50.061L-32.917-50.061Q-32.882-50.061-32.849-50.028Q-32.816-49.995-32.816-49.960L-32.816-44.678Q-32.816-44.383-31.665-44.383",[791],[775,3310,3311,3314],{"fill":955},[787,3312],{"d":3313},"M-55.84 5.441h31.299V-11.63H-55.84Z",[775,3315,3317],{"transform":3316},"translate(-4.625 43.872)",[787,3318],{"d":3319,"fill":777,"stroke":777,"className":3320,"style":809},"M-39.289-44.788L-39.333-44.788Q-39.131-44.471-38.744-44.313Q-38.357-44.155-37.931-44.155Q-37.395-44.155-37.156-44.590Q-36.916-45.025-36.916-45.605Q-36.916-46.185-37.162-46.625Q-37.408-47.064-37.940-47.064L-38.560-47.064Q-38.586-47.064-38.619-47.093Q-38.652-47.121-38.652-47.143L-38.652-47.244Q-38.652-47.275-38.623-47.299Q-38.595-47.323-38.560-47.323L-38.041-47.363Q-37.575-47.363-37.329-47.835Q-37.083-48.308-37.083-48.826Q-37.083-49.253-37.296-49.527Q-37.509-49.802-37.931-49.802Q-38.274-49.802-38.599-49.672Q-38.924-49.543-39.109-49.288L-39.083-49.288Q-38.880-49.288-38.744-49.147Q-38.608-49.006-38.608-48.809Q-38.608-48.611-38.742-48.477Q-38.876-48.343-39.074-48.343Q-39.276-48.343-39.414-48.477Q-39.553-48.611-39.553-48.809Q-39.553-49.398-39.050-49.729Q-38.546-50.061-37.931-50.061Q-37.553-50.061-37.151-49.921Q-36.749-49.780-36.481-49.501Q-36.213-49.222-36.213-48.826Q-36.213-48.277-36.567-47.840Q-36.920-47.402-37.461-47.218Q-37.070-47.139-36.725-46.915Q-36.380-46.691-36.169-46.350Q-35.958-46.009-35.958-45.614Q-35.958-45.232-36.121-44.909Q-36.283-44.586-36.575-44.350Q-36.868-44.115-37.215-43.992Q-37.562-43.869-37.931-43.869Q-38.379-43.869-38.810-44.030Q-39.241-44.190-39.522-44.517Q-39.803-44.845-39.803-45.302Q-39.803-45.517-39.656-45.660Q-39.509-45.803-39.289-45.803Q-39.078-45.803-38.933-45.658Q-38.788-45.513-38.788-45.302Q-38.788-45.091-38.935-44.939Q-39.083-44.788-39.289-44.788M-31.665-44.067L-35.114-44.067L-35.114-44.300Q-35.114-44.313-35.084-44.344L-33.629-45.921Q-33.163-46.418-32.910-46.723Q-32.658-47.029-32.467-47.440Q-32.275-47.851-32.275-48.290Q-32.275-48.879-32.598-49.312Q-32.921-49.745-33.502-49.745Q-33.765-49.745-34.011-49.635Q-34.257-49.525-34.433-49.338Q-34.609-49.151-34.706-48.901L-34.627-48.901Q-34.424-48.901-34.282-48.765Q-34.139-48.629-34.139-48.413Q-34.139-48.207-34.282-48.068Q-34.424-47.930-34.627-47.930Q-34.829-47.930-34.971-48.073Q-35.114-48.215-35.114-48.413Q-35.114-48.875-34.877-49.248Q-34.640-49.622-34.240-49.841Q-33.840-50.061-33.392-50.061Q-32.869-50.061-32.414-49.846Q-31.959-49.630-31.687-49.231Q-31.414-48.831-31.414-48.290Q-31.414-47.895-31.586-47.541Q-31.757-47.187-32.023-46.908Q-32.289-46.629-32.739-46.244Q-33.190-45.860-33.269-45.785L-34.293-44.823L-33.475-44.823Q-32.825-44.823-32.388-44.834Q-31.950-44.845-31.919-44.867Q-31.849-44.950-31.794-45.190Q-31.739-45.429-31.700-45.697L-31.414-45.697",[791],[787,3322],{"fill":781,"d":3323},"M-55.84 25.927h31.299V8.856H-55.84Z",[775,3325,3327],{"transform":3326},"translate(-4.625 64.358)",[787,3328],{"d":3329,"fill":777,"stroke":777,"className":3330,"style":809},"M-36.283-44.067L-39.733-44.067L-39.733-44.300Q-39.733-44.313-39.702-44.344L-38.248-45.921Q-37.782-46.418-37.529-46.723Q-37.276-47.029-37.085-47.440Q-36.894-47.851-36.894-48.290Q-36.894-48.879-37.217-49.312Q-37.540-49.745-38.120-49.745Q-38.384-49.745-38.630-49.635Q-38.876-49.525-39.052-49.338Q-39.228-49.151-39.324-48.901L-39.245-48.901Q-39.043-48.901-38.900-48.765Q-38.757-48.629-38.757-48.413Q-38.757-48.207-38.900-48.068Q-39.043-47.930-39.245-47.930Q-39.447-47.930-39.590-48.073Q-39.733-48.215-39.733-48.413Q-39.733-48.875-39.496-49.248Q-39.258-49.622-38.858-49.841Q-38.459-50.061-38.010-50.061Q-37.487-50.061-37.033-49.846Q-36.578-49.630-36.305-49.231Q-36.033-48.831-36.033-48.290Q-36.033-47.895-36.204-47.541Q-36.376-47.187-36.641-46.908Q-36.907-46.629-37.358-46.244Q-37.808-45.860-37.887-45.785L-38.911-44.823L-38.094-44.823Q-37.443-44.823-37.006-44.834Q-36.569-44.845-36.538-44.867Q-36.468-44.950-36.413-45.190Q-36.358-45.429-36.318-45.697L-36.033-45.697L-36.283-44.067M-34.670-44.788L-34.714-44.788Q-34.512-44.471-34.126-44.313Q-33.739-44.155-33.313-44.155Q-32.776-44.155-32.537-44.590Q-32.297-45.025-32.297-45.605Q-32.297-46.185-32.544-46.625Q-32.790-47.064-33.321-47.064L-33.941-47.064Q-33.967-47.064-34-47.093Q-34.033-47.121-34.033-47.143L-34.033-47.244Q-34.033-47.275-34.005-47.299Q-33.976-47.323-33.941-47.323L-33.422-47.363Q-32.957-47.363-32.711-47.835Q-32.464-48.308-32.464-48.826Q-32.464-49.253-32.678-49.527Q-32.891-49.802-33.313-49.802Q-33.655-49.802-33.981-49.672Q-34.306-49.543-34.490-49.288L-34.464-49.288Q-34.262-49.288-34.126-49.147Q-33.989-49.006-33.989-48.809Q-33.989-48.611-34.123-48.477Q-34.257-48.343-34.455-48.343Q-34.657-48.343-34.796-48.477Q-34.934-48.611-34.934-48.809Q-34.934-49.398-34.431-49.729Q-33.928-50.061-33.313-50.061Q-32.935-50.061-32.533-49.921Q-32.130-49.780-31.862-49.501Q-31.594-49.222-31.594-48.826Q-31.594-48.277-31.948-47.840Q-32.302-47.402-32.842-47.218Q-32.451-47.139-32.106-46.915Q-31.761-46.691-31.550-46.350Q-31.339-46.009-31.339-45.614Q-31.339-45.232-31.502-44.909Q-31.665-44.586-31.957-44.350Q-32.249-44.115-32.596-43.992Q-32.943-43.869-33.313-43.869Q-33.761-43.869-34.191-44.030Q-34.622-44.190-34.903-44.517Q-35.185-44.845-35.185-45.302Q-35.185-45.517-35.037-45.660Q-34.890-45.803-34.670-45.803Q-34.460-45.803-34.315-45.658Q-34.169-45.513-34.169-45.302Q-34.169-45.091-34.317-44.939Q-34.464-44.788-34.670-44.788",[791],[775,3332,3333,3339,3344],{"stroke":781,"fontFamily":939,"fontSize":782},[775,3334,3336],{"transform":3335},"translate(68.969 -19.315)",[787,3337],{"d":3273,"fill":777,"stroke":777,"className":3338,"style":792},[791],[775,3340,3341],{"transform":3335},[787,3342],{"d":3279,"fill":777,"stroke":777,"className":3343,"style":792},[791],[775,3345,3346],{"transform":3335},[787,3347],{"d":3348,"fill":777,"stroke":777,"className":3349,"style":792},"M3.306-44.067L0.146-44.067L0.146-44.274Q0.146-44.301 0.169-44.333L1.521-45.731Q1.900-46.118 2.148-46.407Q2.396-46.696 2.570-47.053Q2.743-47.411 2.743-47.801Q2.743-48.149 2.611-48.442Q2.478-48.735 2.224-48.913Q1.970-49.090 1.615-49.090Q1.255-49.090 0.964-48.895Q0.673-48.700 0.529-48.372L0.583-48.372Q0.767-48.372 0.892-48.251Q1.017-48.130 1.017-47.938Q1.017-47.758 0.892-47.630Q0.767-47.501 0.583-47.501Q0.404-47.501 0.275-47.630Q0.146-47.758 0.146-47.938Q0.146-48.340 0.366-48.676Q0.587-49.012 0.952-49.200Q1.318-49.387 1.720-49.387Q2.200-49.387 2.616-49.200Q3.032-49.012 3.284-48.651Q3.536-48.290 3.536-47.801Q3.536-47.442 3.382-47.139Q3.228-46.837 2.976-46.577Q2.724-46.317 2.374-46.032Q2.025-45.747 1.857-45.594L0.927-44.755L1.642-44.755Q3.017-44.755 3.056-44.794Q3.126-44.872 3.169-45.057Q3.212-45.243 3.255-45.532L3.536-45.532",[791],[787,3351],{"fill":781,"d":3352},"M35.21-35.53h31.297v-17.072H35.21Z",[775,3354,3356],{"transform":3355},"translate(86.424 2.9)",[787,3357],{"d":3307,"fill":777,"stroke":777,"className":3358,"style":809},[791],[787,3360],{"fill":781,"d":3361},"M35.21-15.045h31.297v-17.071H35.21Z",[775,3363,3365],{"transform":3364},"translate(86.424 23.386)",[787,3366],{"d":3329,"fill":777,"stroke":777,"className":3367,"style":809},[791],[775,3369,3370,3373],{"fill":955},[787,3371],{"d":3372},"M35.21 5.441h31.297V-11.63H35.21Z",[775,3374,3376],{"transform":3375},"translate(86.424 43.872)",[787,3377],{"d":3297,"fill":777,"stroke":777,"className":3378,"style":809},[791],[775,3380,3381,3384],{"fill":955},[787,3382],{"d":3383},"M35.21 25.927h31.297V8.856H35.21Z",[775,3385,3387],{"transform":3386},"translate(86.424 64.358)",[787,3388],{"d":3319,"fill":777,"stroke":777,"className":3389,"style":809},[791],[775,3391,3392,3395],{"fill":1832,"stroke":1832,"style":1115},[787,3393],{"fill":781,"d":3394},"M-24.341-44.067 31.614-5.438",[787,3396],{"d":3397,"style":3398},"m34.072-3.742-2.535-3.665.242 2.082-2.033.512Z","stroke-width:.799944",[787,3400],{"fill":781,"d":3401},"m-24.341-23.58 56.444-19.483",[787,3403],{"d":3404,"style":3405},"m34.471-43.88-3.829-.108 1.555.892-.674 1.662Z","stroke-width:.399988",[775,3407,3408,3411],{"fill":1832,"stroke":1832,"style":1115},[787,3409],{"fill":781,"d":3410},"m-24.341-3.095 55.45 19.14",[787,3412],{"d":3413,"style":3414},"m33.933 17.02-3.427-2.85.793 1.94-1.821 1.04Z","stroke-width:.799976",[787,3416],{"fill":781,"d":3417},"m-24.341 17.391 56.82-39.225",[787,3419],{"d":3420,"style":3421},"m34.54-23.257-3.716.925 1.737.442-.203 1.78Z","stroke-width:.399972",[775,3423,3424,3431,3437,3443,3449,3455,3461,3467,3473,3479,3485],{"fill":1832,"stroke":781,"fontFamily":879,"fontSize":880},[775,3425,3427],{"transform":3426},"translate(36.253 85.686)",[787,3428],{"d":3429,"fill":1832,"stroke":1832,"className":3430,"style":888},"M-39.394-44.614Q-39.274-44.457-39.083-44.358Q-38.891-44.258-38.676-44.219Q-38.461-44.180-38.238-44.180Q-37.941-44.180-37.746-44.335Q-37.551-44.491-37.461-44.745Q-37.370-45-37.370-45.284Q-37.370-45.578-37.462-45.829Q-37.555-46.080-37.753-46.236Q-37.951-46.391-38.245-46.391L-38.761-46.391Q-38.789-46.391-38.814-46.417Q-38.840-46.442-38.840-46.466L-38.840-46.538Q-38.840-46.569-38.814-46.591Q-38.789-46.613-38.761-46.613L-38.320-46.644Q-37.958-46.644-37.738-47.001Q-37.517-47.359-37.517-47.748Q-37.517-48.076-37.712-48.280Q-37.907-48.483-38.238-48.483Q-38.525-48.483-38.778-48.399Q-39.031-48.316-39.195-48.128Q-39.048-48.128-38.948-48.013Q-38.847-47.899-38.847-47.748Q-38.847-47.598-38.953-47.488Q-39.059-47.379-39.216-47.379Q-39.377-47.379-39.486-47.488Q-39.595-47.598-39.595-47.748Q-39.595-48.073-39.387-48.292Q-39.178-48.510-38.862-48.613Q-38.546-48.715-38.238-48.715Q-37.920-48.715-37.592-48.611Q-37.264-48.507-37.037-48.285Q-36.810-48.063-36.810-47.748Q-36.810-47.314-37.097-46.989Q-37.384-46.665-37.818-46.518Q-37.507-46.453-37.227-46.287Q-36.946-46.121-36.769-45.863Q-36.591-45.605-36.591-45.284Q-36.591-44.874-36.835-44.564Q-37.080-44.255-37.461-44.091Q-37.842-43.927-38.238-43.927Q-38.607-43.927-38.965-44.040Q-39.322-44.152-39.566-44.402Q-39.811-44.651-39.811-45.021Q-39.811-45.192-39.694-45.304Q-39.578-45.417-39.407-45.417Q-39.298-45.417-39.207-45.366Q-39.117-45.315-39.062-45.222Q-39.007-45.130-39.007-45.021Q-39.007-44.853-39.120-44.734Q-39.233-44.614-39.394-44.614M-34.219-43.927Q-34.855-43.927-35.219-44.272Q-35.583-44.617-35.718-45.142Q-35.853-45.667-35.853-46.292Q-35.853-47.317-35.497-48.016Q-35.142-48.715-34.219-48.715Q-33.293-48.715-32.940-48.016Q-32.588-47.317-32.588-46.292Q-32.588-45.667-32.723-45.142Q-32.858-44.617-33.221-44.272Q-33.583-43.927-34.219-43.927M-34.219-44.152Q-33.781-44.152-33.568-44.527Q-33.354-44.901-33.305-45.368Q-33.255-45.834-33.255-46.412Q-33.255-46.965-33.305-47.393Q-33.354-47.820-33.566-48.155Q-33.778-48.490-34.219-48.490Q-34.561-48.490-34.764-48.283Q-34.967-48.076-35.055-47.764Q-35.142-47.451-35.164-47.135Q-35.186-46.818-35.186-46.412Q-35.186-45.995-35.164-45.653Q-35.142-45.311-35.053-44.963Q-34.964-44.614-34.759-44.383Q-34.554-44.152-34.219-44.152",[791],[775,3432,3433],{"transform":3426},[787,3434],{"d":3435,"fill":1832,"stroke":1832,"className":3436,"style":888},"M-28.402-44.067L-28.669-44.067L-28.669-48.175Q-28.669-48.445-28.776-48.507Q-28.884-48.568-29.195-48.568L-29.195-48.849L-28.115-48.924L-28.115-46.754Q-27.906-46.945-27.621-47.049Q-27.335-47.153-27.038-47.153Q-26.720-47.153-26.423-47.032Q-26.126-46.911-25.903-46.695Q-25.681-46.480-25.555-46.195Q-25.428-45.909-25.428-45.578Q-25.428-45.133-25.668-44.769Q-25.907-44.405-26.300-44.202Q-26.693-43.999-27.137-43.999Q-27.332-43.999-27.522-44.055Q-27.711-44.111-27.872-44.216Q-28.033-44.320-28.173-44.481L-28.402-44.067M-28.087-46.412L-28.087-44.795Q-27.951-44.535-27.710-44.378Q-27.469-44.221-27.192-44.221Q-26.898-44.221-26.686-44.328Q-26.474-44.436-26.341-44.628Q-26.208-44.819-26.149-45.058Q-26.091-45.297-26.091-45.578Q-26.091-45.937-26.185-46.241Q-26.279-46.545-26.507-46.738Q-26.734-46.931-27.100-46.931Q-27.400-46.931-27.667-46.795Q-27.934-46.658-28.087-46.412",[791],[775,3438,3439],{"transform":3426},[787,3440],{"d":3441,"fill":1832,"stroke":1832,"className":3442,"style":888},"M-24.619-45.602Q-24.619-45.923-24.494-46.212Q-24.369-46.501-24.143-46.724Q-23.918-46.948-23.622-47.068Q-23.327-47.188-23.009-47.188Q-22.681-47.188-22.419-47.088Q-22.158-46.989-21.982-46.807Q-21.806-46.624-21.712-46.366Q-21.618-46.108-21.618-45.776Q-21.618-45.684-21.700-45.663L-23.955-45.663L-23.955-45.602Q-23.955-45.014-23.672-44.631Q-23.388-44.248-22.821-44.248Q-22.499-44.248-22.231-44.441Q-21.963-44.634-21.874-44.949Q-21.867-44.990-21.792-45.004L-21.700-45.004Q-21.618-44.980-21.618-44.908Q-21.618-44.901-21.624-44.874Q-21.737-44.477-22.108-44.238Q-22.479-43.999-22.903-43.999Q-23.340-43.999-23.740-44.207Q-24.140-44.416-24.379-44.783Q-24.619-45.150-24.619-45.602M-23.949-45.872L-22.134-45.872Q-22.134-46.149-22.231-46.401Q-22.329-46.654-22.527-46.810Q-22.725-46.965-23.009-46.965Q-23.286-46.965-23.499-46.807Q-23.713-46.648-23.831-46.393Q-23.949-46.138-23.949-45.872M-19.232-44.067L-20.965-44.067L-20.965-44.347Q-20.739-44.347-20.590-44.381Q-20.442-44.416-20.442-44.556L-20.442-46.805L-21.030-46.805L-21.030-47.085L-20.442-47.085L-20.442-47.902Q-20.442-48.220-20.264-48.468Q-20.086-48.715-19.796-48.856Q-19.505-48.996-19.194-48.996Q-18.938-48.996-18.735-48.854Q-18.531-48.712-18.531-48.469Q-18.531-48.333-18.630-48.234Q-18.729-48.134-18.866-48.134Q-19.003-48.134-19.102-48.234Q-19.201-48.333-19.201-48.469Q-19.201-48.650-19.061-48.743Q-19.140-48.770-19.239-48.770Q-19.447-48.770-19.601-48.637Q-19.755-48.504-19.835-48.300Q-19.915-48.097-19.915-47.888L-19.915-47.085L-19.027-47.085L-19.027-46.805L-19.888-46.805L-19.888-44.556Q-19.888-44.347-19.232-44.347L-19.232-44.067M-18.593-45.550Q-18.593-45.892-18.458-46.191Q-18.323-46.490-18.083-46.714Q-17.844-46.938-17.526-47.063Q-17.208-47.188-16.877-47.188Q-16.433-47.188-16.033-46.972Q-15.633-46.757-15.399-46.379Q-15.164-46.002-15.164-45.550Q-15.164-45.209-15.306-44.925Q-15.448-44.641-15.693-44.434Q-15.937-44.228-16.246-44.113Q-16.556-43.999-16.877-43.999Q-17.308-43.999-17.709-44.200Q-18.111-44.402-18.352-44.754Q-18.593-45.106-18.593-45.550M-16.877-44.248Q-16.275-44.248-16.051-44.626Q-15.828-45.004-15.828-45.636Q-15.828-46.248-16.062-46.607Q-16.296-46.965-16.877-46.965Q-17.930-46.965-17.930-45.636Q-17.930-45.004-17.704-44.626Q-17.478-44.248-16.877-44.248M-12.820-44.067L-14.556-44.067L-14.556-44.347Q-14.327-44.347-14.178-44.381Q-14.030-44.416-14.030-44.556L-14.030-46.405Q-14.030-46.675-14.137-46.736Q-14.245-46.798-14.556-46.798L-14.556-47.078L-13.527-47.153L-13.527-46.446Q-13.397-46.754-13.155-46.953Q-12.912-47.153-12.594-47.153Q-12.375-47.153-12.204-47.029Q-12.034-46.904-12.034-46.692Q-12.034-46.555-12.133-46.456Q-12.232-46.357-12.365-46.357Q-12.502-46.357-12.601-46.456Q-12.700-46.555-12.700-46.692Q-12.700-46.832-12.601-46.931Q-12.892-46.931-13.091-46.735Q-13.291-46.538-13.384-46.244Q-13.476-45.950-13.476-45.670L-13.476-44.556Q-13.476-44.347-12.820-44.347L-12.820-44.067M-11.490-45.602Q-11.490-45.923-11.365-46.212Q-11.241-46.501-11.015-46.724Q-10.789-46.948-10.494-47.068Q-10.198-47.188-9.880-47.188Q-9.552-47.188-9.291-47.088Q-9.029-46.989-8.853-46.807Q-8.677-46.624-8.583-46.366Q-8.489-46.108-8.489-45.776Q-8.489-45.684-8.571-45.663L-10.827-45.663L-10.827-45.602Q-10.827-45.014-10.543-44.631Q-10.260-44.248-9.692-44.248Q-9.371-44.248-9.103-44.441Q-8.834-44.634-8.746-44.949Q-8.739-44.990-8.663-45.004L-8.571-45.004Q-8.489-44.980-8.489-44.908Q-8.489-44.901-8.496-44.874Q-8.609-44.477-8.980-44.238Q-9.350-43.999-9.774-43.999Q-10.212-43.999-10.612-44.207Q-11.012-44.416-11.251-44.783Q-11.490-45.150-11.490-45.602M-10.820-45.872L-9.005-45.872Q-9.005-46.149-9.103-46.401Q-9.200-46.654-9.398-46.810Q-9.597-46.965-9.880-46.965Q-10.157-46.965-10.371-46.807Q-10.584-46.648-10.702-46.393Q-10.820-46.138-10.820-45.872",[791],[775,3444,3445],{"transform":3426},[787,3446],{"d":3447,"fill":1832,"stroke":1832,"className":3448,"style":888},"M-4.700-44.614Q-4.580-44.457-4.389-44.358Q-4.197-44.258-3.982-44.219Q-3.767-44.180-3.544-44.180Q-3.247-44.180-3.052-44.335Q-2.857-44.491-2.767-44.745Q-2.676-45-2.676-45.284Q-2.676-45.578-2.768-45.829Q-2.861-46.080-3.059-46.236Q-3.257-46.391-3.551-46.391L-4.067-46.391Q-4.095-46.391-4.120-46.417Q-4.146-46.442-4.146-46.466L-4.146-46.538Q-4.146-46.569-4.120-46.591Q-4.095-46.613-4.067-46.613L-3.626-46.644Q-3.264-46.644-3.044-47.001Q-2.823-47.359-2.823-47.748Q-2.823-48.076-3.018-48.280Q-3.213-48.483-3.544-48.483Q-3.831-48.483-4.084-48.399Q-4.337-48.316-4.501-48.128Q-4.354-48.128-4.254-48.013Q-4.153-47.899-4.153-47.748Q-4.153-47.598-4.259-47.488Q-4.365-47.379-4.522-47.379Q-4.683-47.379-4.792-47.488Q-4.901-47.598-4.901-47.748Q-4.901-48.073-4.693-48.292Q-4.484-48.510-4.168-48.613Q-3.852-48.715-3.544-48.715Q-3.226-48.715-2.898-48.611Q-2.570-48.507-2.343-48.285Q-2.116-48.063-2.116-47.748Q-2.116-47.314-2.403-46.989Q-2.690-46.665-3.124-46.518Q-2.813-46.453-2.533-46.287Q-2.252-46.121-2.075-45.863Q-1.897-45.605-1.897-45.284Q-1.897-44.874-2.141-44.564Q-2.386-44.255-2.767-44.091Q-3.148-43.927-3.544-43.927Q-3.913-43.927-4.271-44.040Q-4.628-44.152-4.872-44.402Q-5.117-44.651-5.117-45.021Q-5.117-45.192-5-45.304Q-4.884-45.417-4.713-45.417Q-4.604-45.417-4.513-45.366Q-4.423-45.315-4.368-45.222Q-4.313-45.130-4.313-45.021Q-4.313-44.853-4.426-44.734Q-4.539-44.614-4.700-44.614M1.812-44.067L-1.073-44.067L-1.073-44.269Q-1.073-44.299-1.046-44.327L0.202-45.544Q0.274-45.619 0.316-45.661Q0.359-45.704 0.438-45.783Q0.851-46.196 1.082-46.554Q1.313-46.911 1.313-47.335Q1.313-47.567 1.234-47.770Q1.155-47.974 1.014-48.124Q0.872-48.275 0.677-48.355Q0.482-48.435 0.250-48.435Q-0.061-48.435-0.319-48.276Q-0.578-48.117-0.707-47.840L-0.687-47.840Q-0.519-47.840-0.412-47.729Q-0.304-47.618-0.304-47.454Q-0.304-47.297-0.413-47.184Q-0.523-47.071-0.687-47.071Q-0.848-47.071-0.960-47.184Q-1.073-47.297-1.073-47.454Q-1.073-47.830-0.865-48.117Q-0.656-48.404-0.321-48.560Q0.014-48.715 0.369-48.715Q0.793-48.715 1.172-48.557Q1.552-48.398 1.786-48.081Q2.020-47.765 2.020-47.335Q2.020-47.024 1.880-46.755Q1.740-46.487 1.535-46.282Q1.330-46.077 0.967-45.795Q0.605-45.513 0.496-45.417L-0.359-44.689L0.284-44.689Q0.547-44.689 0.836-44.691Q1.125-44.692 1.343-44.701Q1.562-44.710 1.579-44.727Q1.641-44.792 1.678-44.959Q1.716-45.127 1.754-45.369L2.020-45.369",[791],[775,3450,3451],{"transform":3426},[787,3452],{"d":3453,"fill":1832,"stroke":1832,"className":3454,"style":888},"M7.129-42.710L5.499-42.710L5.499-42.990Q5.728-42.990 5.877-43.025Q6.025-43.059 6.025-43.199L6.025-46.545Q6.025-46.716 5.889-46.757Q5.752-46.798 5.499-46.798L5.499-47.078L6.579-47.153L6.579-46.747Q6.801-46.948 7.088-47.051Q7.376-47.153 7.683-47.153Q8.110-47.153 8.474-46.940Q8.838-46.726 9.052-46.362Q9.266-45.998 9.266-45.578Q9.266-45.133 9.026-44.769Q8.787-44.405 8.394-44.202Q8.001-43.999 7.557-43.999Q7.290-43.999 7.042-44.099Q6.795-44.200 6.607-44.381L6.607-43.199Q6.607-43.062 6.755-43.026Q6.904-42.990 7.129-42.990L7.129-42.710M6.607-46.398L6.607-44.788Q6.740-44.535 6.983-44.378Q7.225-44.221 7.502-44.221Q7.830-44.221 8.083-44.422Q8.336-44.624 8.469-44.942Q8.603-45.260 8.603-45.578Q8.603-45.807 8.538-46.036Q8.473-46.265 8.345-46.463Q8.216-46.661 8.022-46.781Q7.827-46.900 7.594-46.900Q7.300-46.900 7.032-46.771Q6.764-46.641 6.607-46.398M11.651-44.067L9.915-44.067L9.915-44.347Q10.144-44.347 10.293-44.381Q10.442-44.416 10.442-44.556L10.442-46.405Q10.442-46.675 10.334-46.736Q10.226-46.798 9.915-46.798L9.915-47.078L10.944-47.153L10.944-46.446Q11.074-46.754 11.317-46.953Q11.559-47.153 11.877-47.153Q12.096-47.153 12.267-47.029Q12.438-46.904 12.438-46.692Q12.438-46.555 12.338-46.456Q12.239-46.357 12.106-46.357Q11.969-46.357 11.870-46.456Q11.771-46.555 11.771-46.692Q11.771-46.832 11.870-46.931Q11.580-46.931 11.380-46.735Q11.180-46.538 11.088-46.244Q10.995-45.950 10.995-45.670L10.995-44.556Q10.995-44.347 11.651-44.347L11.651-44.067M12.981-45.602Q12.981-45.923 13.106-46.212Q13.231-46.501 13.456-46.724Q13.682-46.948 13.977-47.068Q14.273-47.188 14.591-47.188Q14.919-47.188 15.181-47.088Q15.442-46.989 15.618-46.807Q15.794-46.624 15.888-46.366Q15.982-46.108 15.982-45.776Q15.982-45.684 15.900-45.663L13.644-45.663L13.644-45.602Q13.644-45.014 13.928-44.631Q14.212-44.248 14.779-44.248Q15.100-44.248 15.369-44.441Q15.637-44.634 15.726-44.949Q15.733-44.990 15.808-45.004L15.900-45.004Q15.982-44.980 15.982-44.908Q15.982-44.901 15.975-44.874Q15.862-44.477 15.492-44.238Q15.121-43.999 14.697-43.999Q14.259-43.999 13.859-44.207Q13.460-44.416 13.220-44.783Q12.981-45.150 12.981-45.602M13.651-45.872L15.466-45.872Q15.466-46.149 15.369-46.401Q15.271-46.654 15.073-46.810Q14.875-46.965 14.591-46.965Q14.314-46.965 14.100-46.807Q13.887-46.648 13.769-46.393Q13.651-46.138 13.651-45.872M16.570-44.074L16.570-45.137Q16.570-45.161 16.597-45.188Q16.625-45.215 16.649-45.215L16.758-45.215Q16.823-45.215 16.837-45.157Q16.932-44.723 17.178-44.472Q17.424-44.221 17.838-44.221Q18.180-44.221 18.433-44.354Q18.686-44.487 18.686-44.795Q18.686-44.952 18.592-45.067Q18.498-45.181 18.359-45.250Q18.221-45.318 18.053-45.356L17.472-45.455Q17.117-45.523 16.843-45.744Q16.570-45.964 16.570-46.306Q16.570-46.555 16.681-46.730Q16.792-46.904 16.978-47.003Q17.165-47.102 17.380-47.145Q17.595-47.188 17.838-47.188Q18.252-47.188 18.532-47.006L18.747-47.181Q18.757-47.184 18.764-47.186Q18.771-47.188 18.781-47.188L18.833-47.188Q18.860-47.188 18.884-47.164Q18.908-47.140 18.908-47.112L18.908-46.265Q18.908-46.244 18.884-46.217Q18.860-46.190 18.833-46.190L18.720-46.190Q18.692-46.190 18.667-46.215Q18.641-46.241 18.641-46.265Q18.641-46.501 18.535-46.665Q18.429-46.829 18.246-46.911Q18.064-46.993 17.831-46.993Q17.503-46.993 17.247-46.890Q16.990-46.788 16.990-46.511Q16.990-46.316 17.173-46.207Q17.356-46.097 17.585-46.056L18.159-45.950Q18.405-45.902 18.619-45.774Q18.833-45.646 18.969-45.443Q19.106-45.239 19.106-44.990Q19.106-44.477 18.740-44.238Q18.375-43.999 17.838-43.999Q17.342-43.999 17.011-44.293L16.744-44.019Q16.724-43.999 16.696-43.999L16.649-43.999Q16.625-43.999 16.597-44.026Q16.570-44.053 16.570-44.074M19.694-45.602Q19.694-45.923 19.819-46.212Q19.943-46.501 20.169-46.724Q20.395-46.948 20.690-47.068Q20.986-47.188 21.304-47.188Q21.632-47.188 21.893-47.088Q22.155-46.989 22.331-46.807Q22.507-46.624 22.601-46.366Q22.695-46.108 22.695-45.776Q22.695-45.684 22.613-45.663L20.357-45.663L20.357-45.602Q20.357-45.014 20.641-44.631Q20.924-44.248 21.492-44.248Q21.813-44.248 22.081-44.441Q22.350-44.634 22.439-44.949Q22.445-44.990 22.521-45.004L22.613-45.004Q22.695-44.980 22.695-44.908Q22.695-44.901 22.688-44.874Q22.575-44.477 22.204-44.238Q21.834-43.999 21.410-43.999Q20.972-43.999 20.572-44.207Q20.172-44.416 19.933-44.783Q19.694-45.150 19.694-45.602M20.364-45.872L22.179-45.872Q22.179-46.149 22.081-46.401Q21.984-46.654 21.786-46.810Q21.588-46.965 21.304-46.965Q21.027-46.965 20.813-46.807Q20.600-46.648 20.482-46.393Q20.364-46.138 20.364-45.872M25.033-44.067L23.296-44.067L23.296-44.347Q23.525-44.347 23.674-44.381Q23.823-44.416 23.823-44.556L23.823-46.405Q23.823-46.675 23.715-46.736Q23.608-46.798 23.296-46.798L23.296-47.078L24.325-47.153L24.325-46.446Q24.455-46.754 24.698-46.953Q24.941-47.153 25.258-47.153Q25.477-47.153 25.648-47.029Q25.819-46.904 25.819-46.692Q25.819-46.555 25.720-46.456Q25.621-46.357 25.487-46.357Q25.351-46.357 25.252-46.456Q25.152-46.555 25.152-46.692Q25.152-46.832 25.252-46.931Q24.961-46.931 24.761-46.735Q24.561-46.538 24.469-46.244Q24.377-45.950 24.377-45.670L24.377-44.556Q24.377-44.347 25.033-44.347L25.033-44.067M27.993-44.094L26.865-46.593Q26.793-46.740 26.663-46.772Q26.533-46.805 26.304-46.805L26.304-47.085L27.818-47.085L27.818-46.805Q27.466-46.805 27.466-46.658Q27.466-46.613 27.477-46.593L28.341-44.675L29.121-46.405Q29.155-46.473 29.155-46.552Q29.155-46.665 29.071-46.735Q28.987-46.805 28.868-46.805L28.868-47.085L30.064-47.085L30.064-46.805Q29.845-46.805 29.674-46.702Q29.504-46.600 29.415-46.405L28.379-44.094Q28.331-43.999 28.225-43.999L28.147-43.999Q28.041-43.999 27.993-44.094",[791],[775,3456,3457],{"transform":3426},[787,3458],{"d":3459,"fill":1832,"stroke":1832,"className":3460,"style":888},"M30.376-45.602Q30.376-45.923 30.501-46.212Q30.626-46.501 30.852-46.724Q31.077-46.948 31.373-47.068Q31.668-47.188 31.986-47.188Q32.314-47.188 32.576-47.088Q32.837-46.989 33.013-46.807Q33.189-46.624 33.283-46.366Q33.377-46.108 33.377-45.776Q33.377-45.684 33.295-45.663L31.040-45.663L31.040-45.602Q31.040-45.014 31.323-44.631Q31.607-44.248 32.174-44.248Q32.496-44.248 32.764-44.441Q33.032-44.634 33.121-44.949Q33.128-44.990 33.203-45.004L33.295-45.004Q33.377-44.980 33.377-44.908Q33.377-44.901 33.371-44.874Q33.258-44.477 32.887-44.238Q32.516-43.999 32.092-43.999Q31.655-43.999 31.255-44.207Q30.855-44.416 30.616-44.783Q30.376-45.150 30.376-45.602M31.046-45.872L32.861-45.872Q32.861-46.149 32.764-46.401Q32.666-46.654 32.468-46.810Q32.270-46.965 31.986-46.965Q31.709-46.965 31.496-46.807Q31.282-46.648 31.164-46.393Q31.046-46.138 31.046-45.872M33.965-45.578Q33.965-45.916 34.105-46.207Q34.246-46.497 34.490-46.711Q34.734-46.924 35.039-47.039Q35.343-47.153 35.667-47.153Q35.937-47.153 36.201-47.054Q36.464-46.955 36.655-46.777L36.655-48.175Q36.655-48.445 36.548-48.507Q36.440-48.568 36.129-48.568L36.129-48.849L37.206-48.924L37.206-44.740Q37.206-44.552 37.260-44.469Q37.315-44.385 37.416-44.366Q37.517-44.347 37.732-44.347L37.732-44.067L36.624-43.999L36.624-44.416Q36.207-43.999 35.582-43.999Q35.151-43.999 34.779-44.211Q34.406-44.422 34.186-44.783Q33.965-45.144 33.965-45.578M35.640-44.221Q35.849-44.221 36.035-44.293Q36.221-44.364 36.375-44.501Q36.529-44.638 36.624-44.816L36.624-46.425Q36.539-46.572 36.394-46.692Q36.249-46.812 36.079-46.871Q35.910-46.931 35.729-46.931Q35.168-46.931 34.900-46.542Q34.632-46.152 34.632-45.571Q34.632-45 34.866-44.610Q35.100-44.221 35.640-44.221",[791],[775,3462,3463],{"transform":3426},[787,3464],{"d":3465,"fill":1832,"stroke":1832,"className":3466,"style":888},"M43.214-42.317Q42.664-42.717 42.293-43.272Q41.922-43.828 41.741-44.474Q41.560-45.120 41.560-45.817Q41.560-46.330 41.660-46.825Q41.761-47.321 41.966-47.772Q42.171-48.223 42.484-48.615Q42.797-49.006 43.214-49.310Q43.224-49.314 43.231-49.315Q43.238-49.317 43.248-49.317L43.316-49.317Q43.351-49.317 43.373-49.293Q43.395-49.269 43.395-49.232Q43.395-49.187 43.368-49.170Q43.019-48.869 42.766-48.485Q42.513-48.100 42.361-47.659Q42.209-47.218 42.137-46.762Q42.065-46.306 42.065-45.817Q42.065-44.816 42.375-43.929Q42.684-43.042 43.368-42.457Q43.395-42.440 43.395-42.396Q43.395-42.358 43.373-42.334Q43.351-42.310 43.316-42.310L43.248-42.310Q43.241-42.314 43.233-42.315Q43.224-42.317 43.214-42.317M45.012-44.067L44.745-44.067L44.745-48.175Q44.745-48.445 44.637-48.507Q44.530-48.568 44.219-48.568L44.219-48.849L45.299-48.924L45.299-46.754Q45.507-46.945 45.793-47.049Q46.078-47.153 46.375-47.153Q46.693-47.153 46.991-47.032Q47.288-46.911 47.510-46.695Q47.732-46.480 47.859-46.195Q47.985-45.909 47.985-45.578Q47.985-45.133 47.746-44.769Q47.507-44.405 47.114-44.202Q46.721-43.999 46.276-43.999Q46.082-43.999 45.892-44.055Q45.702-44.111 45.541-44.216Q45.381-44.320 45.241-44.481L45.012-44.067M45.326-46.412L45.326-44.795Q45.463-44.535 45.704-44.378Q45.945-44.221 46.222-44.221Q46.516-44.221 46.728-44.328Q46.939-44.436 47.073-44.628Q47.206-44.819 47.264-45.058Q47.322-45.297 47.322-45.578Q47.322-45.937 47.228-46.241Q47.134-46.545 46.907-46.738Q46.680-46.931 46.314-46.931Q46.013-46.931 45.747-46.795Q45.480-46.658 45.326-46.412",[791],[775,3468,3469],{"transform":3426},[787,3470],{"d":3471,"fill":1832,"stroke":1832,"className":3472,"style":888},"M48.800-45.550Q48.800-45.892 48.935-46.191Q49.070-46.490 49.310-46.714Q49.549-46.938 49.867-47.063Q50.185-47.188 50.516-47.188Q50.961-47.188 51.360-46.972Q51.760-46.757 51.995-46.379Q52.229-46.002 52.229-45.550Q52.229-45.209 52.087-44.925Q51.945-44.641 51.701-44.434Q51.456-44.228 51.147-44.113Q50.838-43.999 50.516-43.999Q50.086-43.999 49.684-44.200Q49.282-44.402 49.041-44.754Q48.800-45.106 48.800-45.550M50.516-44.248Q51.118-44.248 51.342-44.626Q51.566-45.004 51.566-45.636Q51.566-46.248 51.331-46.607Q51.097-46.965 50.516-46.965Q49.464-46.965 49.464-45.636Q49.464-45.004 49.689-44.626Q49.915-44.248 50.516-44.248M53.350-44.908L53.350-46.805L52.711-46.805L52.711-47.027Q53.028-47.027 53.246-47.237Q53.463-47.447 53.563-47.757Q53.664-48.066 53.664-48.374L53.931-48.374L53.931-47.085L55.007-47.085L55.007-46.805L53.931-46.805L53.931-44.921Q53.931-44.645 54.035-44.446Q54.139-44.248 54.399-44.248Q54.556-44.248 54.662-44.352Q54.768-44.457 54.818-44.610Q54.867-44.764 54.867-44.921L54.867-45.335L55.134-45.335L55.134-44.908Q55.134-44.682 55.035-44.472Q54.936-44.262 54.751-44.130Q54.567-43.999 54.338-43.999Q53.900-43.999 53.625-44.236Q53.350-44.474 53.350-44.908M57.626-44.067L55.992-44.067L55.992-44.347Q56.221-44.347 56.370-44.381Q56.518-44.416 56.518-44.556L56.518-48.175Q56.518-48.445 56.411-48.507Q56.303-48.568 55.992-48.568L55.992-48.849L57.072-48.924L57.072-46.538Q57.178-46.723 57.356-46.865Q57.533-47.006 57.742-47.080Q57.950-47.153 58.176-47.153Q58.682-47.153 58.965-46.930Q59.249-46.706 59.249-46.210L59.249-44.556Q59.249-44.419 59.398-44.383Q59.547-44.347 59.772-44.347L59.772-44.067L58.142-44.067L58.142-44.347Q58.371-44.347 58.519-44.381Q58.668-44.416 58.668-44.556L58.668-46.196Q58.668-46.531 58.548-46.731Q58.429-46.931 58.114-46.931Q57.844-46.931 57.610-46.795Q57.376-46.658 57.238-46.424Q57.099-46.190 57.099-45.916L57.099-44.556Q57.099-44.419 57.250-44.383Q57.400-44.347 57.626-44.347",[791],[775,3474,3475],{"transform":3426},[787,3476],{"d":3477,"fill":1832,"stroke":1832,"className":3478,"style":888},"M63.590-44.908L63.590-46.805L62.951-46.805L62.951-47.027Q63.269-47.027 63.486-47.237Q63.703-47.447 63.803-47.757Q63.904-48.066 63.904-48.374L64.171-48.374L64.171-47.085L65.248-47.085L65.248-46.805L64.171-46.805L64.171-44.921Q64.171-44.645 64.275-44.446Q64.379-44.248 64.639-44.248Q64.796-44.248 64.902-44.352Q65.008-44.457 65.058-44.610Q65.107-44.764 65.107-44.921L65.107-45.335L65.374-45.335L65.374-44.908Q65.374-44.682 65.275-44.472Q65.176-44.262 64.991-44.130Q64.807-43.999 64.578-43.999Q64.140-43.999 63.865-44.236Q63.590-44.474 63.590-44.908M66.143-45.602Q66.143-45.923 66.268-46.212Q66.393-46.501 66.618-46.724Q66.844-46.948 67.139-47.068Q67.435-47.188 67.753-47.188Q68.081-47.188 68.343-47.088Q68.604-46.989 68.780-46.807Q68.956-46.624 69.050-46.366Q69.144-46.108 69.144-45.776Q69.144-45.684 69.062-45.663L66.806-45.663L66.806-45.602Q66.806-45.014 67.090-44.631Q67.374-44.248 67.941-44.248Q68.262-44.248 68.530-44.441Q68.799-44.634 68.888-44.949Q68.895-44.990 68.970-45.004L69.062-45.004Q69.144-44.980 69.144-44.908Q69.144-44.901 69.137-44.874Q69.024-44.477 68.654-44.238Q68.283-43.999 67.859-43.999Q67.421-43.999 67.021-44.207Q66.622-44.416 66.382-44.783Q66.143-45.150 66.143-45.602M66.813-45.872L68.628-45.872Q68.628-46.149 68.530-46.401Q68.433-46.654 68.235-46.810Q68.037-46.965 67.753-46.965Q67.476-46.965 67.262-46.807Q67.049-46.648 66.931-46.393Q66.813-46.138 66.813-45.872M71.414-44.067L69.780-44.067L69.780-44.347Q70.009-44.347 70.157-44.381Q70.306-44.416 70.306-44.556L70.306-46.405Q70.306-46.675 70.198-46.736Q70.091-46.798 69.780-46.798L69.780-47.078L70.839-47.153L70.839-46.504Q71.010-46.812 71.314-46.983Q71.619-47.153 71.964-47.153Q72.470-47.153 72.753-46.930Q73.037-46.706 73.037-46.210L73.037-44.556Q73.037-44.419 73.186-44.383Q73.334-44.347 73.560-44.347L73.560-44.067L71.930-44.067L71.930-44.347Q72.159-44.347 72.307-44.381Q72.456-44.416 72.456-44.556L72.456-46.196Q72.456-46.531 72.336-46.731Q72.217-46.931 71.902-46.931Q71.632-46.931 71.398-46.795Q71.164-46.658 71.026-46.424Q70.887-46.190 70.887-45.916L70.887-44.556Q70.887-44.419 71.038-44.383Q71.188-44.347 71.414-44.347L71.414-44.067M74.148-44.074L74.148-45.137Q74.148-45.161 74.175-45.188Q74.203-45.215 74.227-45.215L74.336-45.215Q74.401-45.215 74.415-45.157Q74.510-44.723 74.756-44.472Q75.002-44.221 75.416-44.221Q75.758-44.221 76.011-44.354Q76.264-44.487 76.264-44.795Q76.264-44.952 76.170-45.067Q76.076-45.181 75.937-45.250Q75.799-45.318 75.631-45.356L75.050-45.455Q74.695-45.523 74.421-45.744Q74.148-45.964 74.148-46.306Q74.148-46.555 74.259-46.730Q74.370-46.904 74.556-47.003Q74.743-47.102 74.958-47.145Q75.173-47.188 75.416-47.188Q75.830-47.188 76.110-47.006L76.325-47.181Q76.335-47.184 76.342-47.186Q76.349-47.188 76.359-47.188L76.411-47.188Q76.438-47.188 76.462-47.164Q76.486-47.140 76.486-47.112L76.486-46.265Q76.486-46.244 76.462-46.217Q76.438-46.190 76.411-46.190L76.298-46.190Q76.270-46.190 76.245-46.215Q76.219-46.241 76.219-46.265Q76.219-46.501 76.113-46.665Q76.007-46.829 75.824-46.911Q75.642-46.993 75.409-46.993Q75.081-46.993 74.825-46.890Q74.568-46.788 74.568-46.511Q74.568-46.316 74.751-46.207Q74.934-46.097 75.163-46.056L75.737-45.950Q75.983-45.902 76.197-45.774Q76.411-45.646 76.547-45.443Q76.684-45.239 76.684-44.990Q76.684-44.477 76.318-44.238Q75.953-43.999 75.416-43.999Q74.920-43.999 74.589-44.293L74.322-44.019Q74.302-43.999 74.274-43.999L74.227-43.999Q74.203-43.999 74.175-44.026Q74.148-44.053 74.148-44.074",[791],[775,3480,3481],{"transform":3426},[787,3482],{"d":3483,"fill":1832,"stroke":1832,"className":3484,"style":888},"M85.191-44.874L80.358-44.874Q80.290-44.884 80.244-44.930Q80.198-44.976 80.198-45.048Q80.198-45.113 80.244-45.159Q80.290-45.205 80.358-45.215L85.191-45.215Q85.260-45.205 85.306-45.159Q85.352-45.113 85.352-45.048Q85.352-44.976 85.306-44.930Q85.260-44.884 85.191-44.874M85.191-46.412L80.358-46.412Q80.290-46.422 80.244-46.468Q80.198-46.514 80.198-46.586Q80.198-46.730 80.358-46.754L85.191-46.754Q85.352-46.730 85.352-46.586Q85.352-46.514 85.306-46.468Q85.260-46.422 85.191-46.412",[791],[775,3486,3487],{"transform":3426},[787,3488],{"d":3489,"fill":1832,"stroke":1832,"className":3490,"style":888},"M88.920-44.614Q89.040-44.457 89.231-44.358Q89.423-44.258 89.638-44.219Q89.853-44.180 90.076-44.180Q90.373-44.180 90.568-44.335Q90.763-44.491 90.853-44.745Q90.944-45 90.944-45.284Q90.944-45.578 90.852-45.829Q90.759-46.080 90.561-46.236Q90.363-46.391 90.069-46.391L89.553-46.391Q89.525-46.391 89.500-46.417Q89.474-46.442 89.474-46.466L89.474-46.538Q89.474-46.569 89.500-46.591Q89.525-46.613 89.553-46.613L89.994-46.644Q90.356-46.644 90.576-47.001Q90.797-47.359 90.797-47.748Q90.797-48.076 90.602-48.280Q90.407-48.483 90.076-48.483Q89.789-48.483 89.536-48.399Q89.283-48.316 89.119-48.128Q89.266-48.128 89.366-48.013Q89.467-47.899 89.467-47.748Q89.467-47.598 89.361-47.488Q89.255-47.379 89.098-47.379Q88.937-47.379 88.828-47.488Q88.719-47.598 88.719-47.748Q88.719-48.073 88.927-48.292Q89.136-48.510 89.452-48.613Q89.768-48.715 90.076-48.715Q90.394-48.715 90.722-48.611Q91.050-48.507 91.277-48.285Q91.504-48.063 91.504-47.748Q91.504-47.314 91.217-46.989Q90.930-46.665 90.496-46.518Q90.807-46.453 91.087-46.287Q91.368-46.121 91.545-45.863Q91.723-45.605 91.723-45.284Q91.723-44.874 91.479-44.564Q91.234-44.255 90.853-44.091Q90.472-43.927 90.076-43.927Q89.707-43.927 89.349-44.040Q88.992-44.152 88.748-44.402Q88.503-44.651 88.503-45.021Q88.503-45.192 88.620-45.304Q88.736-45.417 88.907-45.417Q89.016-45.417 89.107-45.366Q89.197-45.315 89.252-45.222Q89.307-45.130 89.307-45.021Q89.307-44.853 89.194-44.734Q89.081-44.614 88.920-44.614M92.742-42.310L92.673-42.310Q92.639-42.310 92.617-42.336Q92.595-42.361 92.595-42.396Q92.595-42.440 92.625-42.457Q92.981-42.761 93.230-43.151Q93.480-43.541 93.632-43.973Q93.784-44.405 93.854-44.874Q93.924-45.342 93.924-45.817Q93.924-46.296 93.854-46.762Q93.784-47.229 93.630-47.664Q93.477-48.100 93.225-48.488Q92.974-48.876 92.625-49.170Q92.595-49.187 92.595-49.232Q92.595-49.266 92.617-49.291Q92.639-49.317 92.673-49.317L92.742-49.317Q92.752-49.317 92.760-49.315Q92.769-49.314 92.779-49.310Q93.323-48.910 93.695-48.357Q94.068-47.803 94.249-47.157Q94.430-46.511 94.430-45.817Q94.430-45.116 94.249-44.469Q94.068-43.821 93.694-43.267Q93.319-42.713 92.779-42.317Q92.769-42.317 92.760-42.315Q92.752-42.314 92.742-42.310",[791],[1203,3492,3494,3495,3516],{"className":3493},[1206],"Why stability is essential. Sorting on the tens digit, keys that tie there (both ",[395,3496,3498],{"className":3497},[398],[395,3499,3501],{"className":3500,"ariaHidden":403},[402],[395,3502,3504,3508,3511],{"className":3503},[407],[395,3505],{"className":3506,"style":3507},[411],"height:0.675em;",[395,3509,1267],{"className":3510},[416],[395,3512,3515],{"className":3513},[416,3514],"amsrm","□",") keep their incoming order, preserving the units sort; only keys that differ on the tens digit cross.",[2180,3518,3519],{"type":2182},[381,3520,3521,3524,3525,3528],{},[460,3522,3523],{},"Remark (MSD vs. LSD)."," Sorting by the ",[390,3526,3527],{},"most"," significant digit first feels more natural, since it is how we\nalphabetize, but it forces recursion into ever-finer buckets and bookkeeping\nto keep groups separate. LSD-first avoids all of that: each pass is a single\nflat stable sort over the whole array.",[381,3530,3531,3533,3534,3549,3550,3565,3566,3608],{},[460,3532,2196],{}," With counting sort on each of ",[395,3535,3537],{"className":3536},[398],[395,3538,3540],{"className":3539,"ariaHidden":403},[402],[395,3541,3543,3546],{"className":3542},[407],[395,3544],{"className":3545,"style":2358},[411],[395,3547,2613],{"className":3548},[416,426]," digits, each drawn from a range\nof size ",[395,3551,3553],{"className":3552},[398],[395,3554,3556],{"className":3555,"ariaHidden":403},[402],[395,3557,3559,3562],{"className":3558},[407],[395,3560],{"className":3561,"style":2358},[411],[395,3563,543],{"className":3564,"style":542},[416,426],", every pass costs ",[395,3567,3569],{"className":3568},[398],[395,3570,3572,3596],{"className":3571,"ariaHidden":403},[402],[395,3573,3575,3578,3581,3584,3587,3590,3593],{"className":3574},[407],[395,3576],{"className":3577,"style":412},[411],[395,3579,2213],{"className":3580},[416],[395,3582,422],{"className":3583},[421],[395,3585,427],{"className":3586},[416,426],[395,3588],{"className":3589,"style":2324},[431],[395,3591,2329],{"className":3592},[2328],[395,3594],{"className":3595,"style":2324},[431],[395,3597,3599,3602,3605],{"className":3598},[407],[395,3600],{"className":3601,"style":412},[411],[395,3603,543],{"className":3604,"style":542},[416,426],[395,3606,453],{"className":3607},[452],", for a total of",[395,3610,3613],{"className":3611},[3612],"katex-display",[395,3614,3616],{"className":3615},[398],[395,3617,3619,3658],{"className":3618,"ariaHidden":403},[402],[395,3620,3622,3626,3629,3637,3640,3643,3646,3649,3652,3655],{"className":3621},[407],[395,3623],{"className":3624,"style":3625},[411],"height:1.2em;vertical-align:-0.35em;",[395,3627,2213],{"className":3628},[416],[395,3630,3632],{"className":3631},[421],[395,3633,422],{"className":3634},[3635,3636],"delimsizing","size1",[395,3638,2613],{"className":3639},[416,426],[395,3641],{"className":3642,"style":432},[431],[395,3644,422],{"className":3645},[421],[395,3647,427],{"className":3648},[416,426],[395,3650],{"className":3651,"style":2324},[431],[395,3653,2329],{"className":3654},[2328],[395,3656],{"className":3657,"style":2324},[431],[395,3659,3661,3664,3667,3670,3676],{"className":3660},[407],[395,3662],{"className":3663,"style":3625},[411],[395,3665,543],{"className":3666,"style":542},[416,426],[395,3668,453],{"className":3669},[452],[395,3671,3673],{"className":3672},[452],[395,3674,453],{"className":3675},[3635,3636],[395,3677,463],{"className":3678},[416],[381,3680,3681,3682,3697,3698,3740,3741,3765,3766,3790,3791,3806,3807,3822,3823,3839,3840,3908,3909,3942,3943,463],{},"When ",[395,3683,3685],{"className":3684},[398],[395,3686,3688],{"className":3687,"ariaHidden":403},[402],[395,3689,3691,3694],{"className":3690},[407],[395,3692],{"className":3693,"style":2358},[411],[395,3695,2613],{"className":3696},[416,426]," is a constant and ",[395,3699,3701],{"className":3700},[398],[395,3702,3704,3722],{"className":3703,"ariaHidden":403},[402],[395,3705,3707,3710,3713,3716,3719],{"className":3706},[407],[395,3708],{"className":3709,"style":2358},[411],[395,3711,543],{"className":3712,"style":542},[416,426],[395,3714],{"className":3715,"style":593},[431],[395,3717,1230],{"className":3718},[588],[395,3720],{"className":3721,"style":593},[431],[395,3723,3725,3728,3731,3734,3737],{"className":3724},[407],[395,3726],{"className":3727,"style":412},[411],[395,3729,2381],{"className":3730,"style":2380},[416,426],[395,3732,422],{"className":3733},[421],[395,3735,427],{"className":3736},[416,426],[395,3738,453],{"className":3739},[452],", for example fixed-width integers split\ninto a constant number of digits in a base of size ",[395,3742,3744],{"className":3743},[398],[395,3745,3747],{"className":3746,"ariaHidden":403},[402],[395,3748,3750,3753,3756,3759,3762],{"className":3749},[407],[395,3751],{"className":3752,"style":412},[411],[395,3754,2213],{"className":3755},[416],[395,3757,422],{"className":3758},[421],[395,3760,427],{"className":3761},[416,426],[395,3763,453],{"className":3764},[452],", radix sort runs\nin ",[395,3767,3769],{"className":3768},[398],[395,3770,3772],{"className":3771,"ariaHidden":403},[402],[395,3773,3775,3778,3781,3784,3787],{"className":3774},[407],[395,3776],{"className":3777,"style":412},[411],[395,3779,2213],{"className":3780},[416],[395,3782,422],{"className":3783},[421],[395,3785,427],{"className":3786},[416,426],[395,3788,453],{"className":3789},[452],". Choosing the digit size is an engineering tradeoff: larger digits\nmean fewer passes (",[395,3792,3794],{"className":3793},[398],[395,3795,3797],{"className":3796,"ariaHidden":403},[402],[395,3798,3800,3803],{"className":3799},[407],[395,3801],{"className":3802,"style":2358},[411],[395,3804,2613],{"className":3805},[416,426]," shrinks) but a larger ",[395,3808,3810],{"className":3809},[398],[395,3811,3813],{"className":3812,"ariaHidden":403},[402],[395,3814,3816,3819],{"className":3815},[407],[395,3817],{"className":3818,"style":2358},[411],[395,3820,543],{"className":3821,"style":542},[416,426]," per pass. For ",[395,3824,3826],{"className":3825},[398],[395,3827,3829],{"className":3828,"ariaHidden":403},[402],[395,3830,3832,3835],{"className":3831},[407],[395,3833],{"className":3834,"style":2358},[411],[395,3836,3838],{"className":3837},[416,426],"b","-bit keys, the\nbest choice is typically digits of about ",[395,3841,3843],{"className":3842},[398],[395,3844,3846],{"className":3845,"ariaHidden":403},[402],[395,3847,3849,3853,3902,3905],{"className":3848},[407],[395,3850],{"className":3851,"style":3852},[411],"height:0.9386em;vertical-align:-0.2441em;",[395,3854,3856,3862],{"className":3855},[436],[395,3857,3859],{"className":3858},[436],[395,3860,442],{"className":3861,"style":441},[416,440],[395,3863,3865],{"className":3864},[2526],[395,3866,3869,3893],{"className":3867},[2530,3868],"vlist-t2",[395,3870,3872,3888],{"className":3871},[2534],[395,3873,3876],{"className":3874,"style":3875},[2538],"height:0.207em;",[395,3877,3879,3882],{"style":3878},"top:-2.4559em;margin-right:0.05em;",[395,3880],{"className":3881,"style":2546},[2545],[395,3883,3885],{"className":3884},[2550,2551,2552,2553],[395,3886,1247],{"className":3887},[416,2553],[395,3889,3892],{"className":3890},[3891],"vlist-s","​",[395,3894,3896],{"className":3895},[2534],[395,3897,3900],{"className":3898,"style":3899},[2538],"height:0.2441em;",[395,3901],{},[395,3903],{"className":3904,"style":432},[431],[395,3906,427],{"className":3907},[416,426]," bits, so ",[395,3910,3912],{"className":3911},[398],[395,3913,3915,3933],{"className":3914,"ariaHidden":403},[402],[395,3916,3918,3921,3924,3927,3930],{"className":3917},[407],[395,3919],{"className":3920,"style":2358},[411],[395,3922,543],{"className":3923,"style":542},[416,426],[395,3925],{"className":3926,"style":593},[431],[395,3928,2482],{"className":3929},[588],[395,3931],{"className":3932,"style":593},[431],[395,3934,3936,3939],{"className":3935},[407],[395,3937],{"className":3938,"style":565},[411],[395,3940,427],{"className":3941},[416,426]," and\n",[395,3944,3946],{"className":3945},[398],[395,3947,3949,3967],{"className":3948,"ariaHidden":403},[402],[395,3950,3952,3955,3958,3961,3964],{"className":3951},[407],[395,3953],{"className":3954,"style":2358},[411],[395,3956,2613],{"className":3957},[416,426],[395,3959],{"className":3960,"style":593},[431],[395,3962,2482],{"className":3963},[588],[395,3965],{"className":3966,"style":593},[431],[395,3968,3970,3973,3976,3980,3983,4026,4029],{"className":3969},[407],[395,3971],{"className":3972,"style":412},[411],[395,3974,3838],{"className":3975},[416,426],[395,3977,3979],{"className":3978},[416],"\u002F",[395,3981],{"className":3982,"style":432},[431],[395,3984,3986,3992],{"className":3985},[436],[395,3987,3989],{"className":3988},[436],[395,3990,442],{"className":3991,"style":441},[416,440],[395,3993,3995],{"className":3994},[2526],[395,3996,3998,4018],{"className":3997},[2530,3868],[395,3999,4001,4015],{"className":4000},[2534],[395,4002,4004],{"className":4003,"style":3875},[2538],[395,4005,4006,4009],{"style":3878},[395,4007],{"className":4008,"style":2546},[2545],[395,4010,4012],{"className":4011},[2550,2551,2552,2553],[395,4013,1247],{"className":4014},[416,2553],[395,4016,3892],{"className":4017},[3891],[395,4019,4021],{"className":4020},[2534],[395,4022,4024],{"className":4023,"style":3899},[2538],[395,4025],{},[395,4027],{"className":4028,"style":432},[431],[395,4030,427],{"className":4031},[416,426],[476,4033,4035],{"id":4034},"bucket-sort","Bucket sort",[381,4037,4038,4039,4042,4043,4045,4046,4049,4050,4080,4081,4096,4097,4112,4113,4116],{},"Counting and radix sort exploit ",[390,4040,4041],{},"integer"," keys. ",[460,4044,4035],{}," instead exploits\na ",[390,4047,4048],{},"distributional"," assumption: that the keys are drawn (roughly) uniformly at\nrandom from an interval, say ",[395,4051,4053],{"className":4052},[398],[395,4054,4056],{"className":4055,"ariaHidden":403},[402],[395,4057,4059,4062,4065,4068,4071,4074,4077],{"className":4058},[407],[395,4060],{"className":4061,"style":412},[411],[395,4063,1370],{"className":4064},[421],[395,4066,508],{"className":4067},[416],[395,4069,513],{"className":4070},[512],[395,4072],{"className":4073,"style":432},[431],[395,4075,473],{"className":4076},[416],[395,4078,453],{"className":4079},[452],". It scatters the ",[395,4082,4084],{"className":4083},[398],[395,4085,4087],{"className":4086,"ariaHidden":403},[402],[395,4088,4090,4093],{"className":4089},[407],[395,4091],{"className":4092,"style":565},[411],[395,4094,427],{"className":4095},[416,426]," keys into ",[395,4098,4100],{"className":4099},[398],[395,4101,4103],{"className":4102,"ariaHidden":403},[402],[395,4104,4106,4109],{"className":4105},[407],[395,4107],{"className":4108,"style":565},[411],[395,4110,427],{"className":4111},[416,426]," equal\nsub-intervals, the ",[460,4114,4115],{},"buckets",", sorts each bucket with a simple sort like\ninsertion sort, then concatenates the buckets in order.",[762,4118,4120,4401],{"className":4119},[765,766],[768,4121,4125],{"xmlns":770,"width":4122,"height":4123,"viewBox":4124},"380.490","137.519","-75 -75 285.367 103.139",[775,4126,4127,4130,4133,4152,4169,4186,4207,4210,4217,4224,4231,4238,4245,4252,4259,4266,4273,4280,4283,4290,4293,4300,4303,4310,4313,4320,4323,4330,4333,4340,4343,4350,4353,4360,4363,4370,4373,4380],{"stroke":777,"style":778},[787,4128],{"fill":781,"d":4129},"M-28.461-54.998V-72.07H-5.7v17.072ZM-5.699-54.998V-72.07h22.762v17.072ZM17.063-72.07",[787,4131],{"fill":781,"d":4132},"M17.063-54.998V-72.07h22.763v17.072ZM39.826-54.998V-72.07h22.762v17.072ZM62.588-54.998V-72.07H85.35v17.072ZM85.35-54.998V-72.07h22.762v17.072ZM108.112-54.998V-72.07h22.763v17.072ZM130.875-54.998V-72.07h22.762v17.072ZM153.637-54.998V-72.07h22.762v17.072ZM176.4-54.998V-72.07h22.762v17.072Zm22.762-17.072",[775,4134,4135,4143,4146],{"fill":878,"stroke":781},[775,4136,4138],{"transform":4137},"translate(-4.603 9.217)",[787,4139],{"d":4140,"fill":878,"stroke":878,"className":4141,"style":4142},"M-23.861-56.826Q-24.579-56.826-24.876-57.300Q-25.174-57.773-25.174-58.530Q-25.174-59.294-24.878-59.780Q-24.581-60.266-23.861-60.266Q-23.138-60.266-22.841-59.780Q-22.545-59.294-22.545-58.530Q-22.545-58.176-22.607-57.876Q-22.669-57.576-22.820-57.336Q-22.970-57.097-23.227-56.962Q-23.485-56.826-23.861-56.826M-23.861-57.012Q-23.497-57.012-23.321-57.262Q-23.145-57.512-23.105-57.838Q-23.065-58.164-23.065-58.611Q-23.065-59.043-23.105-59.340Q-23.145-59.636-23.320-59.858Q-23.495-60.081-23.861-60.081Q-24.225-60.081-24.399-59.858Q-24.574-59.636-24.614-59.340Q-24.654-59.043-24.654-58.611Q-24.654-58.164-24.614-57.838Q-24.574-57.512-24.398-57.262Q-24.222-57.012-23.861-57.012",[791],"stroke-width:0.150",[787,4144],{"d":4145},"M-31.864-47.153h6.806v.243h-6.806z",[775,4147,4148],{"transform":4137},[787,4149],{"d":4150,"fill":878,"stroke":878,"className":4151,"style":4142},"M-24.480-52.339L-26.521-52.339L-26.521-52.578Q-25.740-52.578-25.740-52.698L-25.740-55.244Q-25.918-55.169-26.122-55.139Q-26.326-55.110-26.555-55.110L-26.555-55.349Q-26.219-55.349-25.935-55.418Q-25.652-55.486-25.442-55.669L-25.337-55.669Q-25.310-55.669-25.286-55.645Q-25.261-55.620-25.261-55.593L-25.261-52.698Q-25.261-52.578-24.480-52.578L-24.480-52.339M-22.161-52.229Q-22.879-52.229-23.177-52.703Q-23.474-53.176-23.474-53.933Q-23.474-54.697-23.178-55.183Q-22.881-55.669-22.161-55.669Q-21.438-55.669-21.142-55.183Q-20.845-54.697-20.845-53.933Q-20.845-53.579-20.907-53.279Q-20.969-52.979-21.120-52.739Q-21.270-52.500-21.527-52.365Q-21.785-52.229-22.161-52.229M-22.161-52.415Q-21.797-52.415-21.621-52.665Q-21.446-52.915-21.405-53.241Q-21.365-53.567-21.365-54.014Q-21.365-54.446-21.405-54.743Q-21.446-55.039-21.620-55.261Q-21.795-55.484-22.161-55.484Q-22.525-55.484-22.699-55.261Q-22.874-55.039-22.914-54.743Q-22.954-54.446-22.954-54.014Q-22.954-53.567-22.914-53.241Q-22.874-52.915-22.698-52.665Q-22.522-52.415-22.161-52.415",[791],[775,4153,4154,4161,4164],{"fill":878,"stroke":781},[775,4155,4157],{"transform":4156},"translate(109.209 9.217)",[787,4158],{"d":4159,"fill":878,"stroke":878,"className":4160,"style":4142},"M-24.796-57.446Q-24.691-57.256-24.456-57.153Q-24.222-57.051-23.980-57.051Q-23.568-57.051-23.366-57.288Q-23.165-57.524-23.165-57.942Q-23.165-58.176-23.216-58.380Q-23.268-58.584-23.407-58.717Q-23.546-58.850-23.790-58.850Q-24.347-58.850-24.615-58.486Q-24.644-58.457-24.676-58.457L-24.735-58.457Q-24.762-58.457-24.786-58.481Q-24.810-58.506-24.810-58.530L-24.810-60.205Q-24.793-60.266-24.740-60.266Q-24.735-60.266-24.715-60.261Q-24.268-60.105-23.834-60.105Q-23.397-60.105-22.950-60.261Q-22.931-60.266-22.926-60.266Q-22.872-60.266-22.855-60.205L-22.855-60.146Q-22.857-60.124-22.870-60.105Q-23.104-59.866-23.405-59.739Q-23.707-59.612-24.039-59.612Q-24.330-59.612-24.569-59.665L-24.569-58.791Q-24.278-59.036-23.790-59.036Q-23.565-59.036-23.348-58.953Q-23.131-58.870-22.970-58.726Q-22.809-58.582-22.712-58.380Q-22.616-58.179-22.616-57.942Q-22.616-57.690-22.735-57.478Q-22.855-57.266-23.055-57.122Q-23.255-56.978-23.498-56.902Q-23.741-56.826-23.980-56.826Q-24.259-56.826-24.518-56.934Q-24.776-57.041-24.941-57.250Q-25.106-57.458-25.106-57.737Q-25.106-57.859-25.020-57.942Q-24.935-58.025-24.815-58.025Q-24.693-58.025-24.609-57.943Q-24.525-57.861-24.525-57.737Q-24.525-57.622-24.603-57.534Q-24.681-57.446-24.796-57.446",[791],[787,4162],{"d":4163},"M81.948-47.153h6.806v.243h-6.806z",[775,4165,4166],{"transform":4156},[787,4167],{"d":4150,"fill":878,"stroke":878,"className":4168,"style":4142},[791],[775,4170,4171,4178,4181],{"fill":878,"stroke":781},[775,4172,4174],{"transform":4173},"translate(223.02 9.217)",[787,4175],{"d":4176,"fill":878,"stroke":878,"className":4177,"style":4142},"M-24.480-56.936L-26.521-56.936L-26.521-57.175Q-25.740-57.175-25.740-57.295L-25.740-59.841Q-25.918-59.766-26.122-59.736Q-26.326-59.707-26.555-59.707L-26.555-59.946Q-26.219-59.946-25.935-60.015Q-25.652-60.083-25.442-60.266L-25.337-60.266Q-25.310-60.266-25.286-60.242Q-25.261-60.217-25.261-60.190L-25.261-57.295Q-25.261-57.175-24.480-57.175L-24.480-56.936M-22.161-56.826Q-22.879-56.826-23.177-57.300Q-23.474-57.773-23.474-58.530Q-23.474-59.294-23.178-59.780Q-22.881-60.266-22.161-60.266Q-21.438-60.266-21.142-59.780Q-20.845-59.294-20.845-58.530Q-20.845-58.176-20.907-57.876Q-20.969-57.576-21.120-57.336Q-21.270-57.097-21.527-56.962Q-21.785-56.826-22.161-56.826M-22.161-57.012Q-21.797-57.012-21.621-57.262Q-21.446-57.512-21.405-57.838Q-21.365-58.164-21.365-58.611Q-21.365-59.043-21.405-59.340Q-21.446-59.636-21.620-59.858Q-21.795-60.081-22.161-60.081Q-22.525-60.081-22.699-59.858Q-22.874-59.636-22.914-59.340Q-22.954-59.043-22.954-58.611Q-22.954-58.164-22.914-57.838Q-22.874-57.512-22.698-57.262Q-22.522-57.012-22.161-57.012",[791],[787,4179],{"d":4180},"M195.759-47.153h6.806v.243h-6.806z",[775,4182,4183],{"transform":4173},[787,4184],{"d":4150,"fill":878,"stroke":878,"className":4185,"style":4142},[791],[775,4187,4188,4195,4201],{"stroke":781,"fontSize":880},[775,4189,4191],{"transform":4190},"translate(-24.903 -6.786)",[787,4192],{"d":4193,"fill":777,"stroke":777,"className":4194,"style":888},"M-26.431-53.248L-27.507-53.248L-27.507-60.248L-26.431-60.248L-26.431-59.906L-27.166-59.906L-27.166-53.590L-26.431-53.590L-26.431-53.248M-24.209-54.858Q-24.845-54.858-25.209-55.203Q-25.573-55.548-25.708-56.073Q-25.843-56.598-25.843-57.223Q-25.843-58.248-25.487-58.947Q-25.132-59.646-24.209-59.646Q-23.283-59.646-22.931-58.947Q-22.579-58.248-22.579-57.223Q-22.579-56.598-22.714-56.073Q-22.849-55.548-23.211-55.203Q-23.573-54.858-24.209-54.858M-24.209-55.083Q-23.772-55.083-23.558-55.458Q-23.344-55.832-23.295-56.299Q-23.245-56.765-23.245-57.343Q-23.245-57.896-23.295-58.324Q-23.344-58.751-23.556-59.086Q-23.768-59.421-24.209-59.421Q-24.551-59.421-24.754-59.214Q-24.958-59.007-25.045-58.695Q-25.132-58.382-25.154-58.066Q-25.176-57.749-25.176-57.343Q-25.176-56.926-25.154-56.584Q-25.132-56.242-25.043-55.894Q-24.954-55.545-24.749-55.314Q-24.544-55.083-24.209-55.083",[791],[775,4196,4197],{"transform":4190},[787,4198],{"d":4199,"fill":777,"stroke":777,"className":4200,"style":888},"M-21.343-53.768Q-21.343-53.802-21.315-53.829Q-21.049-54.051-20.898-54.378Q-20.748-54.704-20.748-55.060L-20.748-55.097Q-20.851-54.998-21.022-54.998Q-21.199-54.998-21.321-55.119Q-21.442-55.241-21.442-55.418Q-21.442-55.589-21.321-55.711Q-21.199-55.832-21.022-55.832Q-20.762-55.832-20.642-55.593Q-20.523-55.353-20.523-55.060Q-20.523-54.656-20.693-54.287Q-20.864-53.918-21.162-53.662Q-21.192-53.641-21.216-53.641Q-21.261-53.641-21.302-53.682Q-21.343-53.723-21.343-53.768",[791],[775,4202,4203],{"transform":4190},[787,4204],{"d":4205,"fill":777,"stroke":777,"className":4206,"style":888},"M-15.144-54.998L-17.674-54.998L-17.674-55.278Q-16.706-55.278-16.706-55.487L-16.706-59.106Q-17.099-58.918-17.721-58.918L-17.721-59.199Q-17.304-59.199-16.940-59.300Q-16.576-59.400-16.320-59.646L-16.194-59.646Q-16.129-59.629-16.112-59.561L-16.112-55.487Q-16.112-55.278-15.144-55.278L-15.144-54.998M-13.852-53.241L-13.921-53.241Q-13.955-53.241-13.977-53.267Q-13.999-53.292-13.999-53.327Q-13.999-53.371-13.969-53.388Q-13.613-53.692-13.364-54.082Q-13.114-54.472-12.962-54.904Q-12.810-55.336-12.740-55.805Q-12.670-56.273-12.670-56.748Q-12.670-57.227-12.740-57.693Q-12.810-58.160-12.964-58.595Q-13.117-59.031-13.369-59.419Q-13.620-59.807-13.969-60.101Q-13.999-60.118-13.999-60.163Q-13.999-60.197-13.977-60.222Q-13.955-60.248-13.921-60.248L-13.852-60.248Q-13.842-60.248-13.834-60.246Q-13.825-60.245-13.815-60.241Q-13.271-59.841-12.899-59.288Q-12.526-58.734-12.345-58.088Q-12.164-57.442-12.164-56.748Q-12.164-56.047-12.345-55.400Q-12.526-54.752-12.900-54.198Q-13.275-53.644-13.815-53.248Q-13.825-53.248-13.834-53.246Q-13.842-53.245-13.852-53.241",[791],[787,4208],{"fill":1114,"stroke":781,"d":4209},"M-.04799999999999982-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M11.334-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M20.44-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M24.990000000000002-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M31.82-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M61.411-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M127.41999999999999-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M136.527-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M150.184-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0M186.60399999999998-63.534a1.1 1.1 0 1 0-2.2 0 1.1 1.1 0 0 0 2.2 0m-1.1 0",[775,4211,4213],{"transform":4212},"translate(9.388 23.693)",[787,4214],{"d":4215,"fill":777,"stroke":777,"className":4216,"style":888},"M-26.472-54.858Q-27.107-54.858-27.471-55.203Q-27.836-55.548-27.971-56.073Q-28.106-56.598-28.106-57.223Q-28.106-58.248-27.750-58.947Q-27.395-59.646-26.472-59.646Q-25.545-59.646-25.193-58.947Q-24.841-58.248-24.841-57.223Q-24.841-56.598-24.976-56.073Q-25.111-55.548-25.474-55.203Q-25.836-54.858-26.472-54.858M-26.472-55.083Q-26.034-55.083-25.821-55.458Q-25.607-55.832-25.557-56.299Q-25.508-56.765-25.508-57.343Q-25.508-57.896-25.557-58.324Q-25.607-58.751-25.819-59.086Q-26.031-59.421-26.472-59.421Q-26.814-59.421-27.017-59.214Q-27.220-59.007-27.307-58.695Q-27.395-58.382-27.417-58.066Q-27.439-57.749-27.439-57.343Q-27.439-56.926-27.417-56.584Q-27.395-56.242-27.306-55.894Q-27.217-55.545-27.012-55.314Q-26.807-55.083-26.472-55.083",[791],[775,4218,4220],{"transform":4219},"translate(32.15 23.693)",[787,4221],{"d":4222,"fill":777,"stroke":777,"className":4223,"style":888},"M-25.135-54.998L-27.665-54.998L-27.665-55.278Q-26.697-55.278-26.697-55.487L-26.697-59.106Q-27.090-58.918-27.712-58.918L-27.712-59.199Q-27.295-59.199-26.931-59.300Q-26.567-59.400-26.311-59.646L-26.185-59.646Q-26.120-59.629-26.103-59.561L-26.103-55.487Q-26.103-55.278-25.135-55.278",[791],[775,4225,4227],{"transform":4226},"translate(54.912 23.693)",[787,4228],{"d":4229,"fill":777,"stroke":777,"className":4230,"style":888},"M-25.135-54.998L-28.020-54.998L-28.020-55.200Q-28.020-55.230-27.993-55.258L-26.745-56.475Q-26.673-56.550-26.631-56.592Q-26.588-56.635-26.509-56.714Q-26.096-57.127-25.865-57.485Q-25.634-57.842-25.634-58.266Q-25.634-58.498-25.713-58.701Q-25.792-58.905-25.933-59.055Q-26.075-59.206-26.270-59.286Q-26.465-59.366-26.697-59.366Q-27.008-59.366-27.266-59.207Q-27.524-59.048-27.654-58.771L-27.634-58.771Q-27.466-58.771-27.359-58.660Q-27.251-58.549-27.251-58.385Q-27.251-58.228-27.360-58.115Q-27.470-58.002-27.634-58.002Q-27.794-58.002-27.907-58.115Q-28.020-58.228-28.020-58.385Q-28.020-58.761-27.812-59.048Q-27.603-59.335-27.268-59.491Q-26.933-59.646-26.578-59.646Q-26.154-59.646-25.774-59.488Q-25.395-59.329-25.161-59.012Q-24.927-58.696-24.927-58.266Q-24.927-57.955-25.067-57.686Q-25.207-57.418-25.412-57.213Q-25.617-57.008-25.980-56.726Q-26.342-56.444-26.451-56.348L-27.306-55.620L-26.663-55.620Q-26.400-55.620-26.111-55.622Q-25.822-55.623-25.604-55.632Q-25.385-55.641-25.368-55.658Q-25.306-55.723-25.269-55.890Q-25.231-56.058-25.193-56.300L-24.927-56.300",[791],[775,4232,4234],{"transform":4233},"translate(77.675 23.693)",[787,4235],{"d":4236,"fill":777,"stroke":777,"className":4237,"style":888},"M-27.665-55.545Q-27.545-55.388-27.354-55.289Q-27.162-55.189-26.947-55.150Q-26.732-55.111-26.509-55.111Q-26.212-55.111-26.017-55.266Q-25.822-55.422-25.732-55.676Q-25.641-55.931-25.641-56.215Q-25.641-56.509-25.733-56.760Q-25.826-57.011-26.024-57.167Q-26.222-57.322-26.516-57.322L-27.032-57.322Q-27.060-57.322-27.085-57.348Q-27.111-57.373-27.111-57.397L-27.111-57.469Q-27.111-57.500-27.085-57.522Q-27.060-57.544-27.032-57.544L-26.591-57.575Q-26.229-57.575-26.009-57.932Q-25.788-58.290-25.788-58.679Q-25.788-59.007-25.983-59.211Q-26.178-59.414-26.509-59.414Q-26.796-59.414-27.049-59.330Q-27.302-59.247-27.466-59.059Q-27.319-59.059-27.219-58.944Q-27.118-58.830-27.118-58.679Q-27.118-58.529-27.224-58.419Q-27.330-58.310-27.487-58.310Q-27.648-58.310-27.757-58.419Q-27.866-58.529-27.866-58.679Q-27.866-59.004-27.658-59.223Q-27.449-59.441-27.133-59.544Q-26.817-59.646-26.509-59.646Q-26.191-59.646-25.863-59.542Q-25.535-59.438-25.308-59.216Q-25.081-58.994-25.081-58.679Q-25.081-58.245-25.368-57.920Q-25.655-57.596-26.089-57.449Q-25.778-57.384-25.498-57.218Q-25.217-57.052-25.040-56.794Q-24.862-56.536-24.862-56.215Q-24.862-55.805-25.106-55.495Q-25.351-55.186-25.732-55.022Q-26.113-54.858-26.509-54.858Q-26.878-54.858-27.236-54.971Q-27.593-55.083-27.837-55.333Q-28.082-55.582-28.082-55.952Q-28.082-56.123-27.965-56.235Q-27.849-56.348-27.678-56.348Q-27.569-56.348-27.478-56.297Q-27.388-56.246-27.333-56.153Q-27.278-56.061-27.278-55.952Q-27.278-55.784-27.391-55.665Q-27.504-55.545-27.665-55.545",[791],[775,4239,4241],{"transform":4240},"translate(100.437 23.693)",[787,4242],{"d":4243,"fill":777,"stroke":777,"className":4244,"style":888},"M-26.144-56.146L-28.188-56.146L-28.188-56.427L-25.857-59.599Q-25.822-59.646-25.757-59.646L-25.621-59.646Q-25.576-59.646-25.549-59.619Q-25.522-59.592-25.522-59.547L-25.522-56.427L-24.759-56.427L-24.759-56.146L-25.522-56.146L-25.522-55.487Q-25.522-55.278-24.766-55.278L-24.766-54.998L-26.899-54.998L-26.899-55.278Q-26.144-55.278-26.144-55.487L-26.144-56.146M-26.096-58.871L-27.887-56.427L-26.096-56.427",[791],[775,4246,4248],{"transform":4247},"translate(123.2 23.693)",[787,4249],{"d":4250,"fill":777,"stroke":777,"className":4251,"style":888},"M-27.654-55.760L-27.685-55.760Q-27.548-55.463-27.251-55.287Q-26.954-55.111-26.626-55.111Q-26.263-55.111-26.036-55.289Q-25.809-55.466-25.715-55.755Q-25.621-56.044-25.621-56.406Q-25.621-56.721-25.675-57.006Q-25.730-57.291-25.903-57.497Q-26.075-57.702-26.390-57.702Q-26.663-57.702-26.846-57.635Q-27.029-57.568-27.133-57.479Q-27.237-57.391-27.333-57.281Q-27.429-57.172-27.473-57.162L-27.552-57.162Q-27.624-57.179-27.641-57.250L-27.641-59.568Q-27.641-59.602-27.617-59.624Q-27.593-59.646-27.559-59.646L-27.531-59.646Q-27.244-59.530-26.976-59.476Q-26.708-59.421-26.431-59.421Q-26.154-59.421-25.884-59.476Q-25.614-59.530-25.334-59.646L-25.310-59.646Q-25.275-59.646-25.252-59.623Q-25.228-59.599-25.228-59.568L-25.228-59.499Q-25.228-59.472-25.248-59.452Q-25.522-59.137-25.906-58.961Q-26.291-58.785-26.704-58.785Q-27.043-58.785-27.360-58.871L-27.360-57.589Q-26.964-57.924-26.390-57.924Q-25.986-57.924-25.650-57.714Q-25.313-57.503-25.120-57.151Q-24.927-56.799-24.927-56.399Q-24.927-56.068-25.067-55.782Q-25.207-55.497-25.451-55.287Q-25.696-55.077-25.998-54.967Q-26.301-54.858-26.619-54.858Q-26.978-54.858-27.304-55.022Q-27.630-55.186-27.825-55.478Q-28.020-55.770-28.020-56.133Q-28.020-56.283-27.914-56.389Q-27.808-56.495-27.654-56.495Q-27.501-56.495-27.396-56.391Q-27.292-56.287-27.292-56.133Q-27.292-55.976-27.396-55.868Q-27.501-55.760-27.654-55.760",[791],[775,4253,4255],{"transform":4254},"translate(145.962 23.693)",[787,4256],{"d":4257,"fill":777,"stroke":777,"className":4258,"style":888},"M-26.472-54.858Q-26.930-54.858-27.248-55.073Q-27.565-55.289-27.747-55.641Q-27.928-55.993-28.005-56.413Q-28.082-56.833-28.082-57.261Q-28.082-57.845-27.829-58.401Q-27.576-58.956-27.106-59.301Q-26.636-59.646-26.038-59.646Q-25.628-59.646-25.344-59.448Q-25.060-59.250-25.060-58.847Q-25.060-58.751-25.106-58.672Q-25.152-58.594-25.233-58.549Q-25.313-58.505-25.402-58.505Q-25.549-58.505-25.650-58.602Q-25.751-58.700-25.751-58.847Q-25.751-58.977-25.660-59.084Q-25.569-59.192-25.436-59.192Q-25.624-59.414-26.038-59.414Q-26.352-59.414-26.626-59.250Q-26.899-59.086-27.066-58.812Q-27.254-58.522-27.319-58.156Q-27.384-57.790-27.384-57.336Q-27.234-57.630-26.969-57.808Q-26.704-57.985-26.390-57.985Q-25.959-57.985-25.610-57.779Q-25.262-57.572-25.062-57.216Q-24.862-56.861-24.862-56.434Q-24.862-55.989-25.079-55.629Q-25.296-55.268-25.669-55.063Q-26.041-54.858-26.472-54.858M-26.472-55.111Q-26.096-55.111-25.892-55.294Q-25.689-55.477-25.626-55.760Q-25.563-56.044-25.563-56.434Q-25.563-56.820-25.617-57.100Q-25.672-57.380-25.867-57.572Q-26.062-57.763-26.431-57.763Q-26.721-57.763-26.933-57.587Q-27.145-57.411-27.253-57.138Q-27.360-56.864-27.360-56.581L-27.360-56.440L-27.360-56.399Q-27.360-55.894-27.148-55.502Q-26.937-55.111-26.472-55.111",[791],[775,4260,4262],{"transform":4261},"translate(168.724 23.693)",[787,4263],{"d":4264,"fill":777,"stroke":777,"className":4265,"style":888},"M-27.025-55.206Q-27.025-55.712-26.896-56.220Q-26.766-56.727-26.528-57.189Q-26.291-57.650-25.956-58.071L-25.310-58.884L-26.123-58.884Q-26.708-58.884-27.104-58.876Q-27.501-58.867-27.524-58.847Q-27.627-58.730-27.706-58.204L-27.972-58.204L-27.726-59.728L-27.460-59.728L-27.460-59.708Q-27.460-59.640-27.384-59.597Q-27.309-59.554-27.231-59.547Q-27.039-59.523-26.844-59.517Q-26.649-59.510-26.458-59.508Q-26.267-59.506-26.068-59.506L-24.647-59.506L-24.647-59.318Q-24.657-59.270-24.667-59.260L-25.723-57.937Q-25.942-57.664-26.065-57.351Q-26.188-57.039-26.246-56.690Q-26.304-56.341-26.318-56.010Q-26.332-55.678-26.332-55.206Q-26.332-55.056-26.431-54.957Q-26.530-54.858-26.677-54.858Q-26.827-54.858-26.926-54.957Q-27.025-55.056-27.025-55.206",[791],[775,4267,4269],{"transform":4268},"translate(191.486 23.693)",[787,4270],{"d":4271,"fill":777,"stroke":777,"className":4272,"style":888},"M-28.082-56.075Q-28.082-56.516-27.779-56.837Q-27.477-57.158-27.025-57.350L-27.265-57.490Q-27.535-57.650-27.701-57.908Q-27.866-58.166-27.866-58.464Q-27.866-58.816-27.661-59.088Q-27.456-59.359-27.135-59.503Q-26.814-59.646-26.472-59.646Q-26.150-59.646-25.827-59.530Q-25.504-59.414-25.293-59.173Q-25.081-58.932-25.081-58.597Q-25.081-58.235-25.325-57.972Q-25.569-57.708-25.949-57.531L-25.549-57.295Q-25.354-57.182-25.195-57.013Q-25.036-56.844-24.949-56.635Q-24.862-56.427-24.862-56.194Q-24.862-55.791-25.096-55.487Q-25.330-55.183-25.704-55.020Q-26.079-54.858-26.472-54.858Q-26.858-54.858-27.227-54.995Q-27.596-55.131-27.839-55.408Q-28.082-55.685-28.082-56.075M-27.634-56.075Q-27.634-55.788-27.465-55.565Q-27.295-55.343-27.027-55.227Q-26.759-55.111-26.472-55.111Q-26.034-55.111-25.672-55.328Q-25.310-55.545-25.310-55.952Q-25.310-56.153-25.438-56.331Q-25.566-56.509-25.744-56.608L-26.766-57.203Q-27.005-57.093-27.203-56.927Q-27.401-56.762-27.518-56.546Q-27.634-56.331-27.634-56.075M-27.111-58.204L-26.191-57.671Q-25.884-57.831-25.682-58.064Q-25.481-58.296-25.481-58.597Q-25.481-58.836-25.626-59.026Q-25.771-59.216-26.003-59.315Q-26.236-59.414-26.472-59.414Q-26.694-59.414-26.923-59.344Q-27.152-59.274-27.309-59.117Q-27.466-58.959-27.466-58.730Q-27.466-58.416-27.111-58.204",[791],[775,4274,4276],{"transform":4275},"translate(214.248 23.693)",[787,4277],{"d":4278,"fill":777,"stroke":777,"className":4279,"style":888},"M-27.487-55.312Q-27.367-55.196-27.190-55.154Q-27.012-55.111-26.796-55.111Q-26.557-55.111-26.347-55.220Q-26.137-55.330-25.983-55.512Q-25.829-55.695-25.730-55.928Q-25.563-56.355-25.563-57.175Q-25.713-56.881-25.976-56.702Q-26.239-56.522-26.557-56.522Q-26.991-56.522-27.338-56.731Q-27.685-56.939-27.883-57.300Q-28.082-57.661-28.082-58.084Q-28.082-58.419-27.952-58.708Q-27.822-58.997-27.591-59.211Q-27.360-59.424-27.061-59.535Q-26.762-59.646-26.431-59.646Q-25.573-59.646-25.217-58.932Q-24.862-58.218-24.862-57.261Q-24.862-56.844-24.990-56.416Q-25.118-55.989-25.375-55.634Q-25.631-55.278-25.993-55.068Q-26.356-54.858-26.796-54.858Q-27.251-54.858-27.569-55.046Q-27.887-55.234-27.887-55.658Q-27.887-55.808-27.788-55.907Q-27.689-56.006-27.538-56.006Q-27.470-56.006-27.403-55.979Q-27.336-55.952-27.292-55.907Q-27.248-55.863-27.220-55.796Q-27.193-55.729-27.193-55.658Q-27.193-55.528-27.273-55.430Q-27.354-55.333-27.487-55.312M-26.516-56.748Q-26.222-56.748-26.007-56.926Q-25.792-57.103-25.684-57.379Q-25.576-57.654-25.576-57.944Q-25.576-57.989-25.578-58.016Q-25.580-58.043-25.583-58.078Q-25.580-58.088-25.578-58.095Q-25.576-58.102-25.576-58.112Q-25.576-58.614-25.774-59.014Q-25.973-59.414-26.431-59.414Q-26.998-59.414-27.191-59.055Q-27.384-58.696-27.384-58.084Q-27.384-57.698-27.330-57.415Q-27.275-57.131-27.080-56.939Q-26.885-56.748-26.516-56.748",[791],[787,4281],{"fill":781,"d":4282},"M-5.13-9.474h21.624v-17.071H-5.13Z",[775,4284,4286],{"transform":4285},"translate(29.733 38.6)",[787,4287],{"d":4288,"fill":777,"stroke":777,"className":4289,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-23.671-54.998L-25.712-54.998L-25.712-55.237Q-24.931-55.237-24.931-55.357L-24.931-57.903Q-25.109-57.828-25.313-57.798Q-25.517-57.769-25.746-57.769L-25.746-58.008Q-25.409-58.008-25.126-58.077Q-24.843-58.145-24.633-58.328L-24.528-58.328Q-24.501-58.328-24.477-58.304Q-24.452-58.279-24.452-58.252L-24.452-55.357Q-24.452-55.237-23.671-55.237L-23.671-54.998M-20.270-54.998L-22.597-54.998L-22.597-55.179Q-22.594-55.191-22.575-55.218L-21.535-56.094Q-21.227-56.353-21.073-56.497Q-20.919-56.641-20.790-56.858Q-20.661-57.076-20.661-57.317Q-20.661-57.559-20.788-57.735Q-20.915-57.911-21.118-58Q-21.322-58.089-21.562-58.089Q-21.769-58.089-21.964-58.001Q-22.160-57.913-22.265-57.747Q-22.145-57.747-22.068-57.655Q-21.991-57.564-21.991-57.449Q-21.991-57.322-22.078-57.233Q-22.165-57.144-22.292-57.144Q-22.421-57.144-22.509-57.234Q-22.597-57.325-22.597-57.449Q-22.597-57.730-22.423-57.929Q-22.250-58.128-21.979-58.228Q-21.708-58.328-21.435-58.328Q-21.110-58.328-20.805-58.221Q-20.500-58.113-20.303-57.886Q-20.107-57.659-20.107-57.322Q-20.107-57.085-20.220-56.893Q-20.334-56.700-20.493-56.562Q-20.653-56.424-20.935-56.236Q-21.217-56.048-21.295-55.989L-21.962-55.498L-21.505-55.498Q-21.073-55.498-20.779-55.505Q-20.485-55.511-20.470-55.523Q-20.392-55.621-20.336-55.982L-20.107-55.982",[791],[787,4291],{"fill":781,"d":4292},"M-5.13 7.598h21.624V-9.474H-5.13Z",[775,4294,4296],{"transform":4295},"translate(29.733 55.671)",[787,4297],{"d":4298,"fill":777,"stroke":777,"className":4299,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-23.671-54.998L-25.712-54.998L-25.712-55.237Q-24.931-55.237-24.931-55.357L-24.931-57.903Q-25.109-57.828-25.313-57.798Q-25.517-57.769-25.746-57.769L-25.746-58.008Q-25.409-58.008-25.126-58.077Q-24.843-58.145-24.633-58.328L-24.528-58.328Q-24.501-58.328-24.477-58.304Q-24.452-58.279-24.452-58.252L-24.452-55.357Q-24.452-55.237-23.671-55.237L-23.671-54.998M-21.796-55.164Q-21.796-55.721-21.564-56.244Q-21.332-56.768-20.932-57.203L-20.461-57.718L-21.066-57.718Q-21.295-57.718-21.549-57.717Q-21.803-57.715-21.991-57.710Q-22.179-57.706-22.196-57.693Q-22.282-57.593-22.336-57.232L-22.565-57.232L-22.377-58.377L-22.145-58.377L-22.145-58.362Q-22.145-58.309-22.082-58.278Q-22.018-58.248-21.955-58.248Q-21.679-58.235-21.407-58.227Q-21.134-58.218-21.022-58.218L-19.877-58.218L-19.877-58.052Q-19.877-58.033-19.897-58.003L-20.736-57.088Q-20.956-56.846-21.068-56.532Q-21.181-56.219-21.214-55.888Q-21.247-55.557-21.247-55.159Q-21.247-55.044-21.327-54.966Q-21.408-54.888-21.520-54.888Q-21.635-54.888-21.715-54.969Q-21.796-55.049-21.796-55.164",[791],[787,4301],{"fill":781,"d":4302},"M17.632-9.474h21.624v-17.071H17.632Z",[775,4304,4306],{"transform":4305},"translate(52.496 38.6)",[787,4307],{"d":4308,"fill":777,"stroke":777,"className":4309,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-23.671-54.998L-25.998-54.998L-25.998-55.179Q-25.995-55.191-25.976-55.218L-24.936-56.094Q-24.628-56.353-24.474-56.497Q-24.320-56.641-24.191-56.858Q-24.062-57.076-24.062-57.317Q-24.062-57.559-24.189-57.735Q-24.315-57.911-24.519-58Q-24.723-58.089-24.962-58.089Q-25.170-58.089-25.365-58.001Q-25.561-57.913-25.666-57.747Q-25.546-57.747-25.469-57.655Q-25.392-57.564-25.392-57.449Q-25.392-57.322-25.479-57.233Q-25.565-57.144-25.692-57.144Q-25.822-57.144-25.910-57.234Q-25.998-57.325-25.998-57.449Q-25.998-57.730-25.824-57.929Q-25.651-58.128-25.380-58.228Q-25.109-58.328-24.836-58.328Q-24.511-58.328-24.206-58.221Q-23.900-58.113-23.704-57.886Q-23.507-57.659-23.507-57.322Q-23.507-57.085-23.621-56.893Q-23.734-56.700-23.894-56.562Q-24.054-56.424-24.336-56.236Q-24.618-56.048-24.696-55.989L-25.363-55.498L-24.906-55.498Q-24.474-55.498-24.180-55.505Q-23.886-55.511-23.871-55.523Q-23.793-55.621-23.737-55.982L-23.507-55.982L-23.671-54.998M-20.270-54.998L-22.311-54.998L-22.311-55.237Q-21.530-55.237-21.530-55.357L-21.530-57.903Q-21.708-57.828-21.912-57.798Q-22.116-57.769-22.345-57.769L-22.345-58.008Q-22.008-58.008-21.725-58.077Q-21.442-58.145-21.232-58.328L-21.127-58.328Q-21.100-58.328-21.076-58.304Q-21.051-58.279-21.051-58.252L-21.051-55.357Q-21.051-55.237-20.270-55.237",[791],[787,4311],{"fill":781,"d":4312},"M17.632 7.598h21.624V-9.474H17.632Z",[775,4314,4316],{"transform":4315},"translate(52.496 55.671)",[787,4317],{"d":4318,"fill":777,"stroke":777,"className":4319,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-23.671-54.998L-25.998-54.998L-25.998-55.179Q-25.995-55.191-25.976-55.218L-24.936-56.094Q-24.628-56.353-24.474-56.497Q-24.320-56.641-24.191-56.858Q-24.062-57.076-24.062-57.317Q-24.062-57.559-24.189-57.735Q-24.315-57.911-24.519-58Q-24.723-58.089-24.962-58.089Q-25.170-58.089-25.365-58.001Q-25.561-57.913-25.666-57.747Q-25.546-57.747-25.469-57.655Q-25.392-57.564-25.392-57.449Q-25.392-57.322-25.479-57.233Q-25.565-57.144-25.692-57.144Q-25.822-57.144-25.910-57.234Q-25.998-57.325-25.998-57.449Q-25.998-57.730-25.824-57.929Q-25.651-58.128-25.380-58.228Q-25.109-58.328-24.836-58.328Q-24.511-58.328-24.206-58.221Q-23.900-58.113-23.704-57.886Q-23.507-57.659-23.507-57.322Q-23.507-57.085-23.621-56.893Q-23.734-56.700-23.894-56.562Q-24.054-56.424-24.336-56.236Q-24.618-56.048-24.696-55.989L-25.363-55.498L-24.906-55.498Q-24.474-55.498-24.180-55.505Q-23.886-55.511-23.871-55.523Q-23.793-55.621-23.737-55.982L-23.507-55.982L-23.671-54.998M-22.265-55.337Q-22.011-55.113-21.376-55.113Q-21.154-55.113-20.989-55.212Q-20.824-55.310-20.740-55.486Q-20.656-55.662-20.656-55.877Q-20.656-56.099-20.742-56.271Q-20.829-56.443-20.995-56.543Q-21.161-56.644-21.381-56.644L-21.806-56.644Q-21.859-56.656-21.872-56.707L-21.872-56.768Q-21.859-56.812-21.806-56.829L-21.447-56.853Q-21.261-56.853-21.105-56.965Q-20.949-57.076-20.862-57.255Q-20.775-57.435-20.775-57.613Q-20.775-57.771-20.856-57.887Q-20.937-58.003-21.071-58.061Q-21.205-58.118-21.371-58.118Q-21.886-58.118-22.121-57.889Q-22.013-57.867-21.947-57.787Q-21.881-57.708-21.881-57.598Q-21.881-57.474-21.967-57.388Q-22.052-57.303-22.182-57.303Q-22.304-57.303-22.389-57.388Q-22.475-57.474-22.475-57.598Q-22.475-57.854-22.303-58.019Q-22.130-58.184-21.877-58.256Q-21.623-58.328-21.371-58.328Q-21.139-58.328-20.869-58.252Q-20.600-58.177-20.413-58.016Q-20.226-57.854-20.226-57.613Q-20.226-57.295-20.445-57.072Q-20.663-56.849-20.990-56.748Q-20.819-56.714-20.657-56.642Q-20.495-56.570-20.356-56.459Q-20.216-56.348-20.133-56.202Q-20.050-56.055-20.050-55.877Q-20.050-55.640-20.169-55.455Q-20.287-55.269-20.490-55.141Q-20.692-55.013-20.924-54.950Q-21.156-54.888-21.371-54.888Q-21.662-54.888-21.952-54.953Q-22.243-55.018-22.447-55.187Q-22.650-55.357-22.650-55.647Q-22.650-55.782-22.560-55.872Q-22.470-55.962-22.331-55.962Q-22.243-55.962-22.171-55.921Q-22.099-55.879-22.057-55.807Q-22.016-55.735-22.016-55.647Q-22.016-55.530-22.084-55.446Q-22.152-55.362-22.265-55.337",[791],[787,4321],{"fill":781,"d":4322},"M17.632 24.67h21.624V7.597H17.632Z",[775,4324,4326],{"transform":4325},"translate(52.496 72.743)",[787,4327],{"d":4328,"fill":777,"stroke":777,"className":4329,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-23.671-54.998L-25.998-54.998L-25.998-55.179Q-25.995-55.191-25.976-55.218L-24.936-56.094Q-24.628-56.353-24.474-56.497Q-24.320-56.641-24.191-56.858Q-24.062-57.076-24.062-57.317Q-24.062-57.559-24.189-57.735Q-24.315-57.911-24.519-58Q-24.723-58.089-24.962-58.089Q-25.170-58.089-25.365-58.001Q-25.561-57.913-25.666-57.747Q-25.546-57.747-25.469-57.655Q-25.392-57.564-25.392-57.449Q-25.392-57.322-25.479-57.233Q-25.565-57.144-25.692-57.144Q-25.822-57.144-25.910-57.234Q-25.998-57.325-25.998-57.449Q-25.998-57.730-25.824-57.929Q-25.651-58.128-25.380-58.228Q-25.109-58.328-24.836-58.328Q-24.511-58.328-24.206-58.221Q-23.900-58.113-23.704-57.886Q-23.507-57.659-23.507-57.322Q-23.507-57.085-23.621-56.893Q-23.734-56.700-23.894-56.562Q-24.054-56.424-24.336-56.236Q-24.618-56.048-24.696-55.989L-25.363-55.498L-24.906-55.498Q-24.474-55.498-24.180-55.505Q-23.886-55.511-23.871-55.523Q-23.793-55.621-23.737-55.982L-23.507-55.982L-23.671-54.998M-21.352-54.888Q-21.815-54.888-22.107-55.133Q-22.399-55.379-22.525-55.767Q-22.650-56.155-22.650-56.614Q-22.650-57.063-22.433-57.458Q-22.216-57.852-21.837-58.090Q-21.459-58.328-21.005-58.328Q-20.673-58.328-20.440-58.188Q-20.207-58.047-20.207-57.732Q-20.207-57.620-20.285-57.540Q-20.363-57.459-20.480-57.459Q-20.595-57.459-20.675-57.540Q-20.756-57.620-20.756-57.732Q-20.756-57.830-20.702-57.903Q-20.648-57.977-20.556-57.998Q-20.692-58.118-21-58.118Q-21.178-58.118-21.341-58.062Q-21.503-58.006-21.641-57.898Q-21.779-57.791-21.877-57.652Q-21.960-57.518-22.011-57.354Q-22.062-57.190-22.082-57.021Q-22.101-56.851-22.101-56.668Q-21.967-56.890-21.751-57.019Q-21.535-57.149-21.281-57.149Q-21.034-57.149-20.816-57.070Q-20.597-56.990-20.423-56.841Q-20.248-56.692-20.149-56.484Q-20.050-56.275-20.050-56.028Q-20.050-55.691-20.233-55.430Q-20.417-55.169-20.719-55.029Q-21.022-54.888-21.352-54.888M-21.352-55.113Q-20.961-55.113-20.751-55.364Q-20.648-55.491-20.624-55.640Q-20.600-55.789-20.600-56.019L-20.600-56.033Q-20.600-56.265-20.623-56.421Q-20.646-56.578-20.736-56.697Q-20.951-56.963-21.315-56.963Q-21.532-56.963-21.708-56.847Q-21.884-56.731-21.985-56.539Q-22.086-56.346-22.086-56.133Q-22.086-56.067-22.082-56.033Q-22.082-56.016-22.084-56.016Q-22.086-56.016-22.086-55.999Q-22.086-55.757-22.006-55.556Q-21.925-55.354-21.762-55.234Q-21.598-55.113-21.352-55.113",[791],[787,4331],{"fill":781,"d":4332},"M40.394-9.474H62.02v-17.071H40.394Z",[775,4334,4336],{"transform":4335},"translate(75.258 38.6)",[787,4337],{"d":4338,"fill":777,"stroke":777,"className":4339,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-25.666-55.337Q-25.412-55.113-24.777-55.113Q-24.555-55.113-24.390-55.212Q-24.225-55.310-24.141-55.486Q-24.057-55.662-24.057-55.877Q-24.057-56.099-24.143-56.271Q-24.230-56.443-24.396-56.543Q-24.562-56.644-24.782-56.644L-25.207-56.644Q-25.260-56.656-25.273-56.707L-25.273-56.768Q-25.260-56.812-25.207-56.829L-24.848-56.853Q-24.662-56.853-24.506-56.965Q-24.350-57.076-24.263-57.255Q-24.176-57.435-24.176-57.613Q-24.176-57.771-24.257-57.887Q-24.337-58.003-24.472-58.061Q-24.606-58.118-24.772-58.118Q-25.287-58.118-25.522-57.889Q-25.414-57.867-25.348-57.787Q-25.282-57.708-25.282-57.598Q-25.282-57.474-25.368-57.388Q-25.453-57.303-25.583-57.303Q-25.705-57.303-25.790-57.388Q-25.876-57.474-25.876-57.598Q-25.876-57.854-25.703-58.019Q-25.531-58.184-25.277-58.256Q-25.023-58.328-24.772-58.328Q-24.540-58.328-24.270-58.252Q-24.001-58.177-23.814-58.016Q-23.627-57.854-23.627-57.613Q-23.627-57.295-23.846-57.072Q-24.064-56.849-24.391-56.748Q-24.220-56.714-24.058-56.642Q-23.896-56.570-23.756-56.459Q-23.617-56.348-23.534-56.202Q-23.451-56.055-23.451-55.877Q-23.451-55.640-23.570-55.455Q-23.688-55.269-23.891-55.141Q-24.093-55.013-24.325-54.950Q-24.557-54.888-24.772-54.888Q-25.063-54.888-25.353-54.953Q-25.644-55.018-25.847-55.187Q-26.051-55.357-26.051-55.647Q-26.051-55.782-25.961-55.872Q-25.871-55.962-25.732-55.962Q-25.644-55.962-25.572-55.921Q-25.500-55.879-25.458-55.807Q-25.417-55.735-25.417-55.647Q-25.417-55.530-25.485-55.446Q-25.553-55.362-25.666-55.337M-22.135-55.223Q-22.028-55.154-21.902-55.133Q-21.776-55.113-21.610-55.113Q-21.357-55.113-21.147-55.237Q-20.937-55.362-20.795-55.584Q-20.678-55.779-20.639-56.022Q-20.600-56.265-20.600-56.558Q-20.736-56.333-20.954-56.205Q-21.171-56.077-21.420-56.077Q-21.654-56.077-21.880-56.158Q-22.106-56.238-22.281-56.390Q-22.455-56.541-22.553-56.746Q-22.650-56.951-22.650-57.198Q-22.650-57.459-22.537-57.671Q-22.423-57.884-22.231-58.031Q-22.038-58.179-21.805-58.254Q-21.571-58.328-21.315-58.328Q-20.966-58.328-20.721-58.184Q-20.475-58.040-20.326-57.792Q-20.177-57.544-20.114-57.248Q-20.050-56.951-20.050-56.614Q-20.050-56.180-20.251-55.778Q-20.451-55.376-20.806-55.132Q-21.161-54.888-21.610-54.888Q-21.835-54.888-22.035-54.939Q-22.235-54.991-22.366-55.123Q-22.497-55.254-22.497-55.484Q-22.497-55.601-22.416-55.679Q-22.336-55.757-22.221-55.757Q-22.104-55.757-22.024-55.680Q-21.945-55.603-21.945-55.484Q-21.945-55.391-21.997-55.318Q-22.050-55.245-22.135-55.223M-21.967-56.524Q-21.852-56.385-21.712-56.324Q-21.571-56.263-21.386-56.263Q-21.169-56.263-20.993-56.379Q-20.817-56.495-20.717-56.686Q-20.617-56.878-20.617-57.098Q-20.617-57.159-20.622-57.188Q-20.619-57.195-20.618-57.203Q-20.617-57.210-20.617-57.222Q-20.617-57.454-20.690-57.660Q-20.763-57.867-20.922-57.992Q-21.081-58.118-21.315-58.118Q-21.518-58.118-21.667-58.062Q-21.815-58.006-21.940-57.864Q-22.045-57.745-22.073-57.591Q-22.101-57.437-22.101-57.203L-22.101-57.188Q-22.101-56.956-22.078-56.802Q-22.055-56.648-21.967-56.524",[791],[787,4341],{"fill":781,"d":4342},"M108.68-9.474h21.625v-17.071h-21.624Z",[775,4344,4346],{"transform":4345},"translate(143.544 38.6)",[787,4347],{"d":4348,"fill":777,"stroke":777,"className":4349,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-24.753-54.888Q-25.216-54.888-25.508-55.133Q-25.800-55.379-25.926-55.767Q-26.051-56.155-26.051-56.614Q-26.051-57.063-25.834-57.458Q-25.617-57.852-25.238-58.090Q-24.860-58.328-24.406-58.328Q-24.074-58.328-23.841-58.188Q-23.607-58.047-23.607-57.732Q-23.607-57.620-23.686-57.540Q-23.764-57.459-23.881-57.459Q-23.996-57.459-24.076-57.540Q-24.157-57.620-24.157-57.732Q-24.157-57.830-24.103-57.903Q-24.049-57.977-23.957-57.998Q-24.093-58.118-24.401-58.118Q-24.579-58.118-24.742-58.062Q-24.904-58.006-25.042-57.898Q-25.180-57.791-25.277-57.652Q-25.360-57.518-25.412-57.354Q-25.463-57.190-25.482-57.021Q-25.502-56.851-25.502-56.668Q-25.368-56.890-25.152-57.019Q-24.936-57.149-24.682-57.149Q-24.435-57.149-24.217-57.070Q-23.998-56.990-23.824-56.841Q-23.649-56.692-23.550-56.484Q-23.451-56.275-23.451-56.028Q-23.451-55.691-23.634-55.430Q-23.817-55.169-24.120-55.029Q-24.423-54.888-24.753-54.888M-24.753-55.113Q-24.362-55.113-24.152-55.364Q-24.049-55.491-24.025-55.640Q-24.001-55.789-24.001-56.019L-24.001-56.033Q-24.001-56.265-24.024-56.421Q-24.047-56.578-24.137-56.697Q-24.352-56.963-24.716-56.963Q-24.933-56.963-25.109-56.847Q-25.285-56.731-25.386-56.539Q-25.487-56.346-25.487-56.133Q-25.487-56.067-25.482-56.033Q-25.482-56.016-25.485-56.016Q-25.487-56.016-25.487-55.999Q-25.487-55.757-25.407-55.556Q-25.326-55.354-25.163-55.234Q-24.999-55.113-24.753-55.113M-22.650-55.772Q-22.650-56.104-22.421-56.325Q-22.191-56.546-21.840-56.678Q-22.033-56.778-22.167-56.879Q-22.301-56.980-22.388-57.129Q-22.475-57.278-22.475-57.469Q-22.475-57.679-22.376-57.841Q-22.277-58.003-22.108-58.113Q-21.940-58.223-21.743-58.276Q-21.547-58.328-21.352-58.328Q-21.164-58.328-20.965-58.287Q-20.766-58.245-20.600-58.155Q-20.434-58.064-20.330-57.915Q-20.226-57.767-20.226-57.564Q-20.226-57.298-20.412-57.112Q-20.597-56.927-20.885-56.807L-20.617-56.668Q-20.373-56.548-20.211-56.333Q-20.050-56.119-20.050-55.862Q-20.050-55.547-20.248-55.326Q-20.446-55.105-20.747-54.997Q-21.049-54.888-21.352-54.888Q-21.652-54.888-21.951-54.980Q-22.250-55.071-22.450-55.269Q-22.650-55.467-22.650-55.772M-22.287-55.772Q-22.287-55.452-21.990-55.282Q-21.693-55.113-21.352-55.113Q-21.151-55.113-20.934-55.166Q-20.717-55.220-20.567-55.348Q-20.417-55.477-20.417-55.684Q-20.417-55.818-20.512-55.933Q-20.607-56.048-20.746-56.119L-21.606-56.558Q-21.894-56.443-22.090-56.244Q-22.287-56.045-22.287-55.772M-21.881-57.317L-21.110-56.922Q-20.956-56.995-20.835-57.083Q-20.714-57.171-20.635-57.290Q-20.556-57.410-20.556-57.564Q-20.556-57.745-20.680-57.872Q-20.805-57.998-20.987-58.058Q-21.169-58.118-21.352-58.118Q-21.523-58.118-21.702-58.078Q-21.881-58.038-22.013-57.935Q-22.145-57.832-22.145-57.659Q-22.145-57.461-21.881-57.317",[791],[787,4351],{"fill":781,"d":4352},"M131.443-9.474h21.624v-17.071h-21.624Z",[775,4354,4356],{"transform":4355},"translate(166.307 38.6)",[787,4357],{"d":4358,"fill":777,"stroke":777,"className":4359,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-25.197-55.164Q-25.197-55.721-24.965-56.244Q-24.733-56.768-24.333-57.203L-23.861-57.718L-24.467-57.718Q-24.696-57.718-24.950-57.717Q-25.204-57.715-25.392-57.710Q-25.580-57.706-25.597-57.693Q-25.683-57.593-25.736-57.232L-25.966-57.232L-25.778-58.377L-25.546-58.377L-25.546-58.362Q-25.546-58.309-25.482-58.278Q-25.419-58.248-25.356-58.248Q-25.080-58.235-24.807-58.227Q-24.535-58.218-24.423-58.218L-23.278-58.218L-23.278-58.052Q-23.278-58.033-23.297-58.003L-24.137-57.088Q-24.357-56.846-24.469-56.532Q-24.582-56.219-24.615-55.888Q-24.648-55.557-24.648-55.159Q-24.648-55.044-24.728-54.966Q-24.809-54.888-24.921-54.888Q-25.036-54.888-25.116-54.969Q-25.197-55.049-25.197-55.164M-20.270-54.998L-22.597-54.998L-22.597-55.179Q-22.594-55.191-22.575-55.218L-21.535-56.094Q-21.227-56.353-21.073-56.497Q-20.919-56.641-20.790-56.858Q-20.661-57.076-20.661-57.317Q-20.661-57.559-20.788-57.735Q-20.915-57.911-21.118-58Q-21.322-58.089-21.562-58.089Q-21.769-58.089-21.964-58.001Q-22.160-57.913-22.265-57.747Q-22.145-57.747-22.068-57.655Q-21.991-57.564-21.991-57.449Q-21.991-57.322-22.078-57.233Q-22.165-57.144-22.292-57.144Q-22.421-57.144-22.509-57.234Q-22.597-57.325-22.597-57.449Q-22.597-57.730-22.423-57.929Q-22.250-58.128-21.979-58.228Q-21.708-58.328-21.435-58.328Q-21.110-58.328-20.805-58.221Q-20.500-58.113-20.303-57.886Q-20.107-57.659-20.107-57.322Q-20.107-57.085-20.220-56.893Q-20.334-56.700-20.493-56.562Q-20.653-56.424-20.935-56.236Q-21.217-56.048-21.295-55.989L-21.962-55.498L-21.505-55.498Q-21.073-55.498-20.779-55.505Q-20.485-55.511-20.470-55.523Q-20.392-55.621-20.336-55.982L-20.107-55.982",[791],[787,4361],{"fill":781,"d":4362},"M131.443 7.598h21.624V-9.474h-21.624Z",[775,4364,4366],{"transform":4365},"translate(166.307 55.671)",[787,4367],{"d":4368,"fill":777,"stroke":777,"className":4369,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-25.197-55.164Q-25.197-55.721-24.965-56.244Q-24.733-56.768-24.333-57.203L-23.861-57.718L-24.467-57.718Q-24.696-57.718-24.950-57.717Q-25.204-57.715-25.392-57.710Q-25.580-57.706-25.597-57.693Q-25.683-57.593-25.736-57.232L-25.966-57.232L-25.778-58.377L-25.546-58.377L-25.546-58.362Q-25.546-58.309-25.482-58.278Q-25.419-58.248-25.356-58.248Q-25.080-58.235-24.807-58.227Q-24.535-58.218-24.423-58.218L-23.278-58.218L-23.278-58.052Q-23.278-58.033-23.297-58.003L-24.137-57.088Q-24.357-56.846-24.469-56.532Q-24.582-56.219-24.615-55.888Q-24.648-55.557-24.648-55.159Q-24.648-55.044-24.728-54.966Q-24.809-54.888-24.921-54.888Q-25.036-54.888-25.116-54.969Q-25.197-55.049-25.197-55.164M-22.650-55.772Q-22.650-56.104-22.421-56.325Q-22.191-56.546-21.840-56.678Q-22.033-56.778-22.167-56.879Q-22.301-56.980-22.388-57.129Q-22.475-57.278-22.475-57.469Q-22.475-57.679-22.376-57.841Q-22.277-58.003-22.108-58.113Q-21.940-58.223-21.743-58.276Q-21.547-58.328-21.352-58.328Q-21.164-58.328-20.965-58.287Q-20.766-58.245-20.600-58.155Q-20.434-58.064-20.330-57.915Q-20.226-57.767-20.226-57.564Q-20.226-57.298-20.412-57.112Q-20.597-56.927-20.885-56.807L-20.617-56.668Q-20.373-56.548-20.211-56.333Q-20.050-56.119-20.050-55.862Q-20.050-55.547-20.248-55.326Q-20.446-55.105-20.747-54.997Q-21.049-54.888-21.352-54.888Q-21.652-54.888-21.951-54.980Q-22.250-55.071-22.450-55.269Q-22.650-55.467-22.650-55.772M-22.287-55.772Q-22.287-55.452-21.990-55.282Q-21.693-55.113-21.352-55.113Q-21.151-55.113-20.934-55.166Q-20.717-55.220-20.567-55.348Q-20.417-55.477-20.417-55.684Q-20.417-55.818-20.512-55.933Q-20.607-56.048-20.746-56.119L-21.606-56.558Q-21.894-56.443-22.090-56.244Q-22.287-56.045-22.287-55.772M-21.881-57.317L-21.110-56.922Q-20.956-56.995-20.835-57.083Q-20.714-57.171-20.635-57.290Q-20.556-57.410-20.556-57.564Q-20.556-57.745-20.680-57.872Q-20.805-57.998-20.987-58.058Q-21.169-58.118-21.352-58.118Q-21.523-58.118-21.702-58.078Q-21.881-58.038-22.013-57.935Q-22.145-57.832-22.145-57.659Q-22.145-57.461-21.881-57.317",[791],[787,4371],{"fill":781,"d":4372},"M176.968-9.474h21.624v-17.071h-21.624Z",[775,4374,4376],{"transform":4375},"translate(211.831 38.6)",[787,4377],{"d":4378,"fill":777,"stroke":777,"className":4379,"style":4142},"M-27.770-55.313Q-27.770-55.437-27.675-55.533Q-27.580-55.628-27.455-55.628Q-27.328-55.628-27.234-55.534Q-27.140-55.440-27.140-55.313Q-27.140-55.186-27.234-55.092Q-27.328-54.998-27.455-54.998Q-27.580-54.998-27.675-55.093Q-27.770-55.188-27.770-55.313M-25.536-55.223Q-25.429-55.154-25.303-55.133Q-25.177-55.113-25.011-55.113Q-24.757-55.113-24.547-55.237Q-24.337-55.362-24.196-55.584Q-24.079-55.779-24.040-56.022Q-24.001-56.265-24.001-56.558Q-24.137-56.333-24.355-56.205Q-24.572-56.077-24.821-56.077Q-25.055-56.077-25.281-56.158Q-25.507-56.238-25.681-56.390Q-25.856-56.541-25.954-56.746Q-26.051-56.951-26.051-57.198Q-26.051-57.459-25.938-57.671Q-25.824-57.884-25.631-58.031Q-25.439-58.179-25.205-58.254Q-24.972-58.328-24.716-58.328Q-24.367-58.328-24.121-58.184Q-23.876-58.040-23.727-57.792Q-23.578-57.544-23.515-57.248Q-23.451-56.951-23.451-56.614Q-23.451-56.180-23.651-55.778Q-23.852-55.376-24.207-55.132Q-24.562-54.888-25.011-54.888Q-25.236-54.888-25.436-54.939Q-25.636-54.991-25.767-55.123Q-25.898-55.254-25.898-55.484Q-25.898-55.601-25.817-55.679Q-25.736-55.757-25.622-55.757Q-25.504-55.757-25.425-55.680Q-25.346-55.603-25.346-55.484Q-25.346-55.391-25.398-55.318Q-25.451-55.245-25.536-55.223M-25.368-56.524Q-25.253-56.385-25.113-56.324Q-24.972-56.263-24.787-56.263Q-24.569-56.263-24.394-56.379Q-24.218-56.495-24.118-56.686Q-24.018-56.878-24.018-57.098Q-24.018-57.159-24.023-57.188Q-24.020-57.195-24.019-57.203Q-24.018-57.210-24.018-57.222Q-24.018-57.454-24.091-57.660Q-24.164-57.867-24.323-57.992Q-24.482-58.118-24.716-58.118Q-24.919-58.118-25.067-58.062Q-25.216-58.006-25.341-57.864Q-25.446-57.745-25.474-57.591Q-25.502-57.437-25.502-57.203L-25.502-57.188Q-25.502-56.956-25.479-56.802Q-25.456-56.648-25.368-56.524M-21.081-55.813L-22.736-55.813L-22.736-56.053L-20.871-58.294Q-20.844-58.328-20.790-58.328L-20.661-58.328Q-20.631-58.328-20.606-58.305Q-20.580-58.282-20.580-58.248L-20.580-56.053L-19.965-56.053L-19.965-55.813L-20.580-55.813L-20.580-55.357Q-20.580-55.237-19.970-55.237L-19.970-54.998L-21.691-54.998L-21.691-55.237Q-21.081-55.237-21.081-55.357L-21.081-55.813M-21.042-57.774L-22.470-56.053L-21.042-56.053",[791],[775,4381,4382,4389,4395],{"stroke":781,"fontFamily":879,"fontSize":880},[775,4383,4385],{"transform":4384},"translate(-33.81 39.42)",[787,4386],{"d":4387,"fill":777,"stroke":777,"className":4388,"style":888},"M-27.340-54.998L-27.607-54.998L-27.607-59.106Q-27.607-59.376-27.714-59.438Q-27.822-59.499-28.133-59.499L-28.133-59.780L-27.053-59.855L-27.053-57.685Q-26.844-57.876-26.559-57.980Q-26.273-58.084-25.976-58.084Q-25.658-58.084-25.361-57.963Q-25.064-57.842-24.841-57.626Q-24.619-57.411-24.493-57.126Q-24.366-56.840-24.366-56.509Q-24.366-56.064-24.606-55.700Q-24.845-55.336-25.238-55.133Q-25.631-54.930-26.075-54.930Q-26.270-54.930-26.460-54.986Q-26.649-55.042-26.810-55.147Q-26.971-55.251-27.111-55.412L-27.340-54.998M-27.025-57.343L-27.025-55.726Q-26.889-55.466-26.648-55.309Q-26.407-55.152-26.130-55.152Q-25.836-55.152-25.624-55.259Q-25.412-55.367-25.279-55.559Q-25.146-55.750-25.087-55.989Q-25.029-56.228-25.029-56.509Q-25.029-56.868-25.123-57.172Q-25.217-57.476-25.445-57.669Q-25.672-57.862-26.038-57.862Q-26.338-57.862-26.605-57.726Q-26.872-57.589-27.025-57.343M-23.156-55.832L-23.156-57.336Q-23.156-57.606-23.264-57.667Q-23.372-57.729-23.683-57.729L-23.683-58.009L-22.575-58.084L-22.575-55.852L-22.575-55.832Q-22.575-55.552-22.524-55.408Q-22.473-55.265-22.331-55.208Q-22.189-55.152-21.902-55.152Q-21.649-55.152-21.444-55.292Q-21.239-55.432-21.123-55.658Q-21.006-55.883-21.006-56.133L-21.006-57.336Q-21.006-57.606-21.114-57.667Q-21.222-57.729-21.533-57.729L-21.533-58.009L-20.425-58.084L-20.425-55.671Q-20.425-55.480-20.372-55.398Q-20.319-55.316-20.219-55.297Q-20.118-55.278-19.902-55.278L-19.902-54.998L-20.979-54.930L-20.979-55.494Q-21.088-55.312-21.234-55.189Q-21.379-55.066-21.565-54.998Q-21.752-54.930-21.953-54.930Q-23.156-54.930-23.156-55.832M-19.315-56.509Q-19.315-56.837-19.180-57.138Q-19.044-57.438-18.809-57.659Q-18.573-57.879-18.269-57.999Q-17.964-58.119-17.640-58.119Q-17.134-58.119-16.785-58.016Q-16.437-57.914-16.437-57.538Q-16.437-57.391-16.534-57.290Q-16.631-57.189-16.778-57.189Q-16.932-57.189-17.031-57.288Q-17.130-57.387-17.130-57.538Q-17.130-57.726-16.990-57.818Q-17.192-57.869-17.633-57.869Q-17.988-57.869-18.217-57.673Q-18.446-57.476-18.547-57.167Q-18.648-56.857-18.648-56.509Q-18.648-56.160-18.522-55.854Q-18.395-55.548-18.140-55.364Q-17.886-55.179-17.530-55.179Q-17.308-55.179-17.124-55.263Q-16.939-55.347-16.804-55.502Q-16.669-55.658-16.611-55.866Q-16.597-55.921-16.543-55.921L-16.430-55.921Q-16.399-55.921-16.377-55.897Q-16.355-55.873-16.355-55.839L-16.355-55.818Q-16.440-55.531-16.628-55.333Q-16.816-55.135-17.081-55.032Q-17.346-54.930-17.640-54.930Q-18.070-54.930-18.458-55.136Q-18.846-55.343-19.080-55.706Q-19.315-56.068-19.315-56.509",[791],[775,4390,4391],{"transform":4384},[787,4392],{"d":4393,"fill":777,"stroke":777,"className":4394,"style":888},"M-14.377-54.998L-15.960-54.998L-15.960-55.278Q-15.731-55.278-15.582-55.312Q-15.434-55.347-15.434-55.487L-15.434-59.106Q-15.434-59.376-15.541-59.438Q-15.649-59.499-15.960-59.499L-15.960-59.780L-14.880-59.855L-14.880-56.567L-13.895-57.336Q-13.690-57.473-13.690-57.623Q-13.690-57.667-13.731-57.702Q-13.772-57.736-13.817-57.736L-13.817-58.016L-12.453-58.016L-12.453-57.736Q-12.942-57.736-13.461-57.336L-14.018-56.902L-13.041-55.678Q-12.839-55.432-12.706-55.355Q-12.573-55.278-12.286-55.278L-12.286-54.998L-13.718-54.998L-13.718-55.278Q-13.530-55.278-13.530-55.391Q-13.530-55.487-13.684-55.678L-14.418-56.587L-14.900-56.208L-14.900-55.487Q-14.900-55.350-14.752-55.314Q-14.603-55.278-14.377-55.278",[791],[775,4396,4397],{"transform":4384},[787,4398],{"d":4399,"fill":777,"stroke":777,"className":4400,"style":888},"M-12.028-56.533Q-12.028-56.854-11.903-57.143Q-11.778-57.432-11.552-57.655Q-11.327-57.879-11.031-57.999Q-10.736-58.119-10.418-58.119Q-10.090-58.119-9.828-58.019Q-9.567-57.920-9.391-57.738Q-9.215-57.555-9.121-57.297Q-9.027-57.039-9.027-56.707Q-9.027-56.615-9.109-56.594L-11.364-56.594L-11.364-56.533Q-11.364-55.945-11.081-55.562Q-10.797-55.179-10.230-55.179Q-9.908-55.179-9.640-55.372Q-9.372-55.565-9.283-55.880Q-9.276-55.921-9.201-55.935L-9.109-55.935Q-9.027-55.911-9.027-55.839Q-9.027-55.832-9.033-55.805Q-9.146-55.408-9.517-55.169Q-9.888-54.930-10.312-54.930Q-10.749-54.930-11.149-55.138Q-11.549-55.347-11.788-55.714Q-12.028-56.081-12.028-56.533M-11.358-56.803L-9.543-56.803Q-9.543-57.080-9.640-57.332Q-9.738-57.585-9.936-57.741Q-10.134-57.896-10.418-57.896Q-10.695-57.896-10.908-57.738Q-11.122-57.579-11.240-57.324Q-11.358-57.069-11.358-56.803M-7.912-55.839L-7.912-57.736L-8.551-57.736L-8.551-57.958Q-8.234-57.958-8.017-58.168Q-7.800-58.378-7.699-58.688Q-7.598-58.997-7.598-59.305L-7.331-59.305L-7.331-58.016L-6.255-58.016L-6.255-57.736L-7.331-57.736L-7.331-55.852Q-7.331-55.576-7.227-55.377Q-7.123-55.179-6.863-55.179Q-6.706-55.179-6.600-55.283Q-6.494-55.388-6.444-55.541Q-6.395-55.695-6.395-55.852L-6.395-56.266L-6.128-56.266L-6.128-55.839Q-6.128-55.613-6.227-55.403Q-6.326-55.193-6.511-55.061Q-6.696-54.930-6.925-54.930Q-7.362-54.930-7.637-55.167Q-7.912-55.405-7.912-55.839M-5.318-55.005L-5.318-56.068Q-5.318-56.092-5.291-56.119Q-5.263-56.146-5.239-56.146L-5.130-56.146Q-5.065-56.146-5.051-56.088Q-4.956-55.654-4.710-55.403Q-4.464-55.152-4.050-55.152Q-3.708-55.152-3.455-55.285Q-3.202-55.418-3.202-55.726Q-3.202-55.883-3.296-55.998Q-3.390-56.112-3.529-56.181Q-3.667-56.249-3.835-56.287L-4.416-56.386Q-4.771-56.454-5.045-56.675Q-5.318-56.895-5.318-57.237Q-5.318-57.486-5.207-57.661Q-5.096-57.835-4.910-57.934Q-4.723-58.033-4.508-58.076Q-4.293-58.119-4.050-58.119Q-3.636-58.119-3.356-57.937L-3.141-58.112Q-3.131-58.115-3.124-58.117Q-3.117-58.119-3.107-58.119L-3.055-58.119Q-3.028-58.119-3.004-58.095Q-2.980-58.071-2.980-58.043L-2.980-57.196Q-2.980-57.175-3.004-57.148Q-3.028-57.121-3.055-57.121L-3.168-57.121Q-3.196-57.121-3.221-57.146Q-3.247-57.172-3.247-57.196Q-3.247-57.432-3.353-57.596Q-3.459-57.760-3.642-57.842Q-3.824-57.924-4.057-57.924Q-4.385-57.924-4.641-57.821Q-4.898-57.719-4.898-57.442Q-4.898-57.247-4.715-57.138Q-4.532-57.028-4.303-56.987L-3.729-56.881Q-3.483-56.833-3.269-56.705Q-3.055-56.577-2.919-56.374Q-2.782-56.170-2.782-55.921Q-2.782-55.408-3.148-55.169Q-3.513-54.930-4.050-54.930Q-4.546-54.930-4.877-55.224L-5.144-54.950Q-5.164-54.930-5.192-54.930L-5.239-54.930Q-5.263-54.930-5.291-54.957Q-5.318-54.984-5.318-55.005",[791],[1203,4402,4404,4405,4439,4440,4470,4471,4487,4488,4514,4515,4543],{"className":4403},[1206],"Bucket sort on ",[395,4406,4408],{"className":4407},[398],[395,4409,4411,4429],{"className":4410,"ariaHidden":403},[402],[395,4412,4414,4417,4420,4423,4426],{"className":4413},[407],[395,4415],{"className":4416,"style":565},[411],[395,4418,427],{"className":4419},[416,426],[395,4421],{"className":4422,"style":593},[431],[395,4424,1230],{"className":4425},[588],[395,4427],{"className":4428,"style":593},[431],[395,4430,4432,4435],{"className":4431},[407],[395,4433],{"className":4434,"style":744},[411],[395,4436,4438],{"className":4437},[416],"10"," keys in ",[395,4441,4443],{"className":4442},[398],[395,4444,4446],{"className":4445,"ariaHidden":403},[402],[395,4447,4449,4452,4455,4458,4461,4464,4467],{"className":4448},[407],[395,4450],{"className":4451,"style":412},[411],[395,4453,1370],{"className":4454},[421],[395,4456,508],{"className":4457},[416],[395,4459,513],{"className":4460},[512],[395,4462],{"className":4463,"style":432},[431],[395,4465,473],{"className":4466},[416],[395,4468,453],{"className":4469},[452],". Key ",[395,4472,4474],{"className":4473},[398],[395,4475,4477],{"className":4476,"ariaHidden":403},[402],[395,4478,4480,4483],{"className":4479},[407],[395,4481],{"className":4482,"style":565},[411],[395,4484,4486],{"className":4485},[416,426],"x"," drops into bucket ",[395,4489,4491],{"className":4490},[398],[395,4492,4494],{"className":4493,"ariaHidden":403},[402],[395,4495,4497,4500,4504,4507,4510],{"className":4496},[407],[395,4498],{"className":4499,"style":412},[411],[395,4501,4503],{"className":4502},[421],"⌊",[395,4505,4438],{"className":4506},[416],[395,4508,4486],{"className":4509},[416,426],[395,4511,4513],{"className":4512},[452],"⌋","; each bucket is sorted and the buckets concatenated left to right. Uniform keys give ",[395,4516,4518],{"className":4517},[398],[395,4519,4521,4534],{"className":4520,"ariaHidden":403},[402],[395,4522,4524,4528,4531],{"className":4523},[407],[395,4525],{"className":4526,"style":4527},[411],"height:0.4831em;",[395,4529,2482],{"className":4530},[588],[395,4532],{"className":4533,"style":593},[431],[395,4535,4537,4540],{"className":4536},[407],[395,4538],{"className":4539,"style":744},[411],[395,4541,473],{"className":4542},[416]," per bucket.",[621,4545,4547],{"className":623,"code":4546,"language":625,"meta":376,"style":376},"caption: $\\textsc{Bucket-Sort}(A)$ — sort $n$ keys drawn uniformly from $[0, 1)$\nnumber: 3\n$n \\gets A.length$\nlet $B[0..n-1]$ be an array of empty lists\nfor $i \\gets 1$ to $n$ do\n  insert $A[i]$ into list $B[\\,\\floor{n \\cdot A[i]}\\,]$ \u002F\u002F bucket by value\nfor $i \\gets 0$ to $n - 1$ do\n  sort list $B[i]$ with insertion sort\nconcatenate $B[0], B[1], \\dots, B[n-1]$ in order\n",[627,4548,4549,4554,4559,4564,4569,4574,4579,4584,4589],{"__ignoreMap":376},[395,4550,4551],{"class":631,"line":6},[395,4552,4553],{},"caption: $\\textsc{Bucket-Sort}(A)$ — sort $n$ keys drawn uniformly from $[0, 1)$\n",[395,4555,4556],{"class":631,"line":18},[395,4557,4558],{},"number: 3\n",[395,4560,4561],{"class":631,"line":24},[395,4562,4563],{},"$n \\gets A.length$\n",[395,4565,4566],{"class":631,"line":73},[395,4567,4568],{},"let $B[0..n-1]$ be an array of empty lists\n",[395,4570,4571],{"class":631,"line":102},[395,4572,4573],{},"for $i \\gets 1$ to $n$ do\n",[395,4575,4576],{"class":631,"line":108},[395,4577,4578],{},"  insert $A[i]$ into list $B[\\,\\floor{n \\cdot A[i]}\\,]$ \u002F\u002F bucket by value\n",[395,4580,4581],{"class":631,"line":116},[395,4582,4583],{},"for $i \\gets 0$ to $n - 1$ do\n",[395,4585,4586],{"class":631,"line":196},[395,4587,4588],{},"  sort list $B[i]$ with insertion sort\n",[395,4590,4591],{"class":631,"line":202},[395,4592,4593],{},"concatenate $B[0], B[1], \\dots, B[n-1]$ in order\n",[381,4595,4596,4597,4621,4622,4646,4647,4671,4672],{},"Scattering is ",[395,4598,4600],{"className":4599},[398],[395,4601,4603],{"className":4602,"ariaHidden":403},[402],[395,4604,4606,4609,4612,4615,4618],{"className":4605},[407],[395,4607],{"className":4608,"style":412},[411],[395,4610,2213],{"className":4611},[416],[395,4613,422],{"className":4614},[421],[395,4616,427],{"className":4617},[416,426],[395,4619,453],{"className":4620},[452],", and concatenation is ",[395,4623,4625],{"className":4624},[398],[395,4626,4628],{"className":4627,"ariaHidden":403},[402],[395,4629,4631,4634,4637,4640,4643],{"className":4630},[407],[395,4632],{"className":4633,"style":412},[411],[395,4635,2213],{"className":4636},[416],[395,4638,422],{"className":4639},[421],[395,4641,427],{"className":4642},[416,426],[395,4644,453],{"className":4645},[452],". The only variable\ncost is sorting the buckets. If the input is spread uniformly, each bucket holds\nabout one element on average, so the insertion sorts cost ",[395,4648,4650],{"className":4649},[398],[395,4651,4653],{"className":4652,"ariaHidden":403},[402],[395,4654,4656,4659,4662,4665,4668],{"className":4655},[407],[395,4657],{"className":4658,"style":412},[411],[395,4660,2381],{"className":4661,"style":2380},[416,426],[395,4663,422],{"className":4664},[421],[395,4666,473],{"className":4667},[416],[395,4669,453],{"className":4670},[452]," each in\nexpectation.",[465,4673,4674],{},[385,4675,2496],{"href":4676,"ariaDescribedBy":4677,"dataFootnoteRef":376,"id":4678},"#user-content-fn-clrs-bucket",[471],"user-content-fnref-clrs-bucket",[381,4680,4681,4683,4684,4774,4775,4790,4791,4866,4867,5124,5125,5140,5141,5160,5161,5213,5214,5247],{},[460,4682,2196],{}," Let ",[395,4685,4687],{"className":4686},[398],[395,4688,4690,4749],{"className":4689,"ariaHidden":403},[402],[395,4691,4693,4697,4740,4743,4746],{"className":4692},[407],[395,4694],{"className":4695,"style":4696},[411],"height:0.5806em;vertical-align:-0.15em;",[395,4698,4700,4703],{"className":4699},[416],[395,4701,427],{"className":4702},[416,426],[395,4704,4706],{"className":4705},[2526],[395,4707,4709,4731],{"className":4708},[2530,3868],[395,4710,4712,4728],{"className":4711},[2534],[395,4713,4716],{"className":4714,"style":4715},[2538],"height:0.3117em;",[395,4717,4719,4722],{"style":4718},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[395,4720],{"className":4721,"style":2546},[2545],[395,4723,4725],{"className":4724},[2550,2551,2552,2553],[395,4726,2686],{"className":4727},[416,426,2553],[395,4729,3892],{"className":4730},[3891],[395,4732,4734],{"className":4733},[2534],[395,4735,4738],{"className":4736,"style":4737},[2538],"height:0.15em;",[395,4739],{},[395,4741],{"className":4742,"style":593},[431],[395,4744,1230],{"className":4745},[588],[395,4747],{"className":4748,"style":593},[431],[395,4750,4752,4755,4759,4762,4765,4768,4771],{"className":4751},[407],[395,4753],{"className":4754,"style":412},[411],[395,4756,4758],{"className":4757},[416],"∣",[395,4760,714],{"className":4761,"style":713},[416,426],[395,4763,1370],{"className":4764},[421],[395,4766,2686],{"className":4767},[416,426],[395,4769,1377],{"className":4770},[452],[395,4772,4758],{"className":4773},[416],". Insertion sort on bucket ",[395,4776,4778],{"className":4777},[398],[395,4779,4781],{"className":4780,"ariaHidden":403},[402],[395,4782,4784,4787],{"className":4783},[407],[395,4785],{"className":4786,"style":2682},[411],[395,4788,2686],{"className":4789},[416,426]," costs\n",[395,4792,4794],{"className":4793},[398],[395,4795,4797],{"className":4796,"ariaHidden":403},[402],[395,4798,4800,4804,4807,4810,4863],{"className":4799},[407],[395,4801],{"className":4802,"style":4803},[411],"height:1.0728em;vertical-align:-0.2587em;",[395,4805,2381],{"className":4806,"style":2380},[416,426],[395,4808,422],{"className":4809},[421],[395,4811,4813,4816],{"className":4812},[416],[395,4814,427],{"className":4815},[416,426],[395,4817,4819],{"className":4818},[2526],[395,4820,4822,4854],{"className":4821},[2530,3868],[395,4823,4825,4851],{"className":4824},[2534],[395,4826,4828,4840],{"className":4827,"style":2513},[2538],[395,4829,4831,4834],{"style":4830},"top:-2.4413em;margin-left:0em;margin-right:0.05em;",[395,4832],{"className":4833,"style":2546},[2545],[395,4835,4837],{"className":4836},[2550,2551,2552,2553],[395,4838,2686],{"className":4839},[416,426,2553],[395,4841,4842,4845],{"style":2541},[395,4843],{"className":4844,"style":2546},[2545],[395,4846,4848],{"className":4847},[2550,2551,2552,2553],[395,4849,1247],{"className":4850},[416,2553],[395,4852,3892],{"className":4853},[3891],[395,4855,4857],{"className":4856},[2534],[395,4858,4861],{"className":4859,"style":4860},[2538],"height:0.2587em;",[395,4862],{},[395,4864,453],{"className":4865},[452],", so the expected total bucket-sorting cost is\n",[395,4868,4870],{"className":4869},[398],[395,4871,4873,5008],{"className":4872,"ariaHidden":403},[402],[395,4874,4876,4880,4927,4930,4935,4938,4941,4944,4995,4999,5002,5005],{"className":4875},[407],[395,4877],{"className":4878,"style":4879},[411],"height:1.1138em;vertical-align:-0.2997em;",[395,4881,4883,4890],{"className":4882},[436],[395,4884,4889],{"className":4885,"style":4888},[436,4886,4887],"op-symbol","small-op","position:relative;top:0em;","∑",[395,4891,4893],{"className":4892},[2526],[395,4894,4896,4918],{"className":4895},[2530,3868],[395,4897,4899,4915],{"className":4898},[2534],[395,4900,4903],{"className":4901,"style":4902},[2538],"height:0.162em;",[395,4904,4906,4909],{"style":4905},"top:-2.4003em;margin-left:0em;margin-right:0.05em;",[395,4907],{"className":4908,"style":2546},[2545],[395,4910,4912],{"className":4911},[2550,2551,2552,2553],[395,4913,2686],{"className":4914},[416,426,2553],[395,4916,3892],{"className":4917},[3891],[395,4919,4921],{"className":4920},[2534],[395,4922,4925],{"className":4923,"style":4924},[2538],"height:0.2997em;",[395,4926],{},[395,4928],{"className":4929,"style":432},[431],[395,4931,4934],{"className":4932},[416,4933],"mathbb","E",[395,4936,1370],{"className":4937},[421],[395,4939,2381],{"className":4940,"style":2380},[416,426],[395,4942,422],{"className":4943},[421],[395,4945,4947,4950],{"className":4946},[416],[395,4948,427],{"className":4949},[416,426],[395,4951,4953],{"className":4952},[2526],[395,4954,4956,4987],{"className":4955},[2530,3868],[395,4957,4959,4984],{"className":4958},[2534],[395,4960,4962,4973],{"className":4961,"style":2513},[2538],[395,4963,4964,4967],{"style":4830},[395,4965],{"className":4966,"style":2546},[2545],[395,4968,4970],{"className":4969},[2550,2551,2552,2553],[395,4971,2686],{"className":4972},[416,426,2553],[395,4974,4975,4978],{"style":2541},[395,4976],{"className":4977,"style":2546},[2545],[395,4979,4981],{"className":4980},[2550,2551,2552,2553],[395,4982,1247],{"className":4983},[416,2553],[395,4985,3892],{"className":4986},[3891],[395,4988,4990],{"className":4989},[2534],[395,4991,4993],{"className":4992,"style":4860},[2538],[395,4994],{},[395,4996,4998],{"className":4997},[452],")]",[395,5000],{"className":5001,"style":593},[431],[395,5003,1230],{"className":5004},[588],[395,5006],{"className":5007,"style":593},[431],[395,5009,5011,5014,5054,5057,5060,5063,5066,5069,5120],{"className":5010},[407],[395,5012],{"className":5013,"style":4879},[411],[395,5015,5017,5020],{"className":5016},[436],[395,5018,4889],{"className":5019,"style":4888},[436,4886,4887],[395,5021,5023],{"className":5022},[2526],[395,5024,5026,5046],{"className":5025},[2530,3868],[395,5027,5029,5043],{"className":5028},[2534],[395,5030,5032],{"className":5031,"style":4902},[2538],[395,5033,5034,5037],{"style":4905},[395,5035],{"className":5036,"style":2546},[2545],[395,5038,5040],{"className":5039},[2550,2551,2552,2553],[395,5041,2686],{"className":5042},[416,426,2553],[395,5044,3892],{"className":5045},[3891],[395,5047,5049],{"className":5048},[2534],[395,5050,5052],{"className":5051,"style":4924},[2538],[395,5053],{},[395,5055],{"className":5056,"style":432},[431],[395,5058,2381],{"className":5059,"style":2380},[416,426],[395,5061,422],{"className":5062},[421],[395,5064,4934],{"className":5065},[416,4933],[395,5067,1370],{"className":5068},[421],[395,5070,5072,5075],{"className":5071},[416],[395,5073,427],{"className":5074},[416,426],[395,5076,5078],{"className":5077},[2526],[395,5079,5081,5112],{"className":5080},[2530,3868],[395,5082,5084,5109],{"className":5083},[2534],[395,5085,5087,5098],{"className":5086,"style":2513},[2538],[395,5088,5089,5092],{"style":4830},[395,5090],{"className":5091,"style":2546},[2545],[395,5093,5095],{"className":5094},[2550,2551,2552,2553],[395,5096,2686],{"className":5097},[416,426,2553],[395,5099,5100,5103],{"style":2541},[395,5101],{"className":5102,"style":2546},[2545],[395,5104,5106],{"className":5105},[2550,2551,2552,2553],[395,5107,1247],{"className":5108},[416,2553],[395,5110,3892],{"className":5111},[3891],[395,5113,5115],{"className":5114},[2534],[395,5116,5118],{"className":5117,"style":4860},[2538],[395,5119],{},[395,5121,5123],{"className":5122},[452],"])",". Each key lands in\nbucket ",[395,5126,5128],{"className":5127},[398],[395,5129,5131],{"className":5130,"ariaHidden":403},[402],[395,5132,5134,5137],{"className":5133},[407],[395,5135],{"className":5136,"style":2682},[411],[395,5138,2686],{"className":5139},[416,426]," independently with probability ",[395,5142,5144],{"className":5143},[398],[395,5145,5147],{"className":5146,"ariaHidden":403},[402],[395,5148,5150,5153,5157],{"className":5149},[407],[395,5151],{"className":5152,"style":412},[411],[395,5154,5156],{"className":5155},[416],"1\u002F",[395,5158,427],{"className":5159},[416,426],", so ",[395,5162,5164],{"className":5163},[398],[395,5165,5167],{"className":5166,"ariaHidden":403},[402],[395,5168,5170,5173],{"className":5169},[407],[395,5171],{"className":5172,"style":4696},[411],[395,5174,5176,5179],{"className":5175},[416],[395,5177,427],{"className":5178},[416,426],[395,5180,5182],{"className":5181},[2526],[395,5183,5185,5205],{"className":5184},[2530,3868],[395,5186,5188,5202],{"className":5187},[2534],[395,5189,5191],{"className":5190,"style":4715},[2538],[395,5192,5193,5196],{"style":4718},[395,5194],{"className":5195,"style":2546},[2545],[395,5197,5199],{"className":5198},[2550,2551,2552,2553],[395,5200,2686],{"className":5201},[416,426,2553],[395,5203,3892],{"className":5204},[3891],[395,5206,5208],{"className":5207},[2534],[395,5209,5211],{"className":5210,"style":4737},[2538],[395,5212],{}," is Binomial",[395,5215,5217],{"className":5216},[398],[395,5218,5220],{"className":5219,"ariaHidden":403},[402],[395,5221,5223,5226,5229,5232,5235,5238,5241,5244],{"className":5222},[407],[395,5224],{"className":5225,"style":412},[411],[395,5227,422],{"className":5228},[421],[395,5230,427],{"className":5231},[416,426],[395,5233,513],{"className":5234},[512],[395,5236],{"className":5237,"style":432},[431],[395,5239,5156],{"className":5240},[416],[395,5242,427],{"className":5243},[416,426],[395,5245,453],{"className":5246},[452],",\nwhich has",[395,5249,5251],{"className":5250},[3612],[395,5252,5254],{"className":5253},[398],[395,5255,5257,5337,5405,5495,5522,5621,5665,5683,5768],{"className":5256,"ariaHidden":403},[402],[395,5258,5260,5264,5267,5270,5325,5328,5331,5334],{"className":5259},[407],[395,5261],{"className":5262,"style":5263},[411],"height:1.1141em;vertical-align:-0.25em;",[395,5265,4934],{"className":5266},[416,4933],[395,5268,1370],{"className":5269},[421],[395,5271,5273,5276],{"className":5272},[416],[395,5274,427],{"className":5275},[416,426],[395,5277,5279],{"className":5278},[2526],[395,5280,5282,5316],{"className":5281},[2530,3868],[395,5283,5285,5313],{"className":5284},[2534],[395,5286,5289,5301],{"className":5287,"style":5288},[2538],"height:0.8641em;",[395,5290,5292,5295],{"style":5291},"top:-2.453em;margin-left:0em;margin-right:0.05em;",[395,5293],{"className":5294,"style":2546},[2545],[395,5296,5298],{"className":5297},[2550,2551,2552,2553],[395,5299,2686],{"className":5300},[416,426,2553],[395,5302,5304,5307],{"style":5303},"top:-3.113em;margin-right:0.05em;",[395,5305],{"className":5306,"style":2546},[2545],[395,5308,5310],{"className":5309},[2550,2551,2552,2553],[395,5311,1247],{"className":5312},[416,2553],[395,5314,3892],{"className":5315},[3891],[395,5317,5319],{"className":5318},[2534],[395,5320,5323],{"className":5321,"style":5322},[2538],"height:0.247em;",[395,5324],{},[395,5326,1377],{"className":5327},[452],[395,5329],{"className":5330,"style":593},[431],[395,5332,1230],{"className":5333},[588],[395,5335],{"className":5336,"style":593},[431],[395,5338,5340,5343,5350,5353,5393,5396,5399,5402],{"className":5339},[407],[395,5341],{"className":5342,"style":412},[411],[395,5344,5346],{"className":5345},[436],[395,5347,5349],{"className":5348},[416,440],"Var",[395,5351,422],{"className":5352},[421],[395,5354,5356,5359],{"className":5355},[416],[395,5357,427],{"className":5358},[416,426],[395,5360,5362],{"className":5361},[2526],[395,5363,5365,5385],{"className":5364},[2530,3868],[395,5366,5368,5382],{"className":5367},[2534],[395,5369,5371],{"className":5370,"style":4715},[2538],[395,5372,5373,5376],{"style":4718},[395,5374],{"className":5375,"style":2546},[2545],[395,5377,5379],{"className":5378},[2550,2551,2552,2553],[395,5380,2686],{"className":5381},[416,426,2553],[395,5383,3892],{"className":5384},[3891],[395,5386,5388],{"className":5387},[2534],[395,5389,5391],{"className":5390,"style":4737},[2538],[395,5392],{},[395,5394,453],{"className":5395},[452],[395,5397],{"className":5398,"style":2324},[431],[395,5400,2329],{"className":5401},[2328],[395,5403],{"className":5404,"style":2324},[431],[395,5406,5408,5411,5414,5417,5457,5486,5489,5492],{"className":5407},[407],[395,5409],{"className":5410,"style":5263},[411],[395,5412,4934],{"className":5413},[416,4933],[395,5415,1370],{"className":5416},[421],[395,5418,5420,5423],{"className":5419},[416],[395,5421,427],{"className":5422},[416,426],[395,5424,5426],{"className":5425},[2526],[395,5427,5429,5449],{"className":5428},[2530,3868],[395,5430,5432,5446],{"className":5431},[2534],[395,5433,5435],{"className":5434,"style":4715},[2538],[395,5436,5437,5440],{"style":4718},[395,5438],{"className":5439,"style":2546},[2545],[395,5441,5443],{"className":5442},[2550,2551,2552,2553],[395,5444,2686],{"className":5445},[416,426,2553],[395,5447,3892],{"className":5448},[3891],[395,5450,5452],{"className":5451},[2534],[395,5453,5455],{"className":5454,"style":4737},[2538],[395,5456],{},[395,5458,5460,5463],{"className":5459},[452],[395,5461,1377],{"className":5462},[452],[395,5464,5466],{"className":5465},[2526],[395,5467,5469],{"className":5468},[2530],[395,5470,5472],{"className":5471},[2534],[395,5473,5475],{"className":5474,"style":5288},[2538],[395,5476,5477,5480],{"style":5303},[395,5478],{"className":5479,"style":2546},[2545],[395,5481,5483],{"className":5482},[2550,2551,2552,2553],[395,5484,1247],{"className":5485},[416,2553],[395,5487],{"className":5488,"style":593},[431],[395,5490,1230],{"className":5491},[588],[395,5493],{"className":5494,"style":593},[431],[395,5496,5498,5502,5509,5512,5515,5519],{"className":5497},[407],[395,5499],{"className":5500,"style":5501},[411],"height:1.8em;vertical-align:-0.65em;",[395,5503,5505],{"className":5504},[421],[395,5506,422],{"className":5507},[3635,5508],"size2",[395,5510,473],{"className":5511},[416],[395,5513],{"className":5514,"style":2324},[431],[395,5516,5518],{"className":5517},[2328],"−",[395,5520],{"className":5521,"style":2324},[431],[395,5523,5525,5528,5606,5612,5615,5618],{"className":5524},[407],[395,5526],{"className":5527,"style":5501},[411],[395,5529,5531,5535,5603],{"className":5530},[416],[395,5532],{"className":5533},[421,5534],"nulldelimiter",[395,5536,5539],{"className":5537},[5538],"mfrac",[395,5540,5542,5594],{"className":5541},[2530,3868],[395,5543,5545,5591],{"className":5544},[2534],[395,5546,5549,5565,5576],{"className":5547,"style":5548},[2538],"height:0.8451em;",[395,5550,5552,5556],{"style":5551},"top:-2.655em;",[395,5553],{"className":5554,"style":5555},[2545],"height:3em;",[395,5557,5559],{"className":5558},[2550,2551,2552,2553],[395,5560,5562],{"className":5561},[416,2553],[395,5563,427],{"className":5564},[416,426,2553],[395,5566,5568,5571],{"style":5567},"top:-3.23em;",[395,5569],{"className":5570,"style":5555},[2545],[395,5572],{"className":5573,"style":5575},[5574],"frac-line","border-bottom-width:0.04em;",[395,5577,5579,5582],{"style":5578},"top:-3.394em;",[395,5580],{"className":5581,"style":5555},[2545],[395,5583,5585],{"className":5584},[2550,2551,2552,2553],[395,5586,5588],{"className":5587},[416,2553],[395,5589,473],{"className":5590},[416,2553],[395,5592,3892],{"className":5593},[3891],[395,5595,5597],{"className":5596},[2534],[395,5598,5601],{"className":5599,"style":5600},[2538],"height:0.345em;",[395,5602],{},[395,5604],{"className":5605},[452,5534],[395,5607,5609],{"className":5608},[452],[395,5610,453],{"className":5611},[3635,5508],[395,5613],{"className":5614,"style":2324},[431],[395,5616,2329],{"className":5617},[2328],[395,5619],{"className":5620,"style":2324},[431],[395,5622,5624,5627,5656,5659,5662],{"className":5623},[407],[395,5625],{"className":5626,"style":5288},[411],[395,5628,5630,5633],{"className":5629},[416],[395,5631,473],{"className":5632},[416],[395,5634,5636],{"className":5635},[2526],[395,5637,5639],{"className":5638},[2530],[395,5640,5642],{"className":5641},[2534],[395,5643,5645],{"className":5644,"style":5288},[2538],[395,5646,5647,5650],{"style":5303},[395,5648],{"className":5649,"style":2546},[2545],[395,5651,5653],{"className":5652},[2550,2551,2552,2553],[395,5654,1247],{"className":5655},[416,2553],[395,5657],{"className":5658,"style":593},[431],[395,5660,1230],{"className":5661},[588],[395,5663],{"className":5664,"style":593},[431],[395,5666,5668,5671,5674,5677,5680],{"className":5667},[407],[395,5669],{"className":5670,"style":2492},[411],[395,5672,1247],{"className":5673},[416],[395,5675],{"className":5676,"style":2324},[431],[395,5678,5518],{"className":5679},[2328],[395,5681],{"className":5682,"style":2324},[431],[395,5684,5686,5690,5758,5761,5765],{"className":5685},[407],[395,5687],{"className":5688,"style":5689},[411],"height:1.1901em;vertical-align:-0.345em;",[395,5691,5693,5696,5755],{"className":5692},[416],[395,5694],{"className":5695},[421,5534],[395,5697,5699],{"className":5698},[5538],[395,5700,5702,5747],{"className":5701},[2530,3868],[395,5703,5705,5744],{"className":5704},[2534],[395,5706,5708,5722,5730],{"className":5707,"style":5548},[2538],[395,5709,5710,5713],{"style":5551},[395,5711],{"className":5712,"style":5555},[2545],[395,5714,5716],{"className":5715},[2550,2551,2552,2553],[395,5717,5719],{"className":5718},[416,2553],[395,5720,427],{"className":5721},[416,426,2553],[395,5723,5724,5727],{"style":5567},[395,5725],{"className":5726,"style":5555},[2545],[395,5728],{"className":5729,"style":5575},[5574],[395,5731,5732,5735],{"style":5578},[395,5733],{"className":5734,"style":5555},[2545],[395,5736,5738],{"className":5737},[2550,2551,2552,2553],[395,5739,5741],{"className":5740},[416,2553],[395,5742,473],{"className":5743},[416,2553],[395,5745,3892],{"className":5746},[3891],[395,5748,5750],{"className":5749},[2534],[395,5751,5753],{"className":5752,"style":5600},[2538],[395,5754],{},[395,5756],{"className":5757},[452,5534],[395,5759],{"className":5760,"style":593},[431],[395,5762,5764],{"className":5763},[588],"\u003C",[395,5766],{"className":5767,"style":593},[431],[395,5769,5771,5774],{"className":5770},[407],[395,5772],{"className":5773,"style":744},[411],[395,5775,5777],{"className":5776},[416],"2.",[381,5779,5780,5781,5796,5797,5945],{},"Summing over the ",[395,5782,5784],{"className":5783},[398],[395,5785,5787],{"className":5786,"ariaHidden":403},[402],[395,5788,5790,5793],{"className":5789},[407],[395,5791],{"className":5792,"style":565},[411],[395,5794,427],{"className":5795},[416,426]," buckets gives ",[395,5798,5800],{"className":5799},[398],[395,5801,5803,5927],{"className":5802,"ariaHidden":403},[402],[395,5804,5806,5809,5849,5852,5855,5858,5861,5864,5915,5918,5921,5924],{"className":5805},[407],[395,5807],{"className":5808,"style":4879},[411],[395,5810,5812,5815],{"className":5811},[436],[395,5813,4889],{"className":5814,"style":4888},[436,4886,4887],[395,5816,5818],{"className":5817},[2526],[395,5819,5821,5841],{"className":5820},[2530,3868],[395,5822,5824,5838],{"className":5823},[2534],[395,5825,5827],{"className":5826,"style":4902},[2538],[395,5828,5829,5832],{"style":4905},[395,5830],{"className":5831,"style":2546},[2545],[395,5833,5835],{"className":5834},[2550,2551,2552,2553],[395,5836,2686],{"className":5837},[416,426,2553],[395,5839,3892],{"className":5840},[3891],[395,5842,5844],{"className":5843},[2534],[395,5845,5847],{"className":5846,"style":4924},[2538],[395,5848],{},[395,5850],{"className":5851,"style":432},[431],[395,5853,2381],{"className":5854,"style":2380},[416,426],[395,5856,422],{"className":5857},[421],[395,5859,4934],{"className":5860},[416,4933],[395,5862,1370],{"className":5863},[421],[395,5865,5867,5870],{"className":5866},[416],[395,5868,427],{"className":5869},[416,426],[395,5871,5873],{"className":5872},[2526],[395,5874,5876,5907],{"className":5875},[2530,3868],[395,5877,5879,5904],{"className":5878},[2534],[395,5880,5882,5893],{"className":5881,"style":2513},[2538],[395,5883,5884,5887],{"style":4830},[395,5885],{"className":5886,"style":2546},[2545],[395,5888,5890],{"className":5889},[2550,2551,2552,2553],[395,5891,2686],{"className":5892},[416,426,2553],[395,5894,5895,5898],{"style":2541},[395,5896],{"className":5897,"style":2546},[2545],[395,5899,5901],{"className":5900},[2550,2551,2552,2553],[395,5902,1247],{"className":5903},[416,2553],[395,5905,3892],{"className":5906},[3891],[395,5908,5910],{"className":5909},[2534],[395,5911,5913],{"className":5912,"style":4860},[2538],[395,5914],{},[395,5916,5123],{"className":5917},[452],[395,5919],{"className":5920,"style":593},[431],[395,5922,1230],{"className":5923},[588],[395,5925],{"className":5926,"style":593},[431],[395,5928,5930,5933,5936,5939,5942],{"className":5929},[407],[395,5931],{"className":5932,"style":412},[411],[395,5934,2381],{"className":5935,"style":2380},[416,426],[395,5937,422],{"className":5938},[421],[395,5940,427],{"className":5941},[416,426],[395,5943,453],{"className":5944},[452],", so the\ntotal expected running time is",[395,5947,5949],{"className":5948},[3612],[395,5950,5952],{"className":5951},[398],[395,5953,5955,5982,6002,6029],{"className":5954,"ariaHidden":403},[402],[395,5956,5958,5961,5964,5967,5970,5973,5976,5979],{"className":5957},[407],[395,5959],{"className":5960,"style":412},[411],[395,5962,2213],{"className":5963},[416],[395,5965,422],{"className":5966},[421],[395,5968,427],{"className":5969},[416,426],[395,5971,453],{"className":5972},[452],[395,5974],{"className":5975,"style":2324},[431],[395,5977,2329],{"className":5978},[2328],[395,5980],{"className":5981,"style":2324},[431],[395,5983,5985,5989,5992,5995,5999],{"className":5984},[407],[395,5986],{"className":5987,"style":5988},[411],"height:0.4445em;",[395,5990,427],{"className":5991},[416,426],[395,5993],{"className":5994,"style":2324},[431],[395,5996,5998],{"className":5997},[2328],"⋅",[395,6000],{"className":6001,"style":2324},[431],[395,6003,6005,6008,6011,6014,6017,6020,6023,6026],{"className":6004},[407],[395,6006],{"className":6007,"style":412},[411],[395,6009,2381],{"className":6010,"style":2380},[416,426],[395,6012,422],{"className":6013},[421],[395,6015,473],{"className":6016},[416],[395,6018,453],{"className":6019},[452],[395,6021],{"className":6022,"style":593},[431],[395,6024,1230],{"className":6025},[588],[395,6027],{"className":6028,"style":593},[431],[395,6030,6032,6035,6038,6041,6044,6047],{"className":6031},[407],[395,6033],{"className":6034,"style":412},[411],[395,6036,2213],{"className":6037},[416],[395,6039,422],{"className":6040},[421],[395,6042,427],{"className":6043},[416,426],[395,6045,453],{"className":6046},[452],[395,6048,463],{"className":6049},[416],[381,6051,6052,6053,6056,6057,6108],{},"This is an ",[460,6054,6055],{},"average-case"," result: it assumes the inputs are uniformly\ndistributed. Adversarial input, with every key landing in the same bucket,\ndegrades bucket sort to the ",[395,6058,6060],{"className":6059},[398],[395,6061,6063],{"className":6062,"ariaHidden":403},[402],[395,6064,6066,6070,6073,6076,6105],{"className":6065},[407],[395,6067],{"className":6068,"style":6069},[411],"height:1.0641em;vertical-align:-0.25em;",[395,6071,2213],{"className":6072},[416],[395,6074,422],{"className":6075},[421],[395,6077,6079,6082],{"className":6078},[416],[395,6080,427],{"className":6081},[416,426],[395,6083,6085],{"className":6084},[2526],[395,6086,6088],{"className":6087},[2530],[395,6089,6091],{"className":6090},[2534],[395,6092,6094],{"className":6093,"style":2513},[2538],[395,6095,6096,6099],{"style":2541},[395,6097],{"className":6098,"style":2546},[2545],[395,6100,6102],{"className":6101},[2550,2551,2552,2553],[395,6103,1247],{"className":6104},[416,2553],[395,6106,453],{"className":6107},[452]," of a single insertion sort. Bucket sort\nis the right tool when you know your data is spread evenly (or can cheaply map it\nso), as with fractional parts of well-mixed values.",[476,6110,6112],{"id":6111},"choosing-among-them","Choosing among them",[381,6114,6115,6116,6119,6120,6123,6124],{},"None of these linear-time sorts is a drop-in replacement for a comparison sort\nlike ",[385,6117,6118],{"href":34},"mergesort"," or\n",[385,6121,6122],{"href":56},"heapsort",". Each rests on a structural\nassumption about the keys, so the choice comes down to matching the algorithm to\nwhat you know about your data.",[465,6125,6126],{},[385,6127,1257],{"href":6128,"ariaDescribedBy":6129,"dataFootnoteRef":376,"id":6130},"#user-content-fn-skiena-sort",[471],"user-content-fnref-skiena-sort",[6132,6133,6134,6156],"table",{},[6135,6136,6137],"thead",{},[6138,6139,6140,6144,6147,6150,6153],"tr",{},[6141,6142,6143],"th",{},"Algorithm",[6141,6145,6146],{},"Assumption on keys",[6141,6148,6149],{},"Time",[6141,6151,6152],{},"Stable?",[6141,6154,6155],{},"Extra space",[6157,6158,6159,6290,6411],"tbody",{},[6138,6160,6161,6166,6199,6243,6246],{},[6162,6163,6164],"td",{},[460,6165,479],{},[6162,6167,6168,6169],{},"integers in a small range ",[395,6170,6172],{"className":6171},[398],[395,6173,6175],{"className":6174,"ariaHidden":403},[402],[395,6176,6178,6181,6184,6187,6190,6193,6196],{"className":6177},[407],[395,6179],{"className":6180,"style":412},[411],[395,6182,1370],{"className":6183},[421],[395,6185,508],{"className":6186},[416],[395,6188,513],{"className":6189},[512],[395,6191],{"className":6192,"style":432},[431],[395,6194,543],{"className":6195,"style":542},[416,426],[395,6197,1377],{"className":6198},[452],[6162,6200,6201],{},[395,6202,6204],{"className":6203},[398],[395,6205,6207,6231],{"className":6206,"ariaHidden":403},[402],[395,6208,6210,6213,6216,6219,6222,6225,6228],{"className":6209},[407],[395,6211],{"className":6212,"style":412},[411],[395,6214,2213],{"className":6215},[416],[395,6217,422],{"className":6218},[421],[395,6220,427],{"className":6221},[416,426],[395,6223],{"className":6224,"style":2324},[431],[395,6226,2329],{"className":6227},[2328],[395,6229],{"className":6230,"style":2324},[431],[395,6232,6234,6237,6240],{"className":6233},[407],[395,6235],{"className":6236,"style":412},[411],[395,6238,543],{"className":6239,"style":542},[416,426],[395,6241,453],{"className":6242},[452],[6162,6244,6245],{},"yes",[6162,6247,6248],{},[395,6249,6251],{"className":6250},[398],[395,6252,6254,6278],{"className":6253,"ariaHidden":403},[402],[395,6255,6257,6260,6263,6266,6269,6272,6275],{"className":6256},[407],[395,6258],{"className":6259,"style":412},[411],[395,6261,2213],{"className":6262},[416],[395,6264,422],{"className":6265},[421],[395,6267,427],{"className":6268},[416,426],[395,6270],{"className":6271,"style":2324},[431],[395,6273,2329],{"className":6274},[2328],[395,6276],{"className":6277,"style":2324},[431],[395,6279,6281,6284,6287],{"className":6280},[407],[395,6282],{"className":6283,"style":412},[411],[395,6285,543],{"className":6286,"style":542},[416,426],[395,6288,453],{"className":6289},[452],[6138,6291,6292,6296,6314,6365,6367],{},[6162,6293,6294],{},[460,6295,2594],{},[6162,6297,6298,6313],{},[395,6299,6301],{"className":6300},[398],[395,6302,6304],{"className":6303,"ariaHidden":403},[402],[395,6305,6307,6310],{"className":6306},[407],[395,6308],{"className":6309,"style":2358},[411],[395,6311,2613],{"className":6312},[416,426]," digits, each in a small range",[6162,6315,6316],{},[395,6317,6319],{"className":6318},[398],[395,6320,6322,6352],{"className":6321,"ariaHidden":403},[402],[395,6323,6325,6328,6331,6334,6337,6340,6343,6346,6349],{"className":6324},[407],[395,6326],{"className":6327,"style":412},[411],[395,6329,2213],{"className":6330},[416],[395,6332,422],{"className":6333},[421],[395,6335,2613],{"className":6336},[416,426],[395,6338,422],{"className":6339},[421],[395,6341,427],{"className":6342},[416,426],[395,6344],{"className":6345,"style":2324},[431],[395,6347,2329],{"className":6348},[2328],[395,6350],{"className":6351,"style":2324},[431],[395,6353,6355,6358,6361],{"className":6354},[407],[395,6356],{"className":6357,"style":412},[411],[395,6359,543],{"className":6360,"style":542},[416,426],[395,6362,6364],{"className":6363},[452],"))",[6162,6366,6245],{},[6162,6368,6369],{},[395,6370,6372],{"className":6371},[398],[395,6373,6375,6399],{"className":6374,"ariaHidden":403},[402],[395,6376,6378,6381,6384,6387,6390,6393,6396],{"className":6377},[407],[395,6379],{"className":6380,"style":412},[411],[395,6382,2213],{"className":6383},[416],[395,6385,422],{"className":6386},[421],[395,6388,427],{"className":6389},[416,426],[395,6391],{"className":6392,"style":2324},[431],[395,6394,2329],{"className":6395},[2328],[395,6397],{"className":6398,"style":2324},[431],[395,6400,6402,6405,6408],{"className":6401},[407],[395,6403],{"className":6404,"style":412},[411],[395,6406,543],{"className":6407,"style":542},[416,426],[395,6409,453],{"className":6410},[452],[6138,6412,6413,6417,6420,6447,6449],{},[6162,6414,6415],{},[460,6416,4035],{},[6162,6418,6419],{},"reals spread uniformly over an interval",[6162,6421,6422,6446],{},[395,6423,6425],{"className":6424},[398],[395,6426,6428],{"className":6427,"ariaHidden":403},[402],[395,6429,6431,6434,6437,6440,6443],{"className":6430},[407],[395,6432],{"className":6433,"style":412},[411],[395,6435,2213],{"className":6436},[416],[395,6438,422],{"className":6439},[421],[395,6441,427],{"className":6442},[416,426],[395,6444,453],{"className":6445},[452]," expected",[6162,6448,6245],{},[6162,6450,6451],{},[395,6452,6454],{"className":6453},[398],[395,6455,6457],{"className":6456,"ariaHidden":403},[402],[395,6458,6460,6463,6466,6469,6472],{"className":6459},[407],[395,6461],{"className":6462,"style":412},[411],[395,6464,2213],{"className":6465},[416],[395,6467,422],{"className":6468},[421],[395,6470,427],{"className":6471},[416,426],[395,6473,453],{"className":6474},[452],[381,6476,6477],{},"Practical guidance:",[6479,6480,6481,6509,6548],"ul",{},[6482,6483,6484,6485,6488,6489,6504,6505,6508],"li",{},"Reach for ",[460,6486,6487],{},"counting sort"," when keys are integers over a range comparable to\n",[395,6490,6492],{"className":6491},[398],[395,6493,6495],{"className":6494,"ariaHidden":403},[402],[395,6496,6498,6501],{"className":6497},[407],[395,6499],{"className":6500,"style":565},[411],[395,6502,427],{"className":6503},[416,426]," (grades, small ages, byte values). It is also the standard stable subsort\n",[390,6506,6507],{},"inside"," radix sort.",[6482,6510,6484,6511,6514,6515,6530,6531,6547],{},[460,6512,6513],{},"radix sort"," for fixed-width keys with a larger range, such as\n",[395,6516,6518],{"className":6517},[398],[395,6519,6521],{"className":6520,"ariaHidden":403},[402],[395,6522,6524,6527],{"className":6523},[407],[395,6525],{"className":6526,"style":744},[411],[395,6528,2459],{"className":6529},[416],"- or ",[395,6532,6534],{"className":6533},[398],[395,6535,6537],{"className":6536,"ariaHidden":403},[402],[395,6538,6540,6543],{"className":6539},[407],[395,6541],{"className":6542,"style":744},[411],[395,6544,6546],{"className":6545},[416],"64","-bit integers or fixed-length strings, where a single counting\npass would need an impossibly large count array.",[6482,6549,6484,6550,6553,6554,6557],{},[460,6551,6552],{},"bucket sort"," when keys are real numbers you believe are uniformly\n(or near-uniformly) distributed, and you want linear ",[390,6555,6556],{},"expected"," time.",[381,6559,6560,6561,6600,6601,6604,6605,6722,6723,6726,6727,6758],{},"And remember the boundary: these methods beat ",[395,6562,6564],{"className":6563},[398],[395,6565,6567],{"className":6566,"ariaHidden":403},[402],[395,6568,6570,6573,6576,6579,6582,6585,6591,6594,6597],{"className":6569},[407],[395,6571],{"className":6572,"style":412},[411],[395,6574,417],{"className":6575},[416],[395,6577,422],{"className":6578},[421],[395,6580,427],{"className":6581},[416,426],[395,6583],{"className":6584,"style":432},[431],[395,6586,6588],{"className":6587},[436],[395,6589,442],{"className":6590,"style":441},[416,440],[395,6592],{"className":6593,"style":432},[431],[395,6595,427],{"className":6596},[416,426],[395,6598,453],{"className":6599},[452]," precisely because\nthey are ",[460,6602,6603],{},"not"," comparison sorts. They never ask ",[6606,6607,6608,6609,6721],"q",{},"is ",[395,6610,6612],{"className":6611},[398],[395,6613,6615,6671],{"className":6614,"ariaHidden":403},[402],[395,6616,6618,6622,6662,6665,6668],{"className":6617},[407],[395,6619],{"className":6620,"style":6621},[411],"height:0.6891em;vertical-align:-0.15em;",[395,6623,6625,6628],{"className":6624},[416],[395,6626,385],{"className":6627},[416,426],[395,6629,6631],{"className":6630},[2526],[395,6632,6634,6654],{"className":6633},[2530,3868],[395,6635,6637,6651],{"className":6636},[2534],[395,6638,6640],{"className":6639,"style":4715},[2538],[395,6641,6642,6645],{"style":4718},[395,6643],{"className":6644,"style":2546},[2545],[395,6646,6648],{"className":6647},[2550,2551,2552,2553],[395,6649,2686],{"className":6650},[416,426,2553],[395,6652,3892],{"className":6653},[3891],[395,6655,6657],{"className":6656},[2534],[395,6658,6660],{"className":6659,"style":4737},[2538],[395,6661],{},[395,6663],{"className":6664,"style":593},[431],[395,6666,5764],{"className":6667},[588],[395,6669],{"className":6670,"style":593},[431],[395,6672,6674,6678],{"className":6673},[407],[395,6675],{"className":6676,"style":6677},[411],"height:0.7167em;vertical-align:-0.2861em;",[395,6679,6681,6684],{"className":6680},[416],[395,6682,385],{"className":6683},[416,426],[395,6685,6687],{"className":6686},[2526],[395,6688,6690,6712],{"className":6689},[2530,3868],[395,6691,6693,6709],{"className":6692},[2534],[395,6694,6696],{"className":6695,"style":4715},[2538],[395,6697,6698,6701],{"style":4718},[395,6699],{"className":6700,"style":2546},[2545],[395,6702,6704],{"className":6703},[2550,2551,2552,2553],[395,6705,6708],{"className":6706,"style":6707},[416,426,2553],"margin-right:0.0572em;","j",[395,6710,3892],{"className":6711},[3891],[395,6713,6715],{"className":6714},[2534],[395,6716,6719],{"className":6717,"style":6718},[2538],"height:0.2861em;",[395,6720],{},"?","; they\n",[390,6724,6725],{},"compute"," with the keys. Hand any of them arbitrary comparable objects with no\nexploitable integer or distributional structure, and the linear-time guarantee is\ngone, leaving you back at a comparison sort and its ",[395,6728,6730],{"className":6729},[398],[395,6731,6733],{"className":6732,"ariaHidden":403},[402],[395,6734,6736,6740,6743,6746,6752,6755],{"className":6735},[407],[395,6737],{"className":6738,"style":6739},[411],"height:0.8889em;vertical-align:-0.1944em;",[395,6741,427],{"className":6742},[416,426],[395,6744],{"className":6745,"style":432},[431],[395,6747,6749],{"className":6748},[436],[395,6750,442],{"className":6751,"style":441},[416,440],[395,6753],{"className":6754,"style":432},[431],[395,6756,427],{"className":6757},[416,426]," floor.",[476,6760,6762],{"id":6761},"takeaways","Takeaways",[6479,6764,6765,6811,6921,6978,7075],{},[6482,6766,383,6767,6806,6807,6810],{},[395,6768,6770],{"className":6769},[398],[395,6771,6773],{"className":6772,"ariaHidden":403},[402],[395,6774,6776,6779,6782,6785,6788,6791,6797,6800,6803],{"className":6775},[407],[395,6777],{"className":6778,"style":412},[411],[395,6780,417],{"className":6781},[416],[395,6783,422],{"className":6784},[421],[395,6786,427],{"className":6787},[416,426],[395,6789],{"className":6790,"style":432},[431],[395,6792,6794],{"className":6793},[436],[395,6795,442],{"className":6796,"style":441},[416,440],[395,6798],{"className":6799,"style":432},[431],[395,6801,427],{"className":6802},[416,426],[395,6804,453],{"className":6805},[452]," bound binds only ",[460,6808,6809],{},"comparison sorts","; using keys as\narray indices or digit sequences sidesteps it entirely.",[6482,6812,6813,6815,6816,6858,6859,6861,6862,6904,6905,6920],{},[460,6814,479],{}," ranks keys by prefix-summing their counts: ",[395,6817,6819],{"className":6818},[398],[395,6820,6822,6846],{"className":6821,"ariaHidden":403},[402],[395,6823,6825,6828,6831,6834,6837,6840,6843],{"className":6824},[407],[395,6826],{"className":6827,"style":412},[411],[395,6829,2213],{"className":6830},[416],[395,6832,422],{"className":6833},[421],[395,6835,427],{"className":6836},[416,426],[395,6838],{"className":6839,"style":2324},[431],[395,6841,2329],{"className":6842},[2328],[395,6844],{"className":6845,"style":2324},[431],[395,6847,6849,6852,6855],{"className":6848},[407],[395,6850],{"className":6851,"style":412},[411],[395,6853,543],{"className":6854,"style":542},[416,426],[395,6856,453],{"className":6857},[452],",\n",[460,6860,751],{},", linear when ",[395,6863,6865],{"className":6864},[398],[395,6866,6868,6886],{"className":6867,"ariaHidden":403},[402],[395,6869,6871,6874,6877,6880,6883],{"className":6870},[407],[395,6872],{"className":6873,"style":2358},[411],[395,6875,543],{"className":6876,"style":542},[416,426],[395,6878],{"className":6879,"style":593},[431],[395,6881,1230],{"className":6882},[588],[395,6884],{"className":6885,"style":593},[431],[395,6887,6889,6892,6895,6898,6901],{"className":6888},[407],[395,6890],{"className":6891,"style":412},[411],[395,6893,2381],{"className":6894,"style":2380},[416,426],[395,6896,422],{"className":6897},[421],[395,6899,427],{"className":6900},[416,426],[395,6902,453],{"className":6903},[452]," but ruinous when ",[395,6906,6908],{"className":6907},[398],[395,6909,6911],{"className":6910,"ariaHidden":403},[402],[395,6912,6914,6917],{"className":6913},[407],[395,6915],{"className":6916,"style":2358},[411],[395,6918,543],{"className":6919,"style":542},[416,426]," is large.",[6482,6922,6923,6925,6926,6929,6930,463],{},[460,6924,2594],{}," stably sorts digit by digit, ",[460,6927,6928],{},"least significant first",";\nstability is what preserves earlier passes, giving ",[395,6931,6933],{"className":6932},[398],[395,6934,6936,6966],{"className":6935,"ariaHidden":403},[402],[395,6937,6939,6942,6945,6948,6951,6954,6957,6960,6963],{"className":6938},[407],[395,6940],{"className":6941,"style":412},[411],[395,6943,2213],{"className":6944},[416],[395,6946,422],{"className":6947},[421],[395,6949,2613],{"className":6950},[416,426],[395,6952,422],{"className":6953},[421],[395,6955,427],{"className":6956},[416,426],[395,6958],{"className":6959,"style":2324},[431],[395,6961,2329],{"className":6962},[2328],[395,6964],{"className":6965,"style":2324},[431],[395,6967,6969,6972,6975],{"className":6968},[407],[395,6970],{"className":6971,"style":412},[411],[395,6973,543],{"className":6974,"style":542},[416,426],[395,6976,6364],{"className":6977},[452],[6482,6979,6980,6982,6983,6998,6999,7023,7024,7074],{},[460,6981,4035],{}," scatters uniform keys into ",[395,6984,6986],{"className":6985},[398],[395,6987,6989],{"className":6988,"ariaHidden":403},[402],[395,6990,6992,6995],{"className":6991},[407],[395,6993],{"className":6994,"style":565},[411],[395,6996,427],{"className":6997},[416,426]," buckets and sorts each;\nexpected ",[395,7000,7002],{"className":7001},[398],[395,7003,7005],{"className":7004,"ariaHidden":403},[402],[395,7006,7008,7011,7014,7017,7020],{"className":7007},[407],[395,7009],{"className":7010,"style":412},[411],[395,7012,2213],{"className":7013},[416],[395,7015,422],{"className":7016},[421],[395,7018,427],{"className":7019},[416,426],[395,7021,453],{"className":7022},[452],", but ",[395,7025,7027],{"className":7026},[398],[395,7028,7030],{"className":7029,"ariaHidden":403},[402],[395,7031,7033,7036,7039,7042,7071],{"className":7032},[407],[395,7034],{"className":7035,"style":6069},[411],[395,7037,2213],{"className":7038},[416],[395,7040,422],{"className":7041},[421],[395,7043,7045,7048],{"className":7044},[416],[395,7046,427],{"className":7047},[416,426],[395,7049,7051],{"className":7050},[2526],[395,7052,7054],{"className":7053},[2530],[395,7055,7057],{"className":7056},[2534],[395,7058,7060],{"className":7059,"style":2513},[2538],[395,7061,7062,7065],{"style":2541},[395,7063],{"className":7064,"style":2546},[2545],[395,7066,7068],{"className":7067},[2550,2551,2552,2553],[395,7069,1247],{"className":7070},[416,2553],[395,7072,453],{"className":7073},[452]," if the distribution is adversarial.",[6482,7076,7077,7078,7081],{},"Each linear sort trades generality for a ",[460,7079,7080],{},"structural assumption"," on the\nkeys, so choose by what you actually know about your data.",[7083,7084,7087,7092],"section",{"className":7085,"dataFootnotes":376},[7086],"footnotes",[476,7088,7091],{"className":7089,"id":471},[7090],"sr-only","Footnotes",[7093,7094,7095,7112,7209,7268,7320],"ol",{},[6482,7096,7098,2223,7101,7104,7105],{"id":7097},"user-content-fn-erickson-beyond",[460,7099,7100],{},"Erickson",[390,7102,7103],{},"Algorithms",", Ch. — Sorting Beyond Comparisons — treating keys as readable data sidesteps the decision-tree argument and permits linear-time sorting. ",[385,7106,7111],{"href":7107,"ariaLabel":7108,"className":7109,"dataFootnoteBackref":376},"#user-content-fnref-erickson-beyond","Back to reference 1",[7110],"data-footnote-backref","↩",[6482,7113,7115,7118,7119,7161,7162,548,7204],{"id":7114},"user-content-fn-clrs-counting",[460,7116,7117],{},"CLRS",", §8.2 — Counting Sort — counting sort runs in ",[395,7120,7122],{"className":7121},[398],[395,7123,7125,7149],{"className":7124,"ariaHidden":403},[402],[395,7126,7128,7131,7134,7137,7140,7143,7146],{"className":7127},[407],[395,7129],{"className":7130,"style":412},[411],[395,7132,2213],{"className":7133},[416],[395,7135,422],{"className":7136},[421],[395,7138,427],{"className":7139},[416,426],[395,7141],{"className":7142,"style":2324},[431],[395,7144,2329],{"className":7145},[2328],[395,7147],{"className":7148,"style":2324},[431],[395,7150,7152,7155,7158],{"className":7151},[407],[395,7153],{"className":7154,"style":412},[411],[395,7156,543],{"className":7157,"style":542},[416,426],[395,7159,453],{"className":7160},[452],", is stable, and is linear when ",[395,7163,7165],{"className":7164},[398],[395,7166,7168,7186],{"className":7167,"ariaHidden":403},[402],[395,7169,7171,7174,7177,7180,7183],{"className":7170},[407],[395,7172],{"className":7173,"style":2358},[411],[395,7175,543],{"className":7176,"style":542},[416,426],[395,7178],{"className":7179,"style":593},[431],[395,7181,1230],{"className":7182},[588],[395,7184],{"className":7185,"style":593},[431],[395,7187,7189,7192,7195,7198,7201],{"className":7188},[407],[395,7190],{"className":7191,"style":412},[411],[395,7193,2381],{"className":7194,"style":2380},[416,426],[395,7196,422],{"className":7197},[421],[395,7199,427],{"className":7200},[416,426],[395,7202,453],{"className":7203},[452],[385,7205,7111],{"href":7206,"ariaLabel":7207,"className":7208,"dataFootnoteBackref":376},"#user-content-fnref-clrs-counting","Back to reference 2",[7110],[6482,7210,7212,7214,7215,548,7263],{"id":7211},"user-content-fn-clrs-radix",[460,7213,7117],{},", §8.3 — Radix Sort — sorting least-significant digit first with a stable subsort yields a correct sort in ",[395,7216,7218],{"className":7217},[398],[395,7219,7221,7251],{"className":7220,"ariaHidden":403},[402],[395,7222,7224,7227,7230,7233,7236,7239,7242,7245,7248],{"className":7223},[407],[395,7225],{"className":7226,"style":412},[411],[395,7228,2213],{"className":7229},[416],[395,7231,422],{"className":7232},[421],[395,7234,2613],{"className":7235},[416,426],[395,7237,422],{"className":7238},[421],[395,7240,427],{"className":7241},[416,426],[395,7243],{"className":7244,"style":2324},[431],[395,7246,2329],{"className":7247},[2328],[395,7249],{"className":7250,"style":2324},[431],[395,7252,7254,7257,7260],{"className":7253},[407],[395,7255],{"className":7256,"style":412},[411],[395,7258,543],{"className":7259,"style":542},[416,426],[395,7261,6364],{"className":7262},[452],[385,7264,7111],{"href":7265,"ariaLabel":7266,"className":7267,"dataFootnoteBackref":376},"#user-content-fnref-clrs-radix","Back to reference 3",[7110],[6482,7269,7271,7273,7274,7289,7290,7314,7315],{"id":7270},"user-content-fn-clrs-bucket",[460,7272,7117],{},", §8.4 — Bucket Sort — scattering uniformly distributed keys into ",[395,7275,7277],{"className":7276},[398],[395,7278,7280],{"className":7279,"ariaHidden":403},[402],[395,7281,7283,7286],{"className":7282},[407],[395,7284],{"className":7285,"style":565},[411],[395,7287,427],{"className":7288},[416,426]," buckets gives expected ",[395,7291,7293],{"className":7292},[398],[395,7294,7296],{"className":7295,"ariaHidden":403},[402],[395,7297,7299,7302,7305,7308,7311],{"className":7298},[407],[395,7300],{"className":7301,"style":412},[411],[395,7303,2213],{"className":7304},[416],[395,7306,422],{"className":7307},[421],[395,7309,427],{"className":7310},[416,426],[395,7312,453],{"className":7313},[452]," running time. ",[385,7316,7111],{"href":7317,"ariaLabel":7318,"className":7319,"dataFootnoteBackref":376},"#user-content-fnref-clrs-bucket","Back to reference 4",[7110],[6482,7321,7323,2223,7326,7329,7330],{"id":7322},"user-content-fn-skiena-sort",[460,7324,7325],{},"Skiena",[390,7327,7328],{},"The Algorithm Design Manual",", §4 — Sorting and Searching — choosing the right sort by matching the algorithm to the structure of the keys. ",[385,7331,7111],{"href":7332,"ariaLabel":7333,"className":7334,"dataFootnoteBackref":376},"#user-content-fnref-skiena-sort","Back to reference 5",[7110],[7336,7337,7338],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}html.dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}",{"title":376,"searchDepth":18,"depth":18,"links":7340},[7341,7342,7343,7344,7345,7346],{"id":478,"depth":18,"text":479},{"id":2593,"depth":18,"text":2594},{"id":4034,"depth":18,"text":4035},{"id":6111,"depth":18,"text":6112},{"id":6761,"depth":18,"text":6762},{"id":471,"depth":18,"text":7091},"The previous lesson proved a wall:\nany sort that learns only by comparing elements needs Ω(nlogn)\ncomparisons. That proof has one weakness, and it is our opening here. It assumes\nthe algorithm extracts information one comparison at a time. If instead we treat\nkeys as data we can read, using a key directly as an array index or peeling it\napart digit by digit, the decision-tree argument never gets off the ground, and\nwe can sort in linear time.1 The price is a loss of\ngenerality: these algorithms need keys drawn from a small or structured universe,\nnot arbitrary comparables.","md",{"moduleNumber":24,"lessonNumber":24,"order":7350},303,true,[7353,7357,7361,7364],{"title":7354,"slug":7355,"difficulty":7356},"Relative Sort Array","relative-sort-array","Easy",{"title":7358,"slug":7359,"difficulty":7360},"Sort Colors","sort-colors","Medium",{"title":7362,"slug":7363,"difficulty":7360},"H-Index","h-index",{"title":7365,"slug":7366,"difficulty":7367},"Maximum Gap","maximum-gap","Hard","---\ntitle: Sorting in Linear Time\nmodule: Sorting & Order Statistics\nmoduleNumber: 3\nlessonNumber: 3\norder: 303\nsummary: >-\n  The $\\Omega(n\\log n)$ barrier only binds algorithms that compare. By instead\n  using keys as array indices we slip past it: counting sort runs in\n  $\\Theta(n+k)$ and is stable, radix sort layers it digit by digit, and bucket\n  sort averages $\\Theta(n)$ on uniform data. We see exactly when each applies.\ntopics: [Linear-Time Sorting]\nsources:\n  - book: CLRS\n    ref: \"§8.2–8.4 — Counting, Radix, and Bucket Sort\"\n  - book: Skiena\n    ref: \"§4 — Sorting and Searching\"\n  - book: Erickson\n    ref: \"Ch. — Sorting Beyond Comparisons\"\npractice:\n  - title: 'Relative Sort Array'\n    slug: relative-sort-array\n    difficulty: Easy\n  - title: 'Sort Colors'\n    slug: sort-colors\n    difficulty: Medium\n  - title: 'H-Index'\n    slug: h-index\n    difficulty: Medium\n  - title: 'Maximum Gap'\n    slug: maximum-gap\n    difficulty: Hard\n---\n\nThe [previous lesson](\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds) proved a wall:\nany sort that learns only by _comparing_ elements needs $\\Omega(n\\log n)$\ncomparisons. That proof has one weakness, and it is our opening here. It assumes\nthe algorithm extracts information one comparison at a time. If instead we treat\nkeys as _data we can read_, using a key directly as an array index or peeling it\napart digit by digit, the decision-tree argument never gets off the ground, and\nwe can sort in **linear time**.[^erickson-beyond] The price is a loss of\ngenerality: these algorithms need keys drawn from a small or structured universe,\nnot arbitrary comparables.\n\n## Counting sort\n\nSuppose every key is an integer in the range $\\set{0, 1, \\dots, k}$. **Counting\nsort** never compares two elements. Instead it counts, for each value $v$, how\nmany keys are $\\le v$; that count is exactly the final position of the last key\nequal to $v$. Reading the input back-to-front and decrementing as we place,\nwe drop each element straight into its sorted slot.\n\n```algorithm\ncaption: $\\textsc{Counting-Sort}(A, B, k)$ — sort $A[1..n]$ with keys in $[0, k]$ into $B$\nnumber: 1\nlet $C[0..k]$ be a new array\nfor $v \\gets 0$ to $k$ do\n  $C[v] \\gets 0$\nfor $j \\gets 1$ to $A.length$ do\n  $C[A[j]] \\gets C[A[j]] + 1$ \u002F\u002F C[v] = count of keys = v\nfor $v \\gets 1$ to $k$ do\n  $C[v] \\gets C[v] + C[v - 1]$ \u002F\u002F C[v] = count of keys $\\le v$\nfor $j \\gets A.length$ downto $1$ do\n  $B[C[A[j]]] \\gets A[j]$\n  $C[A[j]] \\gets C[A[j]] - 1$ \u002F\u002F next equal key goes before it\n```\n\nThe first count loop tallies occurrences; the prefix-sum loop turns counts into\n_ranks_ (how many keys land at or before each value); the final loop scatters\neach element into its slot in the output array $B$. Walking the input from\n$n$ down to $1$ is what makes the sort **stable**. Equal keys are emitted in\ntheir original relative order, because the _last_ such key claims the _highest_\nof the slots reserved for that value, and earlier ones fill in below it.\n\n$$\n% caption: Counting sort on $A=\\langle 2,5,3,0,2,3,0,3\\rangle$: tally counts, prefix-sum\n%          into ranks, then scatter into the output $B$.\n\\begin{tikzpicture}[cell\u002F.style={draw, minimum size=6.5mm, font=\\small, inner sep=0pt}, lbl\u002F.style={font=\\footnotesize, anchor=east}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[lbl] at (-0.35,3) {input $A$};\n  \\foreach \\v\u002F\\i in {2\u002F0,5\u002F1,3\u002F2,0\u002F3,2\u002F4,3\u002F5,0\u002F6,3\u002F7} \\node[cell] at (\\i*0.72,3) {\\v};\n  \\node[font=\\scriptsize,text=black!55] at (-0.95,1.85) {value};\n  \\foreach \\i in {0,...,5} \\node[font=\\scriptsize,text=black!55] at (\\i*0.72,1.85) {\\i};\n  \\node[lbl] at (-0.35,1.2) {counts};\n  \\foreach \\v\u002F\\i in {2\u002F0,0\u002F1,2\u002F2,3\u002F3,0\u002F4,1\u002F5} \\node[cell,fill=acc!10] at (\\i*0.72,1.2) {\\v};\n  \\node[lbl] at (-0.35,0.45) {prefix};\n  \\foreach \\v\u002F\\i in {2\u002F0,2\u002F1,4\u002F2,7\u002F3,7\u002F4,8\u002F5} \\node[cell,fill=acc!18] at (\\i*0.72,0.45) {\\v};\n  \\node[lbl] at (-0.35,-0.7) {output $B$};\n  \\foreach \\v\u002F\\i in {0\u002F0,0\u002F1,2\u002F2,2\u002F3,3\u002F4,3\u002F5,3\u002F6,5\u002F7} \\node[cell,fill=acc!15,draw=acc, thick] at (\\i*0.72,-0.7) {\\v};\n\\end{tikzpicture}\n$$\n\nZooming in on the scatter loop makes the mechanism, and the stability, concrete.\nReading $A$ from the back, the last key $A[8]=3$ looks up its rank $C[3]=7$ and\ndrops straight into $B[7]$; we then decrement $C[3]$ to $6$, so the _next_ $3$ we\nmeet (an earlier one in $A$) lands in $B[6]$, just before it, preserving input order.\n\n$$\n% caption: One step of the scatter loop. The last key $A[8]=3$ reads its rank $C[3]=7$, is\n%          written to $B[7]$, and then $C[3]$ is decremented to $6$ so the previous $3$\n%          falls just before it — the source of stability.\n\\begin{tikzpicture}[\n  cell\u002F.style={draw, minimum size=6.5mm, font=\\small, inner sep=0pt},\n  lbl\u002F.style={font=\\footnotesize, anchor=east}]\n  \\definecolor{acc}{HTML}{2348F2}\n  % input A, last cell highlighted\n  \\node[lbl] at (-0.35,2.4) {input $A$};\n  \\foreach \\v\u002F\\i in {2\u002F0,5\u002F1,3\u002F2,0\u002F3,2\u002F4,3\u002F5,0\u002F6} \\node[cell] at (\\i*0.72,2.4) {\\v};\n  \\node[cell, fill=acc!15, draw=acc, very thick] (src) at (7*0.72,2.4) {3};\n  \\node[font=\\scriptsize, text=acc, anchor=north] at (7*0.72,2.0) {$A[8]$};\n  % prefix C with index labels\n  \\node[font=\\scriptsize,text=black!55] at (-0.95,1.05) {value};\n  \\foreach \\i in {0,...,5} \\node[font=\\scriptsize,text=black!55] at (\\i*0.72,1.05) {\\i};\n  \\node[lbl] at (-0.35,0.4) {prefix $C$};\n  \\foreach \\v\u002F\\i in {2\u002F0,2\u002F1,4\u002F2,7\u002F3,7\u002F4,8\u002F5} \\node[cell,fill=acc!12] at (\\i*0.72,0.4) {\\v};\n  \\node[font=\\scriptsize, text=red!75!black] at (3*0.72,-0.35) {$7\\!\\to\\!6$};\n  % output B, slot 7 (index 6) highlighted\n  \\node[lbl] at (-0.35,-1.6) {output $B$};\n  \\foreach \\i in {0,...,7} \\node[cell] (b\\i) at (\\i*0.72,-1.6) {};\n  \\node[cell, fill=acc!15, draw=acc, very thick] at (6*0.72,-1.6) {3};\n  \\foreach \\i in {1,...,8} \\node[font=\\scriptsize, text=black!55] at ({(\\i-1)*0.72},-2.2) {\\i};\n  % red leaders: read rank C[3]=7 (cell at value index 3), then write to B[7] (cell index 6)\n  \\draw[->, >=Stealth, red!75!black, thick] (src.south) to[out=-90,in=90] (3*0.72,0.72);\n  \\node[font=\\scriptsize, text=red!75!black, anchor=east] at (5.2,1.45) {read $C[3]=7$};\n  \\draw[->, >=Stealth, red!75!black, thick] (3*0.72,0.08) to[out=-90,in=90] (6*0.72,-1.28);\n  \\node[font=\\scriptsize, text=red!75!black, anchor=east] at (4.0,-0.95) {write to $B[7]$};\n\\end{tikzpicture}\n$$\n\n> **Remark (Why stability matters).** A sort is **stable** if elements with equal keys\n> keep their input order. It is the property that lets us sort by one field\n> without scrambling a previous ordering, and, as we are about to see, it is\n> the linchpin that makes radix sort work at all.\n\n**Analysis.** The loops run $\\Theta(k)$, $\\Theta(n)$, $\\Theta(k)$, and\n$\\Theta(n)$ times, so counting sort is\n[$\\Theta(n + k)$](\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis) in both time and\nspace. As\nlong as $k = O(n)$ this is $\\Theta(n)$, genuinely linear, beating the\ncomparison bound because no comparisons happen.[^clrs-counting] The catch is the\n_space and time in $k$_. If the keys range over, say, $32$-bit integers, then\n$k \\approx 4 \\times 10^9$ dwarfs any realistic $n$, the count array $C$ is\nenormous, and the method falls apart. Counting sort works best when the key\nuniverse is small.\n\n## Radix sort\n\nWhat if the keys are larger, say $d$-digit numbers, so that a single counting\npass is infeasible? **Radix sort** decomposes each key into $d$ digits and sorts one\ndigit at a time. The counterintuitive rule, known since the days of\npunched-card machines, is to sort by the **least significant digit first** (LSD),\nworking up to the most significant.\n\n```algorithm\ncaption: $\\textsc{Radix-Sort}(A, d)$ — sort $d$-digit keys, least significant digit first\nnumber: 2\nfor $i \\gets 1$ to $d$ do\n  use a stable sort to sort $A$ on digit $i$ \u002F\u002F digit 1 = least sig.\n```\n\nThe correctness rests entirely on **stability**. After sorting on digit $i$,\nsuppose the array is correctly ordered by the low-order digits $1..i$. Now sort\non digit $i+1$ with a _stable_ sort. Two keys differing in digit $i+1$ are\nordered correctly by that pass. Two keys _agreeing_ in digit $i+1$ are left in\ntheir incoming order by stability, and that incoming order was already correct\non digits $1..i$. So after the pass the array is correctly ordered on digits\n$1..i{+}1$. By induction, after all $d$ passes the array is fully sorted.[^clrs-radix] Using\nan unstable per-digit sort would destroy the work of every earlier pass. This is\nwhy the inner sort must be stable, and counting sort is the natural choice.\n\n$$\n% caption: LSD radix sort over three digits; each pass stably sorts on one digit, and ties\n%          keep the previous pass's order until the array is sorted.\n\\begin{tikzpicture}[cell\u002F.style={draw, minimum width=10mm, minimum height=6mm, font=\\small, inner sep=1pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\foreach \\h\u002F\\x in {start\u002F0, by 1s\u002F1.5, by 10s\u002F3.0, {by 100s}\u002F4.5}\n    \\node[font=\\footnotesize] at (\\x,0.7) {\\h};\n  \\foreach \\v\u002F\\r in {329\u002F0,457\u002F1,657\u002F2,839\u002F3,436\u002F4,720\u002F5,355\u002F6} \\node[cell] at (0,-\\r*0.62) {\\v};\n  \\foreach \\v\u002F\\r in {720\u002F0,355\u002F1,436\u002F2,457\u002F3,657\u002F4,329\u002F5,839\u002F6} \\node[cell] at (1.5,-\\r*0.62) {\\v};\n  \\foreach \\v\u002F\\r in {720\u002F0,329\u002F1,436\u002F2,839\u002F3,355\u002F4,457\u002F5,657\u002F6} \\node[cell] at (3.0,-\\r*0.62) {\\v};\n  \\foreach \\v\u002F\\r in {329\u002F0,355\u002F1,436\u002F2,457\u002F3,657\u002F4,720\u002F5,839\u002F6} \\node[cell,fill=acc!15,draw=acc, thick] at (4.5,-\\r*0.62) {\\v};\n\\end{tikzpicture}\n$$\n\nZooming in on a single pass shows why **stability** is not optional. Suppose the\narray is already ordered on the low digit, and we now sort on the next one. Keys\nthat _tie_ on the new digit must keep their incoming order, since that order\nalready encodes the lower digit; only keys that _differ_ on the new digit may be\nreordered.\n\n$$\n% caption: Why stability is essential. Sorting on the tens digit, keys that tie there\n%          (both $3\\square$) keep their incoming order, preserving the units sort; only\n%          keys that differ on the tens digit cross.\n\\begin{tikzpicture}[\n  cell\u002F.style={draw, minimum width=11mm, minimum height=6mm, font=\\small, inner sep=1pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[font=\\footnotesize, anchor=south] at (0,0.5) {after digit 1};\n  \\node[cell, fill=acc!12] (a0) at (0,0) {30};\n  \\node[cell] (a1) at (0,-0.72) {21};\n  \\node[cell, fill=acc!12] (a2) at (0,-1.44) {32};\n  \\node[cell] (a3) at (0,-2.16) {23};\n  \\node[font=\\footnotesize, anchor=south] at (3.2,0.5) {after digit 2};\n  \\node[cell] (b0) at (3.2,0) {21};\n  \\node[cell] (b1) at (3.2,-0.72) {23};\n  \\node[cell, fill=acc!12] (b2) at (3.2,-1.44) {30};\n  \\node[cell, fill=acc!12] (b3) at (3.2,-2.16) {32};\n  \\draw[->, >=Stealth, red!75!black, thick] (a0.east) to (b2.west);\n  \\draw[->, >=Stealth] (a1.east) to (b0.west);\n  \\draw[->, >=Stealth, red!75!black, thick] (a2.east) to (b3.west);\n  \\draw[->, >=Stealth] (a3.east) to (b1.west);\n  \\node[font=\\scriptsize, text=red!75!black, anchor=west] at (1.15,-2.95) {$30$ before $32$ preserved (both tens $=3$)};\n\\end{tikzpicture}\n$$\n\n> **Remark (MSD vs. LSD).** Sorting by the _most_ significant digit first feels more natural, since it is how we\n> alphabetize, but it forces recursion into ever-finer buckets and bookkeeping\n> to keep groups separate. LSD-first avoids all of that: each pass is a single\n> flat stable sort over the whole array.\n\n**Analysis.** With counting sort on each of $d$ digits, each drawn from a range\nof size $k$, every pass costs $\\Theta(n + k)$, for a total of\n\n$$\n\\Theta\\bigl(d\\,(n + k)\\bigr).\n$$\n\nWhen $d$ is a constant and $k = O(n)$, for example fixed-width integers split\ninto a constant number of digits in a base of size $\\Theta(n)$, radix sort runs\nin $\\Theta(n)$. Choosing the digit size is an engineering tradeoff: larger digits\nmean fewer passes ($d$ shrinks) but a larger $k$ per pass. For $b$-bit keys, the\nbest choice is typically digits of about $\\log_2 n$ bits, so $k \\approx n$ and\n$d \\approx b\u002F\\log_2 n$.\n\n## Bucket sort\n\nCounting and radix sort exploit _integer_ keys. **Bucket sort** instead exploits\na _distributional_ assumption: that the keys are drawn (roughly) uniformly at\nrandom from an interval, say $[0, 1)$. It scatters the $n$ keys into $n$ equal\nsub-intervals, the **buckets**, sorts each bucket with a simple sort like\ninsertion sort, then concatenates the buckets in order.\n\n$$\n% caption: Bucket sort on $n=10$ keys in $[0,1)$. Key $x$ drops into bucket\n%          $\\lfloor 10x\\rfloor$; each bucket is sorted and the buckets concatenated left\n%          to right. Uniform keys give $\\approx 1$ per bucket.\n\\begin{tikzpicture}[\n  slot\u002F.style={draw, minimum width=7.6mm, minimum height=6mm, font=\\tiny, inner sep=0pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\foreach \\i in {0,...,9} \\draw (\\i*0.8,0) rectangle (\\i*0.8+0.8,0.6);\n  \\foreach \\i in {0,5,10} \\node[font=\\tiny, text=black!55] at (\\i*0.8,-0.28) {$\\tfrac{\\i}{10}$};\n  \\node[font=\\scriptsize, anchor=east] at (-0.15,0.3) {$[0,1)$};\n  \\foreach \\k in {0.12,0.17,0.21,0.23,0.26,0.39,0.68,0.72,0.78,0.94}\n    \\fill[acc] (\\k*8,0.3) circle (1.1pt);\n  \\foreach \\i in {0,...,9} \\node[font=\\scriptsize, anchor=north] at (\\i*0.8+0.4,-0.55) {$\\i$};\n  \\node[slot] at (1.2,-1.3) {.12};\n  \\node[slot] at (1.2,-1.9) {.17};\n  \\node[slot] at (2.0,-1.3) {.21};\n  \\node[slot] at (2.0,-1.9) {.23};\n  \\node[slot] at (2.0,-2.5) {.26};\n  \\node[slot] at (2.8,-1.3) {.39};\n  \\node[slot] at (5.2,-1.3) {.68};\n  \\node[slot] at (6.0,-1.3) {.72};\n  \\node[slot] at (6.0,-1.9) {.78};\n  \\node[slot] at (7.6,-1.3) {.94};\n  \\node[font=\\scriptsize, anchor=east] at (-0.15,-1.3) {buckets};\n\\end{tikzpicture}\n$$\n\n```algorithm\ncaption: $\\textsc{Bucket-Sort}(A)$ — sort $n$ keys drawn uniformly from $[0, 1)$\nnumber: 3\n$n \\gets A.length$\nlet $B[0..n-1]$ be an array of empty lists\nfor $i \\gets 1$ to $n$ do\n  insert $A[i]$ into list $B[\\,\\floor{n \\cdot A[i]}\\,]$ \u002F\u002F bucket by value\nfor $i \\gets 0$ to $n - 1$ do\n  sort list $B[i]$ with insertion sort\nconcatenate $B[0], B[1], \\dots, B[n-1]$ in order\n```\n\nScattering is $\\Theta(n)$, and concatenation is $\\Theta(n)$. The only variable\ncost is sorting the buckets. If the input is spread uniformly, each bucket holds\nabout one element on average, so the insertion sorts cost $O(1)$ each in\nexpectation.[^clrs-bucket]\n\n**Analysis.** Let $n_i = |B[i]|$. Insertion sort on bucket $i$ costs\n$O(n_i^2)$, so the expected total bucket-sorting cost is\n$\\sum_i \\mathbb{E}[O(n_i^2)] = \\sum_i O(\\mathbb{E}[n_i^2])$. Each key lands in\nbucket $i$ independently with probability $1\u002Fn$, so $n_i$ is Binomial$(n, 1\u002Fn)$,\nwhich has\n\n$$\n\\mathbb{E}[n_i^2] = \\operatorname{Var}(n_i) + \\mathbb{E}[n_i]^2\n= \\Bigl(1 - \\tfrac1n\\Bigr) + 1^2 = 2 - \\tfrac1n \u003C 2.\n$$\n\nSumming over the $n$ buckets gives $\\sum_i O(\\mathbb{E}[n_i^2]) = O(n)$, so the\ntotal expected running time is\n\n$$\n\\Theta(n) + n \\cdot O(1) = \\Theta(n).\n$$\n\nThis is an **average-case** result: it assumes the inputs are uniformly\ndistributed. Adversarial input, with every key landing in the same bucket,\ndegrades bucket sort to the $\\Theta(n^2)$ of a single insertion sort. Bucket sort\nis the right tool when you know your data is spread evenly (or can cheaply map it\nso), as with fractional parts of well-mixed values.\n\n## Choosing among them\n\nNone of these linear-time sorts is a drop-in replacement for a comparison sort\nlike [mergesort](\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort) or\n[heapsort](\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort). Each rests on a structural\nassumption about the keys, so the choice comes down to matching the algorithm to\nwhat you know about your data.[^skiena-sort]\n\n| Algorithm | Assumption on keys | Time | Stable? | Extra space |\n| --- | --- | --- | --- | --- |\n| **Counting sort** | integers in a small range $[0, k]$ | $\\Theta(n + k)$ | yes | $\\Theta(n + k)$ |\n| **Radix sort** | $d$ digits, each in a small range | $\\Theta(d(n + k))$ | yes | $\\Theta(n + k)$ |\n| **Bucket sort** | reals spread uniformly over an interval | $\\Theta(n)$ expected | yes | $\\Theta(n)$ |\n\nPractical guidance:\n\n- Reach for **counting sort** when keys are integers over a range comparable to\n  $n$ (grades, small ages, byte values). It is also the standard stable subsort\n  _inside_ radix sort.\n- Reach for **radix sort** for fixed-width keys with a larger range, such as\n  $32$- or $64$-bit integers or fixed-length strings, where a single counting\n  pass would need an impossibly large count array.\n- Reach for **bucket sort** when keys are real numbers you believe are uniformly\n  (or near-uniformly) distributed, and you want linear _expected_ time.\n\nAnd remember the boundary: these methods beat $\\Omega(n\\log n)$ precisely because\nthey are **not** comparison sorts. They never ask \"is $a_i \u003C a_j$?\"; they\n_compute_ with the keys. Hand any of them arbitrary comparable objects with no\nexploitable integer or distributional structure, and the linear-time guarantee is\ngone, leaving you back at a comparison sort and its $n\\log n$ floor.\n\n## Takeaways\n\n- The $\\Omega(n\\log n)$ bound binds only **comparison sorts**; using keys as\n  array indices or digit sequences sidesteps it entirely.\n- **Counting sort** ranks keys by prefix-summing their counts: $\\Theta(n + k)$,\n  **stable**, linear when $k = O(n)$ but ruinous when $k$ is large.\n- **Radix sort** stably sorts digit by digit, **least significant first**;\n  stability is what preserves earlier passes, giving $\\Theta(d(n+k))$.\n- **Bucket sort** scatters uniform keys into $n$ buckets and sorts each;\n  expected $\\Theta(n)$, but $\\Theta(n^2)$ if the distribution is adversarial.\n- Each linear sort trades generality for a **structural assumption** on the\n  keys, so choose by what you actually know about your data.\n\n[^erickson-beyond]: **Erickson**, _Algorithms_, Ch. — Sorting Beyond Comparisons — treating keys as readable data sidesteps the decision-tree argument and permits linear-time sorting.\n[^clrs-counting]: **CLRS**, §8.2 — Counting Sort — counting sort runs in $\\Theta(n + k)$, is stable, and is linear when $k = O(n)$.\n[^clrs-radix]: **CLRS**, §8.3 — Radix Sort — sorting least-significant digit first with a stable subsort yields a correct sort in $\\Theta(d(n+k))$.\n[^clrs-bucket]: **CLRS**, §8.4 — Bucket Sort — scattering uniformly distributed keys into $n$ buckets gives expected $\\Theta(n)$ running time.\n[^skiena-sort]: **Skiena**, _The Algorithm Design Manual_, §4 — Sorting and Searching — choosing the right sort by matching the algorithm to the structure of the keys.\n",{"text":7370,"minutes":7371,"time":7372,"words":7373},"8 min read",7.71,462600,1542,{"title":66,"description":7347},[7376,7378,7380],{"book":7117,"ref":7377},"§8.2–8.4 — Counting, Radix, and Bucket Sort",{"book":7325,"ref":7379},"§4 — Sorting and Searching",{"book":7100,"ref":7381},"Ch. — Sorting Beyond Comparisons","available","01.algorithms\u002F03.sorting\u002F03.linear-time-sorting",[69],"6rGCui3V-RTWOFkG5iNBLz6UyTo38DK4XReoNHQZkqQ",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":7387,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":7388,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":7389,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":7390,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":7391,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":7392,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":7393,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":7394,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":7373,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":7395,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":7396,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":7397,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":7398,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":7399,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":7400,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":7401,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":7402,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":7403,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":7404,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":7405,"\u002Falgorithms\u002Fsequences\u002Ftries":7406,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":7407,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":7408,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":7409,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":7410,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":7411,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":7412,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":7413,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":7414,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":7415,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":7416,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":7417,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":7418,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":7419,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":7420,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":7421,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":7422,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":7423,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":7424,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":7425,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":7426,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":7427,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":7428,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":7429,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":7430,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":7431,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":7432,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":7402,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":7433,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":7434,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":7435,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":7436,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":7418,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":7437,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":7438,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":7398,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":7439,"\u002Falgorithms":7440,"\u002Ftheory-of-computation":7441,"\u002Fcomputer-architecture":7441,"\u002Fphysical-computing":7441,"\u002Fdatabases":7441,"\u002Fdeep-learning":7441},1763,2107,1738,2628,1723,2048,1697,1044,1565,1679,1586,1388,1465,1971,1455,1533,1483,1578,1791,1481,2704,1658,2070,1978,2080,1568,1451,1291,1543,1883,1443,1599,2038,2241,1744,1678,2288,1929,1657,1412,1554,1418,1713,1798,1694,1762,1534,1595,1262,1495,1630,2306,2142,107,0,{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":7443,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":7444,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":7445,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":7446,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":7447,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":7448,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":7449,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":7450,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":7451,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":7452,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":7453,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":7454,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":7455,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":7456,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":7457,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":7458,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":7459,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":7460,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":7461,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":7462,"\u002Falgorithms\u002Fsequences\u002Ftries":7463,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":7464,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":7465,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":7466,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":7467,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":7468,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":7469,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":7470,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":7471,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":7472,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":7473,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":7474,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":7475,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":7476,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":7477,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":7478,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":7479,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":7480,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":7481,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":7482,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":7483,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":7484,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":7485,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":7486,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":7487,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":7488,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":7489,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":7490,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":7491,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":7492,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":7493,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":7494,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":7495,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":7496,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":7497,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":7498,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":7499,"\u002Falgorithms":7500,"\u002Ftheory-of-computation":7502,"\u002Fcomputer-architecture":7505,"\u002Fphysical-computing":7508,"\u002Fdatabases":7511,"\u002Fdeep-learning":7514},{"path":11,"title":10,"module":5,"summary":14},{"path":17,"title":16,"module":5,"summary":20},{"path":23,"title":22,"module":5,"summary":27},{"path":34,"title":33,"module":29,"summary":37},{"path":40,"title":39,"module":29,"summary":43},{"path":46,"title":45,"module":29,"summary":49},{"path":56,"title":55,"module":51,"summary":59},{"path":62,"title":61,"module":51,"summary":64},{"path":67,"title":66,"module":51,"summary":70},{"path":78,"title":77,"module":72,"summary":81},{"path":84,"title":83,"module":72,"summary":87},{"path":90,"title":89,"module":72,"summary":92},{"path":95,"title":94,"module":72,"summary":98},{"path":101,"title":100,"module":72,"summary":104},{"path":107,"title":106,"module":72,"summary":112},{"path":115,"title":114,"module":72,"summary":119},{"path":126,"title":125,"module":121,"summary":129},{"path":132,"title":131,"module":121,"summary":134},{"path":137,"title":136,"module":121,"summary":140},{"path":143,"title":142,"module":121,"summary":146},{"path":149,"title":148,"module":121,"summary":151},{"path":158,"title":157,"module":153,"summary":162},{"path":165,"title":164,"module":153,"summary":167},{"path":170,"title":169,"module":153,"summary":172},{"path":175,"title":174,"module":153,"summary":177},{"path":180,"title":179,"module":153,"summary":182},{"path":185,"title":184,"module":153,"summary":187},{"path":190,"title":189,"module":153,"summary":192},{"path":195,"title":194,"module":153,"summary":198},{"path":201,"title":200,"module":153,"summary":204},{"path":211,"title":210,"module":206,"summary":213},{"path":216,"title":215,"module":206,"summary":219},{"path":222,"title":221,"module":206,"summary":224},{"path":227,"title":226,"module":206,"summary":229},{"path":236,"title":235,"module":231,"summary":238},{"path":241,"title":240,"module":231,"summary":244},{"path":247,"title":246,"module":231,"summary":249},{"path":252,"title":251,"module":231,"summary":254},{"path":257,"title":256,"module":231,"summary":259},{"path":262,"title":261,"module":231,"summary":264},{"path":267,"title":266,"module":231,"summary":269},{"path":272,"title":271,"module":231,"summary":274},{"path":277,"title":276,"module":231,"summary":279},{"path":282,"title":281,"module":231,"summary":285},{"path":292,"title":291,"module":287,"summary":295},{"path":298,"title":297,"module":287,"summary":300},{"path":303,"title":302,"module":287,"summary":305},{"path":312,"title":311,"module":307,"summary":315},{"path":318,"title":317,"module":307,"summary":320},{"path":323,"title":322,"module":307,"summary":325},{"path":328,"title":327,"module":307,"summary":330},{"path":338,"title":337,"module":332,"summary":341},{"path":344,"title":343,"module":332,"summary":346},{"path":349,"title":348,"module":332,"summary":351},{"path":359,"title":358,"module":353,"summary":362},{"path":364,"title":361,"module":353,"summary":366},{"path":369,"title":368,"module":353,"summary":373},{"path":7501,"title":7103,"module":376,"summary":376},"\u002Falgorithms",{"path":7503,"title":7504,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":7506,"title":7507,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":7509,"title":7510,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":7512,"title":7513,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":7515,"title":7516,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781560522047]