[{"data":1,"prerenderedAt":7172},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":374,"course-wordcounts":7041,"ref-card-index":7097},[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":10,"blurb":376,"body":377,"description":7004,"extension":7005,"meta":7006,"module":5,"navigation":608,"path":11,"practice":7008,"rawbody":7023,"readingTime":7024,"seo":7029,"sources":7030,"status":7037,"stem":7038,"summary":14,"topics":7039,"__hash__":7040},"course\u002F01.algorithms\u002F01.foundations\u002F01.what-is-an-algorithm.md","",{"type":378,"value":379,"toc":6991},"minimark",[380,483,511,707,849,891,894,924,929,936,963,986,1238,1245,1249,1260,1931,1952,1955,2109,2112,2116,2146,2223,2230,2234,2240,2282,2488,2527,2582,2692,3033,3037,3323,3575,3644,3648,3687,3771,3896,3899,4717,4720,4781,4786,4867,5039,5140,5243,5455,5641,5645,5834,6127,6160,6373,6605,6661,6665,6922,6987],[381,382,383,384,388,389,392,393,396,397,445,446,482],"p",{},"You have already met dozens of algorithms without being told that's what\nthey were. ",[385,386,387],"a",{"href":34},"Merge sort",",\n",[385,390,391],{"href":40},"quicksort",", binary search, linear\nsearch, ",[385,394,395],{"href":158},"breadth-first\nsearch","; even the rote\nprocedures for multiplying (",[398,399,402],"span",{"className":400},[401],"katex",[398,403,407,434],{"className":404,"ariaHidden":406},[405],"katex-html","true",[398,408,411,416,421,426,431],{"className":409},[410],"base",[398,412],{"className":413,"style":415},[414],"strut","height:0.7278em;vertical-align:-0.0833em;",[398,417,420],{"className":418},[419],"mord","374",[398,422],{"className":423,"style":425},[424],"mspace","margin-right:0.2222em;",[398,427,430],{"className":428},[429],"mbin","×",[398,432],{"className":433,"style":425},[424],[398,435,437,441],{"className":436},[410],[398,438],{"className":439,"style":440},[414],"height:0.6444em;",[398,442,444],{"className":443},[419],"285",") or adding\n(",[398,447,449],{"className":448},[401],[398,450,452,472],{"className":451,"ariaHidden":406},[405],[398,453,455,458,462,465,469],{"className":454},[410],[398,456],{"className":457,"style":415},[414],[398,459,461],{"className":460},[419],"724",[398,463],{"className":464,"style":425},[424],[398,466,468],{"className":467},[429],"+",[398,470],{"className":471,"style":425},[424],[398,473,475,478],{"className":474},[410],[398,476],{"className":477,"style":440},[414],[398,479,481],{"className":480},[419],"1366",") two integers by hand; even tidying a room by a fixed set of\nrules. What unites them is captured by a simple working definition:",[484,485,487],"callout",{"type":486},"definition",[381,488,489,493,494,498,499,502,503,506,507,510],{},[490,491,492],"strong",{},"Definition (Algorithm)."," An algorithm is ",[495,496,497],"em",{},"a precise recipe of steps for solving a computational\nproblem",", where a ",[495,500,501],{},"computational problem"," is anything with\na notion of an ",[490,504,505],{},"input"," and a corresponding ",[490,508,509],{},"output",".",[512,513,519],"pre",{"className":514,"code":515,"filename":516,"highlights":517,"language":518,"meta":376,"style":376},"language-python shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","def fib(n: int) -> int:\n  if n \u003C= 1:\n    return n\n  return fib(n-1) + fib(n-2)\n\ndef fib2(n: int) -> int:\n  M = [0, 1]\n  for i in range(1, n):\n    M.append(M[-1] + M[-2])\n  return M[-1]\n","fib.py",[18,24],"python",[520,521,522,548,566,575,604,610,627,649,671,695],"code",{"__ignoreMap":376},[398,523,525,529,533,537,540,543,545],{"class":524,"line":6},"line",[398,526,528],{"class":527},"sdxpw","def",[398,530,532],{"class":531},"sat3U"," fib",[398,534,536],{"class":535},"s3i95","(n: ",[398,538,539],{"class":531},"int",[398,541,542],{"class":535},") -> ",[398,544,539],{"class":531},[398,546,547],{"class":535},":\n",[398,549,552,555,558,561,564],{"class":550,"line":18},[524,551],"highlight",[398,553,554],{"class":527},"  if",[398,556,557],{"class":535}," n ",[398,559,560],{"class":527},"\u003C=",[398,562,563],{"class":531}," 1",[398,565,547],{"class":535},[398,567,569,572],{"class":568,"line":24},[524,551],[398,570,571],{"class":527},"    return",[398,573,574],{"class":535}," n\n",[398,576,577,580,583,586,589,592,594,596,598,601],{"class":524,"line":73},[398,578,579],{"class":527},"  return",[398,581,582],{"class":535}," fib(n",[398,584,585],{"class":527},"-",[398,587,588],{"class":531},"1",[398,590,591],{"class":535},") ",[398,593,468],{"class":527},[398,595,582],{"class":535},[398,597,585],{"class":527},[398,599,600],{"class":531},"2",[398,602,603],{"class":535},")\n",[398,605,606],{"class":524,"line":102},[398,607,609],{"emptyLinePlaceholder":608},true,"\n",[398,611,612,614,617,619,621,623,625],{"class":524,"line":108},[398,613,528],{"class":527},[398,615,616],{"class":531}," fib2",[398,618,536],{"class":535},[398,620,539],{"class":531},[398,622,542],{"class":535},[398,624,539],{"class":531},[398,626,547],{"class":535},[398,628,629,632,635,638,641,644,646],{"class":524,"line":116},[398,630,631],{"class":535},"  M ",[398,633,634],{"class":527},"=",[398,636,637],{"class":535}," [",[398,639,640],{"class":531},"0",[398,642,643],{"class":535},", ",[398,645,588],{"class":531},[398,647,648],{"class":535},"]\n",[398,650,651,654,657,660,663,666,668],{"class":524,"line":196},[398,652,653],{"class":527},"  for",[398,655,656],{"class":535}," i ",[398,658,659],{"class":527},"in",[398,661,662],{"class":531}," range",[398,664,665],{"class":535},"(",[398,667,588],{"class":531},[398,669,670],{"class":535},", n):\n",[398,672,673,676,678,680,683,685,688,690,692],{"class":524,"line":202},[398,674,675],{"class":535},"    M.append(M[",[398,677,585],{"class":527},[398,679,588],{"class":531},[398,681,682],{"class":535},"] ",[398,684,468],{"class":527},[398,686,687],{"class":535}," M[",[398,689,585],{"class":527},[398,691,600],{"class":531},[398,693,694],{"class":535},"])\n",[398,696,697,699,701,703,705],{"class":524,"line":283},[398,698,579],{"class":527},[398,700,687],{"class":535},[398,702,585],{"class":527},[398,704,588],{"class":531},[398,706,648],{"class":535},[512,708,713],{"className":709,"code":710,"filename":711,"language":712,"meta":376,"style":376},"language-haskell shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","fib :: Int -> Int\nfib 0 = 0\nfib 1 = 1\nfib n = fib (n - 1) + fib (n - 2)\n\nfib2 :: Int -> Int\nfib2 n\n  | n \u003C= 1    = n\n  | otherwise = fib2 (n - 1) + fib2 (n - 2)\n","fib.hs","haskell",[520,714,715,732,745,756,783,787,800,805,821],{"__ignoreMap":376},[398,716,717,720,723,726,729],{"class":524,"line":6},[398,718,719],{"class":531},"fib",[398,721,722],{"class":527}," ::",[398,724,725],{"class":527}," Int",[398,727,728],{"class":527}," ->",[398,730,731],{"class":527}," Int\n",[398,733,734,737,739,742],{"class":524,"line":18},[398,735,736],{"class":535},"fib ",[398,738,640],{"class":531},[398,740,741],{"class":527}," =",[398,743,744],{"class":531}," 0\n",[398,746,747,749,751,753],{"class":524,"line":24},[398,748,736],{"class":535},[398,750,588],{"class":531},[398,752,741],{"class":527},[398,754,755],{"class":531}," 1\n",[398,757,758,761,763,766,768,770,772,774,776,778,781],{"class":524,"line":73},[398,759,760],{"class":535},"fib n ",[398,762,634],{"class":527},[398,764,765],{"class":535}," fib (n ",[398,767,585],{"class":527},[398,769,563],{"class":531},[398,771,591],{"class":535},[398,773,468],{"class":527},[398,775,765],{"class":535},[398,777,585],{"class":527},[398,779,780],{"class":531}," 2",[398,782,603],{"class":535},[398,784,785],{"class":524,"line":102},[398,786,609],{"emptyLinePlaceholder":608},[398,788,789,792,794,796,798],{"class":524,"line":108},[398,790,791],{"class":531},"fib2",[398,793,722],{"class":527},[398,795,725],{"class":527},[398,797,728],{"class":527},[398,799,731],{"class":527},[398,801,802],{"class":524,"line":116},[398,803,804],{"class":535},"fib2 n\n",[398,806,807,810,812,814,816,819],{"class":524,"line":196},[398,808,809],{"class":527},"  |",[398,811,557],{"class":535},[398,813,560],{"class":527},[398,815,563],{"class":531},[398,817,818],{"class":527},"    =",[398,820,574],{"class":535},[398,822,823,825,828,830,833,835,837,839,841,843,845,847],{"class":524,"line":202},[398,824,809],{"class":527},[398,826,827],{"class":535}," otherwise ",[398,829,634],{"class":527},[398,831,832],{"class":535}," fib2 (n ",[398,834,585],{"class":527},[398,836,563],{"class":531},[398,838,591],{"class":535},[398,840,468],{"class":527},[398,842,832],{"class":535},[398,844,585],{"class":527},[398,846,780],{"class":531},[398,848,603],{"class":535},[381,850,851,852,855,856,865,866,870,871,878,879,882,883],{},"That definition is deliberately blunt. Erickson sharpens it the same way: an\nalgorithm is a procedure a ",[495,853,854],{},"rock"," could follow, where every step is so\nmechanical that no intelligence, intuition, or luck is required to carry it\nout.",[857,858,859],"sup",{},[385,860,588],{"href":861,"ariaDescribedBy":862,"dataFootnoteRef":376,"id":864},"#user-content-fn-erickson",[863],"footnote-label","user-content-fnref-erickson"," CLRS frames it operationally: a ",[867,868,869],"q",{},"well-defined computational procedure"," that takes a value (or set of values) as input and produces a value\nas output.",[857,872,873],{},[385,874,600],{"href":875,"ariaDescribedBy":876,"dataFootnoteRef":376,"id":877},"#user-content-fn-clrs",[863],"user-content-fnref-clrs"," Skiena adds the engineer's caveat: it must work ",[495,880,881],{},"correctly on\nevery instance",", not merely on the examples we happen to test.",[857,884,885],{},[385,886,890],{"href":887,"ariaDescribedBy":888,"dataFootnoteRef":376,"id":889},"#user-content-fn-skiena",[863],"user-content-fnref-skiena","3",[381,892,893],{},"Three demands run through all of these, and through this entire course:",[895,896,897,908,914],"ul",{},[898,899,900,903,904,907],"li",{},[490,901,902],{},"Correctness."," The algorithm produces the right output on ",[495,905,906],{},"every"," valid\ninput. One counterexample is enough to sink it.",[898,909,910,913],{},[490,911,912],{},"Efficiency."," It uses few resources (time, space) as the input grows.",[898,915,916,919,920,923],{},[490,917,918],{},"Provability."," We can ",[495,921,922],{},"argue",", rather than assert, that the first two hold.",[925,926,928],"h2",{"id":927},"communicating-an-algorithm","Communicating an algorithm",[381,930,931,932,935],{},"Having an algorithm in your head is not enough; you must convey it so that\nsomeone else can run it, trust it, and predict its cost. In this course every\nalgorithm comes with ",[490,933,934],{},"four deliverables",", and you should reach for all four\nby reflex:",[937,938,939,945,951,957],"ol",{},[898,940,941,944],{},[490,942,943],{},"High-level idea."," One or two sentences of plain English.",[898,946,947,950],{},[490,948,949],{},"Pseudocode."," The steps, precise enough to analyze.",[898,952,953,956],{},[490,954,955],{},"Proof of correctness."," An argument that it always returns the right\nanswer.",[898,958,959,962],{},[490,960,961],{},"Complexity analysis."," How its running time (and sometimes space) grows\nwith the input.",[381,964,965,966,969,970,973,974,977,978,981,982,985],{},"These four are not independent checkboxes; they form a pipeline. The\n",[490,967,968],{},"problem spec"," fixes what counts as a correct answer; the ",[490,971,972],{},"idea"," and\n",[490,975,976],{},"pseudocode"," are two resolutions of the same method; the ",[490,979,980],{},"proof"," certifies\nthe pseudocode against the spec; and the ",[490,983,984],{},"analysis"," measures that same\npseudocode. Each deliverable feeds the next.",[987,988,992,1232],"figure",{"className":989},[990,991],"tikz-figure","tikz-diagram-rendered",[993,994,999],"svg",{"xmlns":995,"width":996,"height":997,"viewBox":998},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","582.150","140.779","-75 -75 436.613 105.585",[1000,1001,1004,1039,1042,1063,1066,1087,1090,1111,1143,1152,1160,1168,1184,1209,1216],"g",{"stroke":1002,"style":1003},"currentColor","stroke-miterlimit:10;stroke-width:.4",[1000,1005,1009,1013],{"fill":1006,"stroke":1007,"style":1008},"var(--tk-soft-accent)","var(--tk-accent)","stroke-width:1.2",[1010,1011],"path",{"d":1012},"M28.228-60.715H-11.48a4 4 0 0 0-4 4v25.795a4 4 0 0 0 4 4h39.708a4 4 0 0 0 4-4v-25.795a4 4 0 0 0-4-4ZM-15.48-26.92",[1000,1014,1018,1027,1033],{"fill":1002,"stroke":1015,"fontFamily":1016,"fontSize":1017},"none","cmr9","9",[1000,1019,1021],{"transform":1020},"translate(-16.456 7.75)",[1010,1022],{"d":1023,"fill":1002,"stroke":1002,"className":1024,"style":1026},"M10.712-53.072L8.624-53.072L8.624-53.384Q8.937-53.384 9.128-53.435Q9.319-53.485 9.319-53.683L9.319-58.021Q9.319-58.262 9.145-58.322Q8.972-58.381 8.624-58.381L8.624-58.697L9.996-58.794L9.996-58.254Q10.255-58.522 10.589-58.658Q10.923-58.794 11.292-58.794Q11.692-58.794 12.048-58.627Q12.404-58.460 12.659-58.179Q12.914-57.898 13.056-57.533Q13.199-57.168 13.199-56.759Q13.199-56.197 12.922-55.731Q12.645-55.265 12.171-54.991Q11.696-54.716 11.147-54.716Q10.835-54.716 10.545-54.850Q10.255-54.984 10.022-55.230L10.022-53.683Q10.022-53.485 10.213-53.435Q10.404-53.384 10.712-53.384L10.712-53.072M10.022-57.840L10.022-55.709Q10.180-55.384 10.464-55.182Q10.747-54.980 11.090-54.980Q11.503-54.980 11.797-55.256Q12.092-55.533 12.239-55.951Q12.386-56.368 12.386-56.759Q12.386-57.137 12.252-57.546Q12.118-57.955 11.843-58.232Q11.569-58.508 11.191-58.508Q10.949-58.508 10.734-58.432Q10.519-58.355 10.327-58.194Q10.136-58.034 10.022-57.840M15.994-54.817L13.762-54.817L13.762-55.133Q14.074-55.133 14.265-55.186Q14.456-55.239 14.456-55.428L14.456-57.876Q14.456-58.117 14.386-58.225Q14.315-58.333 14.181-58.357Q14.047-58.381 13.762-58.381L13.762-58.697L15.076-58.794L15.076-57.933Q15.238-58.324 15.506-58.559Q15.774-58.794 16.166-58.794Q16.438-58.794 16.653-58.631Q16.869-58.469 16.869-58.210Q16.869-58.034 16.750-57.915Q16.631-57.796 16.456-57.796Q16.275-57.796 16.157-57.915Q16.038-58.034 16.038-58.210Q16.038-58.425 16.192-58.535L16.174-58.535Q15.796-58.535 15.563-58.273Q15.331-58.012 15.232-57.625Q15.133-57.238 15.133-56.878L15.133-55.428Q15.133-55.239 15.390-55.186Q15.647-55.133 15.994-55.133L15.994-54.817M17.387-56.724Q17.387-57.291 17.660-57.779Q17.932-58.267 18.402-58.559Q18.873-58.851 19.439-58.851Q19.861-58.851 20.237-58.682Q20.613-58.513 20.890-58.221Q21.166-57.928 21.325-57.533Q21.483-57.137 21.483-56.724Q21.483-56.175 21.204-55.713Q20.925-55.252 20.457-54.984Q19.989-54.716 19.439-54.716Q18.886-54.716 18.416-54.984Q17.945-55.252 17.666-55.713Q17.387-56.175 17.387-56.724M19.439-55.006Q19.936-55.006 20.213-55.267Q20.490-55.529 20.582-55.933Q20.674-56.338 20.674-56.834Q20.674-57.309 20.575-57.698Q20.477-58.087 20.204-58.337Q19.932-58.588 19.439-58.588Q18.728-58.588 18.464-58.093Q18.200-57.599 18.200-56.834Q18.200-56.034 18.455-55.520Q18.710-55.006 19.439-55.006M22.981-54.817L22.691-54.817L22.691-60.143Q22.691-60.385 22.621-60.493Q22.551-60.600 22.417-60.624Q22.283-60.649 21.997-60.649L21.997-60.965L23.368-61.062L23.368-58.262Q23.614-58.513 23.948-58.653Q24.282-58.794 24.634-58.794Q25.034-58.794 25.396-58.631Q25.759-58.469 26.016-58.190Q26.273-57.911 26.422-57.533Q26.572-57.155 26.572-56.759Q26.572-56.197 26.295-55.731Q26.018-55.265 25.543-54.991Q25.069-54.716 24.520-54.716Q24.155-54.716 23.834-54.885Q23.513-55.054 23.293-55.349L22.981-54.817M23.395-57.849L23.395-55.718Q23.553-55.384 23.836-55.182Q24.120-54.980 24.462-54.980Q25.152-54.980 25.456-55.500Q25.759-56.021 25.759-56.759Q25.759-57.484 25.493-58.010Q25.227-58.535 24.563-58.535Q24.203-58.535 23.889-58.350Q23.575-58.166 23.395-57.849M29.252-54.817L27.191-54.817L27.191-55.133Q27.499-55.133 27.690-55.186Q27.881-55.239 27.881-55.428L27.881-60.143Q27.881-60.385 27.811-60.493Q27.741-60.600 27.607-60.624Q27.473-60.649 27.191-60.649L27.191-60.965L28.558-61.062L28.558-55.428Q28.558-55.239 28.751-55.186Q28.945-55.133 29.252-55.133L29.252-54.817M31.762-54.716Q31.204-54.716 30.731-54.999Q30.259-55.283 29.984-55.760Q29.709-56.236 29.709-56.790Q29.709-57.186 29.852-57.561Q29.995-57.937 30.252-58.225Q30.509-58.513 30.867-58.682Q31.226-58.851 31.630-58.851Q32.175-58.851 32.546-58.614Q32.917-58.377 33.104-57.959Q33.291-57.542 33.291-57.005Q33.291-56.953 33.267-56.915Q33.243-56.878 33.194-56.878L30.522-56.878L30.522-56.799Q30.522-56.052 30.834-55.529Q31.146-55.006 31.845-55.006Q32.249-55.006 32.570-55.263Q32.891-55.520 33.014-55.924Q33.032-56.004 33.115-56.004L33.194-56.004Q33.234-56.004 33.262-55.973Q33.291-55.942 33.291-55.898L33.291-55.863Q33.186-55.520 32.964-55.261Q32.742-55.002 32.427-54.859Q32.113-54.716 31.762-54.716M30.531-57.129L32.645-57.129Q32.645-57.397 32.592-57.643Q32.540-57.889 32.419-58.111Q32.298-58.333 32.100-58.460Q31.902-58.588 31.630-58.588Q31.287-58.588 31.034-58.363Q30.782-58.139 30.656-57.801Q30.531-57.463 30.531-57.129M35.950-54.817L33.862-54.817L33.862-55.133Q34.170-55.133 34.361-55.186Q34.552-55.239 34.552-55.428L34.552-57.876Q34.552-58.117 34.482-58.225Q34.412-58.333 34.278-58.357Q34.144-58.381 33.862-58.381L33.862-58.697L35.203-58.794L35.203-57.959Q35.400-58.337 35.761-58.566Q36.121-58.794 36.543-58.794Q37.589-58.794 37.773-57.985Q37.976-58.355 38.334-58.574Q38.692-58.794 39.109-58.794Q39.733-58.794 40.059-58.500Q40.384-58.205 40.384-57.581L40.384-55.428Q40.384-55.239 40.577-55.186Q40.770-55.133 41.078-55.133L41.078-54.817L38.991-54.817L38.991-55.133Q39.298-55.133 39.492-55.186Q39.685-55.239 39.685-55.428L39.685-57.546Q39.685-57.977 39.558-58.256Q39.430-58.535 39.043-58.535Q38.701-58.535 38.417-58.346Q38.134-58.157 37.978-57.845Q37.822-57.533 37.822-57.186L37.822-55.428Q37.822-55.239 38.013-55.186Q38.204-55.133 38.512-55.133L38.512-54.817L36.424-54.817L36.424-55.133Q36.736-55.133 36.927-55.186Q37.119-55.239 37.119-55.428L37.119-57.546Q37.119-57.805 37.075-58.027Q37.031-58.249 36.886-58.392Q36.741-58.535 36.481-58.535Q35.945-58.535 35.600-58.128Q35.255-57.722 35.255-57.186L35.255-55.428Q35.255-55.239 35.449-55.186Q35.642-55.133 35.950-55.133",[1025],"tikz-text","stroke-width:0.270",[1000,1028,1029],{"transform":1020},[1010,1030],{"d":1031,"fill":1002,"stroke":1002,"className":1032,"style":1026},"M16.503-43.799L16.503-45.241Q16.503-45.272 16.531-45.296Q16.560-45.320 16.591-45.320L16.700-45.320Q16.736-45.320 16.758-45.298Q16.779-45.276 16.788-45.241Q17.048-43.980 18.014-43.980Q18.441-43.980 18.735-44.164Q19.029-44.349 19.029-44.753Q19.029-45.047 18.799-45.243Q18.568-45.439 18.256-45.500L17.654-45.619Q17.188-45.707 16.845-45.990Q16.503-46.274 16.503-46.713Q16.503-47.306 16.940-47.579Q17.377-47.851 18.014-47.851Q18.493-47.851 18.841-47.605L19.091-47.829Q19.148-47.851 19.148-47.851L19.201-47.851Q19.227-47.851 19.260-47.825Q19.293-47.798 19.293-47.768L19.293-46.608Q19.293-46.577 19.258-46.550Q19.223-46.524 19.201-46.524L19.091-46.524Q19.069-46.524 19.036-46.553Q19.003-46.581 19.003-46.608Q19.003-47.073 18.737-47.344Q18.471-47.614 18.006-47.614Q17.601-47.614 17.298-47.469Q16.995-47.324 16.995-46.968Q16.995-46.722 17.212-46.568Q17.430-46.414 17.707-46.357L18.335-46.230Q18.652-46.168 18.922-46.001Q19.192-45.834 19.359-45.568Q19.526-45.302 19.526-44.986Q19.526-44.344 19.100-44.030Q18.674-43.716 18.014-43.716Q17.742-43.716 17.476-43.810Q17.210-43.905 17.030-44.094L16.709-43.755Q16.692-43.716 16.643-43.716L16.591-43.716Q16.569-43.716 16.536-43.744Q16.503-43.773 16.503-43.799M22.176-42.072L20.089-42.072L20.089-42.384Q20.401-42.384 20.592-42.435Q20.783-42.485 20.783-42.683L20.783-47.021Q20.783-47.262 20.609-47.322Q20.436-47.381 20.089-47.381L20.089-47.697L21.460-47.794L21.460-47.254Q21.719-47.522 22.053-47.658Q22.387-47.794 22.756-47.794Q23.156-47.794 23.512-47.627Q23.868-47.460 24.123-47.179Q24.378-46.898 24.520-46.533Q24.663-46.168 24.663-45.759Q24.663-45.197 24.386-44.731Q24.110-44.265 23.635-43.991Q23.160-43.716 22.611-43.716Q22.299-43.716 22.009-43.850Q21.719-43.984 21.486-44.230L21.486-42.683Q21.486-42.485 21.677-42.435Q21.868-42.384 22.176-42.384L22.176-42.072M21.486-46.840L21.486-44.709Q21.644-44.384 21.928-44.182Q22.211-43.980 22.554-43.980Q22.967-43.980 23.261-44.256Q23.556-44.533 23.703-44.951Q23.850-45.368 23.850-45.759Q23.850-46.137 23.716-46.546Q23.582-46.955 23.308-47.232Q23.033-47.508 22.655-47.508Q22.413-47.508 22.198-47.432Q21.983-47.355 21.791-47.194Q21.600-47.034 21.486-46.840",[1025],[1000,1034,1035],{"transform":1020},[1010,1036],{"d":1037,"fill":1002,"stroke":1002,"className":1038,"style":1026},"M27.552-43.716Q26.993-43.716 26.521-43.999Q26.049-44.283 25.774-44.760Q25.499-45.236 25.499-45.790Q25.499-46.186 25.642-46.561Q25.785-46.937 26.042-47.225Q26.299-47.513 26.657-47.682Q27.015-47.851 27.420-47.851Q27.965-47.851 28.336-47.614Q28.707-47.377 28.894-46.959Q29.081-46.542 29.081-46.005Q29.081-45.953 29.057-45.915Q29.032-45.878 28.984-45.878L26.312-45.878L26.312-45.799Q26.312-45.052 26.624-44.529Q26.936-44.006 27.635-44.006Q28.039-44.006 28.360-44.263Q28.681-44.520 28.804-44.924Q28.822-45.004 28.905-45.004L28.984-45.004Q29.024-45.004 29.052-44.973Q29.081-44.942 29.081-44.898L29.081-44.863Q28.975-44.520 28.753-44.261Q28.532-44.002 28.217-43.859Q27.903-43.716 27.552-43.716M26.321-46.129L28.435-46.129Q28.435-46.397 28.382-46.643Q28.329-46.889 28.209-47.111Q28.088-47.333 27.890-47.460Q27.692-47.588 27.420-47.588Q27.077-47.588 26.824-47.363Q26.572-47.139 26.446-46.801Q26.321-46.463 26.321-46.129M31.665-43.716Q31.115-43.716 30.656-43.995Q30.197-44.274 29.929-44.744Q29.661-45.214 29.661-45.759Q29.661-46.172 29.810-46.550Q29.960-46.928 30.234-47.223Q30.509-47.517 30.878-47.684Q31.247-47.851 31.665-47.851Q31.999-47.851 32.320-47.785Q32.640-47.719 32.869-47.533Q33.097-47.346 33.097-47.021Q33.097-46.845 32.970-46.717Q32.843-46.590 32.667-46.590Q32.482-46.590 32.353-46.715Q32.223-46.840 32.223-47.021Q32.223-47.157 32.298-47.269Q32.372-47.381 32.504-47.434Q32.197-47.561 31.665-47.561Q31.230-47.561 30.962-47.284Q30.694-47.007 30.582-46.592Q30.469-46.177 30.469-45.759Q30.469-45.329 30.608-44.927Q30.746-44.525 31.041-44.265Q31.335-44.006 31.775-44.006Q32.197-44.006 32.500-44.256Q32.803-44.507 32.908-44.916Q32.917-44.946 32.941-44.971Q32.966-44.995 32.996-44.995L33.106-44.995Q33.194-44.995 33.194-44.880Q33.049-44.344 32.636-44.030Q32.223-43.716 31.665-43.716",[1025],[1010,1040],{"fill":1015,"d":1041},"M116.404-59.84H71.06a4 4 0 0 0-4 4v24.045a4 4 0 0 0 4 4h45.344a4 4 0 0 0 4-4V-55.84a4 4 0 0 0-4-4ZM67.06-27.795",[1000,1043,1044,1051,1057],{"stroke":1015,"fontFamily":1016,"fontSize":1017},[1000,1045,1047],{"transform":1046},"translate(66.084 8.625)",[1010,1048],{"d":1049,"fill":1002,"stroke":1002,"className":1050,"style":1026},"M10.760-54.817L8.673-54.817L8.673-55.133Q8.980-55.133 9.172-55.186Q9.363-55.239 9.363-55.428L9.363-60.143Q9.363-60.385 9.292-60.493Q9.222-60.600 9.088-60.624Q8.954-60.649 8.673-60.649L8.673-60.965L10.040-61.062L10.040-58.012Q10.237-58.368 10.591-58.581Q10.945-58.794 11.345-58.794Q12.624-58.794 12.624-57.581L12.624-55.428Q12.624-55.239 12.815-55.186Q13.006-55.133 13.313-55.133L13.313-54.817L11.226-54.817L11.226-55.133Q11.538-55.133 11.729-55.186Q11.920-55.239 11.920-55.428L11.920-57.546Q11.920-57.805 11.876-58.027Q11.832-58.249 11.687-58.392Q11.542-58.535 11.283-58.535Q10.940-58.535 10.659-58.346Q10.378-58.157 10.222-57.845Q10.066-57.533 10.066-57.186L10.066-55.428Q10.066-55.239 10.259-55.186Q10.453-55.133 10.760-55.133L10.760-54.817M15.805-54.817L13.819-54.817L13.819-55.133Q14.126-55.133 14.318-55.186Q14.509-55.239 14.509-55.428L14.509-57.876Q14.509-58.122 14.443-58.227Q14.377-58.333 14.252-58.357Q14.126-58.381 13.854-58.381L13.854-58.697L15.186-58.794L15.186-55.428Q15.186-55.234 15.350-55.184Q15.515-55.133 15.805-55.133L15.805-54.817M14.206-60.341Q14.206-60.547 14.355-60.697Q14.504-60.846 14.707-60.846Q14.838-60.846 14.955-60.776Q15.071-60.706 15.142-60.589Q15.212-60.473 15.212-60.341Q15.212-60.139 15.062-59.989Q14.913-59.840 14.707-59.840Q14.504-59.840 14.355-59.989Q14.206-60.139 14.206-60.341M16.337-54.123Q16.337-54.435 16.565-54.674Q16.794-54.914 17.115-55.015Q16.935-55.155 16.840-55.364Q16.746-55.573 16.746-55.806Q16.746-56.219 17.022-56.553Q16.609-56.957 16.609-57.471Q16.609-57.862 16.829-58.161Q17.049-58.460 17.400-58.627Q17.752-58.794 18.130-58.794Q18.684-58.794 19.101-58.482Q19.290-58.675 19.551-58.785Q19.813-58.895 20.099-58.895Q20.301-58.895 20.435-58.752Q20.569-58.609 20.569-58.416Q20.569-58.289 20.485-58.210Q20.402-58.130 20.279-58.130Q20.160-58.130 20.077-58.210Q19.993-58.289 19.993-58.416Q19.993-58.491 20.002-58.517Q20.020-58.552 20.041-58.585Q20.063-58.618 20.072-58.631Q19.628-58.631 19.281-58.328Q19.642-57.946 19.642-57.471Q19.642-57.177 19.514-56.931Q19.387-56.685 19.174-56.509Q18.960-56.333 18.681-56.236Q18.402-56.140 18.130-56.140Q17.620-56.140 17.211-56.408Q17.084-56.236 17.084-56.030Q17.084-55.788 17.242-55.617Q17.400-55.445 17.633-55.445L18.398-55.445Q18.943-55.445 19.389-55.349Q19.835-55.252 20.134-54.962Q20.433-54.672 20.433-54.123Q20.433-53.543 19.747-53.253Q19.062-52.963 18.389-52.963Q17.717-52.963 17.027-53.253Q16.337-53.543 16.337-54.123M16.877-54.123Q16.877-53.828 17.130-53.630Q17.383-53.433 17.743-53.338Q18.103-53.244 18.389-53.244Q18.890-53.244 19.391-53.470Q19.892-53.696 19.892-54.123Q19.892-54.580 19.450-54.712Q19.009-54.843 18.398-54.843L17.633-54.843Q17.440-54.843 17.262-54.749Q17.084-54.654 16.981-54.490Q16.877-54.325 16.877-54.123M18.121-56.421L18.130-56.421Q18.912-56.421 18.912-57.471Q18.912-58.517 18.130-58.517Q17.339-58.517 17.339-57.471Q17.339-56.421 18.121-56.421M23.082-54.817L20.995-54.817L20.995-55.133Q21.303-55.133 21.494-55.186Q21.685-55.239 21.685-55.428L21.685-60.143Q21.685-60.385 21.615-60.493Q21.544-60.600 21.410-60.624Q21.276-60.649 20.995-60.649L20.995-60.965L22.362-61.062L22.362-58.012Q22.560-58.368 22.913-58.581Q23.267-58.794 23.667-58.794Q24.946-58.794 24.946-57.581L24.946-55.428Q24.946-55.239 25.137-55.186Q25.328-55.133 25.636-55.133L25.636-54.817L23.548-54.817L23.548-55.133Q23.860-55.133 24.051-55.186Q24.243-55.239 24.243-55.428L24.243-57.546Q24.243-57.805 24.199-58.027Q24.155-58.249 24.010-58.392Q23.865-58.535 23.605-58.535Q23.263-58.535 22.981-58.346Q22.700-58.157 22.544-57.845Q22.388-57.533 22.388-57.186L22.388-55.428Q22.388-55.239 22.582-55.186Q22.775-55.133 23.082-55.133L23.082-54.817M28.400-56.465L25.935-56.465L25.935-57.058L28.400-57.058L28.400-56.465M31.278-54.817L29.217-54.817L29.217-55.133Q29.525-55.133 29.716-55.186Q29.907-55.239 29.907-55.428L29.907-60.143Q29.907-60.385 29.837-60.493Q29.767-60.600 29.633-60.624Q29.499-60.649 29.217-60.649L29.217-60.965L30.584-61.062L30.584-55.428Q30.584-55.239 30.777-55.186Q30.971-55.133 31.278-55.133L31.278-54.817M33.788-54.716Q33.229-54.716 32.757-54.999Q32.285-55.283 32.010-55.760Q31.735-56.236 31.735-56.790Q31.735-57.186 31.878-57.561Q32.021-57.937 32.278-58.225Q32.535-58.513 32.893-58.682Q33.251-58.851 33.656-58.851Q34.201-58.851 34.572-58.614Q34.943-58.377 35.130-57.959Q35.317-57.542 35.317-57.005Q35.317-56.953 35.293-56.915Q35.269-56.878 35.220-56.878L32.548-56.878L32.548-56.799Q32.548-56.052 32.860-55.529Q33.172-55.006 33.871-55.006Q34.275-55.006 34.596-55.263Q34.917-55.520 35.040-55.924Q35.058-56.004 35.141-56.004L35.220-56.004Q35.260-56.004 35.288-55.973Q35.317-55.942 35.317-55.898L35.317-55.863Q35.211-55.520 34.989-55.261Q34.768-55.002 34.453-54.859Q34.139-54.716 33.788-54.716M32.557-57.129L34.671-57.129Q34.671-57.397 34.618-57.643Q34.565-57.889 34.445-58.111Q34.324-58.333 34.126-58.460Q33.928-58.588 33.656-58.588Q33.313-58.588 33.060-58.363Q32.808-58.139 32.682-57.801Q32.557-57.463 32.557-57.129M37.822-54.835L36.490-58.082Q36.402-58.280 36.238-58.330Q36.073-58.381 35.770-58.381L35.770-58.697L37.694-58.697L37.694-58.381Q37.202-58.381 37.202-58.166Q37.202-58.144 37.220-58.082L38.235-55.608L39.145-57.832Q39.180-57.915 39.180-58.012Q39.180-58.183 39.057-58.282Q38.934-58.381 38.767-58.381L38.767-58.697L40.278-58.697L40.278-58.381Q39.993-58.381 39.780-58.238Q39.566-58.095 39.461-57.832L38.226-54.835Q38.182-54.716 38.055-54.716L37.993-54.716Q37.866-54.716 37.822-54.835",[1025],[1000,1052,1053],{"transform":1046},[1010,1054],{"d":1055,"fill":1002,"stroke":1002,"className":1056,"style":1026},"M42.550-54.716Q41.991-54.716 41.519-54.999Q41.047-55.283 40.772-55.760Q40.497-56.236 40.497-56.790Q40.497-57.186 40.640-57.561Q40.783-57.937 41.040-58.225Q41.297-58.513 41.655-58.682Q42.013-58.851 42.418-58.851Q42.963-58.851 43.334-58.614Q43.705-58.377 43.892-57.959Q44.079-57.542 44.079-57.005Q44.079-56.953 44.055-56.915Q44.030-56.878 43.982-56.878L41.310-56.878L41.310-56.799Q41.310-56.052 41.622-55.529Q41.934-55.006 42.633-55.006Q43.037-55.006 43.358-55.263Q43.679-55.520 43.802-55.924Q43.820-56.004 43.903-56.004L43.982-56.004Q44.022-56.004 44.050-55.973Q44.079-55.942 44.079-55.898L44.079-55.863Q43.973-55.520 43.751-55.261Q43.530-55.002 43.215-54.859Q42.901-54.716 42.550-54.716M41.319-57.129L43.433-57.129Q43.433-57.397 43.380-57.643Q43.327-57.889 43.207-58.111Q43.086-58.333 42.888-58.460Q42.690-58.588 42.418-58.588Q42.075-58.588 41.822-58.363Q41.570-58.139 41.444-57.801Q41.319-57.463 41.319-57.129M46.720-54.817L44.659-54.817L44.659-55.133Q44.967-55.133 45.158-55.186Q45.349-55.239 45.349-55.428L45.349-60.143Q45.349-60.385 45.279-60.493Q45.208-60.600 45.074-60.624Q44.940-60.649 44.659-60.649L44.659-60.965L46.026-61.062L46.026-55.428Q46.026-55.239 46.219-55.186Q46.412-55.133 46.720-55.133",[1025],[1000,1058,1059],{"transform":1046},[1010,1060],{"d":1061,"fill":1002,"stroke":1002,"className":1062,"style":1026},"M21.718-43.817L19.732-43.817L19.732-44.133Q20.039-44.133 20.230-44.186Q20.422-44.239 20.422-44.428L20.422-46.876Q20.422-47.122 20.356-47.227Q20.290-47.333 20.164-47.357Q20.039-47.381 19.767-47.381L19.767-47.697L21.098-47.794L21.098-44.428Q21.098-44.234 21.263-44.184Q21.428-44.133 21.718-44.133L21.718-43.817M20.118-49.341Q20.118-49.547 20.268-49.697Q20.417-49.846 20.619-49.846Q20.751-49.846 20.868-49.776Q20.984-49.706 21.054-49.589Q21.125-49.473 21.125-49.341Q21.125-49.139 20.975-48.989Q20.826-48.840 20.619-48.840Q20.417-48.840 20.268-48.989Q20.118-49.139 20.118-49.341M24.240-43.716Q23.695-43.716 23.252-43.999Q22.808-44.283 22.553-44.755Q22.298-45.228 22.298-45.759Q22.298-46.313 22.575-46.779Q22.852-47.245 23.324-47.519Q23.797-47.794 24.341-47.794Q24.675-47.794 24.979-47.662Q25.282-47.530 25.502-47.293L25.502-49.143Q25.502-49.385 25.431-49.493Q25.361-49.600 25.227-49.624Q25.093-49.649 24.807-49.649L24.807-49.965L26.174-50.062L26.174-44.634Q26.174-44.397 26.244-44.289Q26.315-44.182 26.451-44.158Q26.587-44.133 26.868-44.133L26.868-43.817L25.475-43.716L25.475-44.265Q25.225-44.002 24.906-43.859Q24.588-43.716 24.240-43.716M24.302-43.980Q24.671-43.980 24.981-44.191Q25.291-44.401 25.475-44.744L25.475-46.876Q25.304-47.179 25.023-47.357Q24.741-47.535 24.403-47.535Q23.713-47.535 23.410-47.014Q23.107-46.493 23.107-45.751Q23.107-45.030 23.377-44.505Q23.647-43.980 24.302-43.980M29.439-43.716Q28.881-43.716 28.409-43.999Q27.936-44.283 27.662-44.760Q27.387-45.236 27.387-45.790Q27.387-46.186 27.530-46.561Q27.673-46.937 27.930-47.225Q28.187-47.513 28.545-47.682Q28.903-47.851 29.307-47.851Q29.852-47.851 30.224-47.614Q30.595-47.377 30.782-46.959Q30.968-46.542 30.968-46.005Q30.968-45.953 30.944-45.915Q30.920-45.878 30.872-45.878L28.200-45.878L28.200-45.799Q28.200-45.052 28.512-44.529Q28.824-44.006 29.523-44.006Q29.927-44.006 30.248-44.263Q30.569-44.520 30.692-44.924Q30.709-45.004 30.793-45.004L30.872-45.004Q30.911-45.004 30.940-44.973Q30.968-44.942 30.968-44.898L30.968-44.863Q30.863-44.520 30.641-44.261Q30.419-44.002 30.105-43.859Q29.791-43.716 29.439-43.716M28.209-46.129L30.322-46.129Q30.322-46.397 30.270-46.643Q30.217-46.889 30.096-47.111Q29.975-47.333 29.778-47.460Q29.580-47.588 29.307-47.588Q28.965-47.588 28.712-47.363Q28.459-47.139 28.334-46.801Q28.209-46.463 28.209-46.129M31.610-44.727Q31.610-45.267 32.043-45.601Q32.476-45.935 33.082-46.074Q33.689-46.212 34.220-46.212L34.220-46.546Q34.220-46.805 34.102-47.049Q33.983-47.293 33.774-47.440Q33.566-47.588 33.293-47.588Q32.731-47.588 32.419-47.390Q32.568-47.363 32.660-47.245Q32.753-47.126 32.753-46.968Q32.753-46.792 32.627-46.662Q32.502-46.533 32.322-46.533Q32.133-46.533 32.006-46.660Q31.878-46.788 31.878-46.968Q31.878-47.438 32.318-47.645Q32.757-47.851 33.293-47.851Q33.583-47.851 33.871-47.763Q34.159-47.675 34.392-47.515Q34.625-47.355 34.774-47.115Q34.924-46.876 34.924-46.581L34.924-44.546Q34.924-44.393 34.998-44.254Q35.073-44.116 35.218-44.116Q35.372-44.116 35.444-44.252Q35.517-44.388 35.517-44.546L35.517-45.122L35.802-45.122L35.802-44.546Q35.802-44.213 35.554-43.988Q35.306-43.764 34.976-43.764Q34.717-43.764 34.535-43.958Q34.352-44.151 34.308-44.428Q34.141-44.107 33.807-43.911Q33.473-43.716 33.104-43.716Q32.550-43.716 32.080-43.964Q31.610-44.213 31.610-44.727M32.366-44.727Q32.366-44.415 32.608-44.197Q32.849-43.980 33.166-43.980Q33.601-43.980 33.911-44.289Q34.220-44.599 34.220-45.030L34.220-45.957Q33.803-45.957 33.377-45.830Q32.950-45.702 32.658-45.425Q32.366-45.149 32.366-44.727",[1025],[1010,1064],{"fill":1015,"d":1065},"M200.778-59.84h-37.684a4 4 0 0 0-4 4v24.045a4 4 0 0 0 4 4h37.684a4 4 0 0 0 4-4V-55.84a4 4 0 0 0-4-4Zm-41.684 32.045",[1000,1067,1068,1075,1081],{"stroke":1015,"fontFamily":1016,"fontSize":1017},[1000,1069,1071],{"transform":1070},"translate(158.118 8.625)",[1010,1072],{"d":1073,"fill":1002,"stroke":1002,"className":1074,"style":1026},"M10.712-53.072L8.624-53.072L8.624-53.384Q8.937-53.384 9.128-53.435Q9.319-53.485 9.319-53.683L9.319-58.021Q9.319-58.262 9.145-58.322Q8.972-58.381 8.624-58.381L8.624-58.697L9.996-58.794L9.996-58.254Q10.255-58.522 10.589-58.658Q10.923-58.794 11.292-58.794Q11.692-58.794 12.048-58.627Q12.404-58.460 12.659-58.179Q12.914-57.898 13.056-57.533Q13.199-57.168 13.199-56.759Q13.199-56.197 12.922-55.731Q12.645-55.265 12.171-54.991Q11.696-54.716 11.147-54.716Q10.835-54.716 10.545-54.850Q10.255-54.984 10.022-55.230L10.022-53.683Q10.022-53.485 10.213-53.435Q10.404-53.384 10.712-53.384L10.712-53.072M10.022-57.840L10.022-55.709Q10.180-55.384 10.464-55.182Q10.747-54.980 11.090-54.980Q11.503-54.980 11.797-55.256Q12.092-55.533 12.239-55.951Q12.386-56.368 12.386-56.759Q12.386-57.137 12.252-57.546Q12.118-57.955 11.843-58.232Q11.569-58.508 11.191-58.508Q10.949-58.508 10.734-58.432Q10.519-58.355 10.327-58.194Q10.136-58.034 10.022-57.840M13.819-54.799L13.819-56.241Q13.819-56.272 13.847-56.296Q13.876-56.320 13.907-56.320L14.017-56.320Q14.052-56.320 14.074-56.298Q14.096-56.276 14.104-56.241Q14.364-54.980 15.331-54.980Q15.757-54.980 16.051-55.164Q16.346-55.349 16.346-55.753Q16.346-56.047 16.115-56.243Q15.884-56.439 15.572-56.500L14.970-56.619Q14.504-56.707 14.162-56.990Q13.819-57.274 13.819-57.713Q13.819-58.306 14.256-58.579Q14.693-58.851 15.331-58.851Q15.810-58.851 16.157-58.605L16.407-58.829Q16.464-58.851 16.464-58.851L16.517-58.851Q16.543-58.851 16.576-58.825Q16.609-58.798 16.609-58.768L16.609-57.608Q16.609-57.577 16.574-57.550Q16.539-57.524 16.517-57.524L16.407-57.524Q16.385-57.524 16.352-57.553Q16.319-57.581 16.319-57.608Q16.319-58.073 16.053-58.344Q15.788-58.614 15.322-58.614Q14.917-58.614 14.614-58.469Q14.311-58.324 14.311-57.968Q14.311-57.722 14.529-57.568Q14.746-57.414 15.023-57.357L15.651-57.230Q15.968-57.168 16.238-57.001Q16.508-56.834 16.675-56.568Q16.842-56.302 16.842-55.986Q16.842-55.344 16.416-55.030Q15.990-54.716 15.331-54.716Q15.058-54.716 14.792-54.810Q14.526-54.905 14.346-55.094L14.025-54.755Q14.008-54.716 13.959-54.716L13.907-54.716Q13.885-54.716 13.852-54.744Q13.819-54.773 13.819-54.799M19.466-54.716Q18.908-54.716 18.435-54.999Q17.963-55.283 17.688-55.760Q17.414-56.236 17.414-56.790Q17.414-57.186 17.556-57.561Q17.699-57.937 17.956-58.225Q18.213-58.513 18.572-58.682Q18.930-58.851 19.334-58.851Q19.879-58.851 20.250-58.614Q20.622-58.377 20.808-57.959Q20.995-57.542 20.995-57.005Q20.995-56.953 20.971-56.915Q20.947-56.878 20.898-56.878L18.227-56.878L18.227-56.799Q18.227-56.052 18.539-55.529Q18.851-55.006 19.549-55.006Q19.954-55.006 20.274-55.263Q20.595-55.520 20.718-55.924Q20.736-56.004 20.819-56.004L20.898-56.004Q20.938-56.004 20.967-55.973Q20.995-55.942 20.995-55.898L20.995-55.863Q20.890-55.520 20.668-55.261Q20.446-55.002 20.132-54.859Q19.817-54.716 19.466-54.716M18.235-57.129L20.349-57.129Q20.349-57.397 20.296-57.643Q20.244-57.889 20.123-58.111Q20.002-58.333 19.804-58.460Q19.606-58.588 19.334-58.588Q18.991-58.588 18.739-58.363Q18.486-58.139 18.361-57.801Q18.235-57.463 18.235-57.129M22.256-55.889L22.256-57.876Q22.256-58.117 22.186-58.225Q22.116-58.333 21.982-58.357Q21.848-58.381 21.566-58.381L21.566-58.697L22.959-58.794L22.959-55.924Q22.959-55.546 23.006-55.360Q23.052-55.173 23.223-55.076Q23.395-54.980 23.750-54.980Q24.084-54.980 24.324-55.171Q24.563-55.362 24.689-55.665Q24.814-55.968 24.814-56.285L24.814-57.876Q24.814-58.117 24.744-58.225Q24.673-58.333 24.539-58.357Q24.405-58.381 24.120-58.381L24.120-58.697L25.517-58.794L25.517-55.634Q25.517-55.397 25.587-55.289Q25.658-55.182 25.792-55.158Q25.926-55.133 26.207-55.133L26.207-54.817L24.840-54.716L24.840-55.437Q24.673-55.111 24.368-54.914Q24.062-54.716 23.707-54.716Q23.047-54.716 22.652-54.986Q22.256-55.256 22.256-55.889M28.655-54.716Q28.110-54.716 27.666-54.999Q27.222-55.283 26.967-55.755Q26.712-56.228 26.712-56.759Q26.712-57.313 26.989-57.779Q27.266-58.245 27.739-58.519Q28.211-58.794 28.756-58.794Q29.090-58.794 29.393-58.662Q29.696-58.530 29.916-58.293L29.916-60.143Q29.916-60.385 29.846-60.493Q29.775-60.600 29.641-60.624Q29.507-60.649 29.222-60.649L29.222-60.965L30.588-61.062L30.588-55.634Q30.588-55.397 30.659-55.289Q30.729-55.182 30.865-55.158Q31.001-55.133 31.283-55.133L31.283-54.817L29.890-54.716L29.890-55.265Q29.639-55.002 29.321-54.859Q29.002-54.716 28.655-54.716M28.716-54.980Q29.085-54.980 29.395-55.191Q29.705-55.401 29.890-55.744L29.890-57.876Q29.718-58.179 29.437-58.357Q29.156-58.535 28.817-58.535Q28.127-58.535 27.824-58.014Q27.521-57.493 27.521-56.751Q27.521-56.030 27.791-55.505Q28.062-54.980 28.716-54.980M31.801-56.724Q31.801-57.291 32.074-57.779Q32.346-58.267 32.816-58.559Q33.287-58.851 33.853-58.851Q34.275-58.851 34.651-58.682Q35.027-58.513 35.304-58.221Q35.581-57.928 35.739-57.533Q35.897-57.137 35.897-56.724Q35.897-56.175 35.618-55.713Q35.339-55.252 34.871-54.984Q34.403-54.716 33.853-54.716Q33.300-54.716 32.830-54.984Q32.359-55.252 32.080-55.713Q31.801-56.175 31.801-56.724M33.853-55.006Q34.350-55.006 34.627-55.267Q34.904-55.529 34.996-55.933Q35.088-56.338 35.088-56.834Q35.088-57.309 34.989-57.698Q34.891-58.087 34.618-58.337Q34.346-58.588 33.853-58.588Q33.142-58.588 32.878-58.093Q32.614-57.599 32.614-56.834Q32.614-56.034 32.869-55.520Q33.124-55.006 33.853-55.006M38.727-56.465L36.262-56.465L36.262-57.058L38.727-57.058",[1025],[1000,1076,1077],{"transform":1070},[1010,1078],{"d":1079,"fill":1002,"stroke":1002,"className":1080,"style":1026},"M17.007-43.716Q16.457-43.716 15.998-43.995Q15.539-44.274 15.271-44.744Q15.003-45.214 15.003-45.759Q15.003-46.172 15.152-46.550Q15.301-46.928 15.576-47.223Q15.851-47.517 16.220-47.684Q16.589-47.851 17.007-47.851Q17.341-47.851 17.661-47.785Q17.982-47.719 18.211-47.533Q18.439-47.346 18.439-47.021Q18.439-46.845 18.312-46.717Q18.184-46.590 18.008-46.590Q17.824-46.590 17.694-46.715Q17.565-46.840 17.565-47.021Q17.565-47.157 17.639-47.269Q17.714-47.381 17.846-47.434Q17.538-47.561 17.007-47.561Q16.571-47.561 16.303-47.284Q16.035-47.007 15.923-46.592Q15.811-46.177 15.811-45.759Q15.811-45.329 15.950-44.927Q16.088-44.525 16.383-44.265Q16.677-44.006 17.116-44.006Q17.538-44.006 17.841-44.256Q18.145-44.507 18.250-44.916Q18.259-44.946 18.283-44.971Q18.307-44.995 18.338-44.995L18.448-44.995Q18.536-44.995 18.536-44.880Q18.391-44.344 17.978-44.030Q17.565-43.716 17.007-43.716M19.059-45.724Q19.059-46.291 19.331-46.779Q19.604-47.267 20.074-47.559Q20.544-47.851 21.111-47.851Q21.533-47.851 21.909-47.682Q22.284-47.513 22.561-47.221Q22.838-46.928 22.996-46.533Q23.154-46.137 23.154-45.724Q23.154-45.175 22.875-44.713Q22.596-44.252 22.128-43.984Q21.660-43.716 21.111-43.716Q20.557-43.716 20.087-43.984Q19.617-44.252 19.338-44.713Q19.059-45.175 19.059-45.724M21.111-44.006Q21.608-44.006 21.884-44.267Q22.161-44.529 22.254-44.933Q22.346-45.338 22.346-45.834Q22.346-46.309 22.247-46.698Q22.148-47.087 21.876-47.337Q21.603-47.588 21.111-47.588Q20.399-47.588 20.135-47.093Q19.872-46.599 19.872-45.834Q19.872-45.034 20.127-44.520Q20.382-44.006 21.111-44.006",[1025],[1000,1082,1083],{"transform":1070},[1010,1084],{"d":1085,"fill":1002,"stroke":1002,"className":1086,"style":1026},"M25.938-43.716Q25.393-43.716 24.949-43.999Q24.505-44.283 24.250-44.755Q23.996-45.228 23.996-45.759Q23.996-46.313 24.272-46.779Q24.549-47.245 25.022-47.519Q25.494-47.794 26.039-47.794Q26.373-47.794 26.676-47.662Q26.980-47.530 27.199-47.293L27.199-49.143Q27.199-49.385 27.129-49.493Q27.059-49.600 26.925-49.624Q26.791-49.649 26.505-49.649L26.505-49.965L27.872-50.062L27.872-44.634Q27.872-44.397 27.942-44.289Q28.012-44.182 28.148-44.158Q28.285-44.133 28.566-44.133L28.566-43.817L27.173-43.716L27.173-44.265Q26.922-44.002 26.604-43.859Q26.285-43.716 25.938-43.716M26-43.980Q26.369-43.980 26.678-44.191Q26.988-44.401 27.173-44.744L27.173-46.876Q27.001-47.179 26.720-47.357Q26.439-47.535 26.101-47.535Q25.411-47.535 25.107-47.014Q24.804-46.493 24.804-45.751Q24.804-45.030 25.074-44.505Q25.345-43.980 26-43.980M31.137-43.716Q30.579-43.716 30.106-43.999Q29.634-44.283 29.359-44.760Q29.084-45.236 29.084-45.790Q29.084-46.186 29.227-46.561Q29.370-46.937 29.627-47.225Q29.884-47.513 30.242-47.682Q30.601-47.851 31.005-47.851Q31.550-47.851 31.921-47.614Q32.292-47.377 32.479-46.959Q32.666-46.542 32.666-46.005Q32.666-45.953 32.642-45.915Q32.618-45.878 32.569-45.878L29.897-45.878L29.897-45.799Q29.897-45.052 30.209-44.529Q30.521-44.006 31.220-44.006Q31.625-44.006 31.945-44.263Q32.266-44.520 32.389-44.924Q32.407-45.004 32.490-45.004L32.569-45.004Q32.609-45.004 32.637-44.973Q32.666-44.942 32.666-44.898L32.666-44.863Q32.561-44.520 32.339-44.261Q32.117-44.002 31.803-43.859Q31.488-43.716 31.137-43.716M29.906-46.129L32.020-46.129Q32.020-46.397 31.967-46.643Q31.915-46.889 31.794-47.111Q31.673-47.333 31.475-47.460Q31.277-47.588 31.005-47.588Q30.662-47.588 30.409-47.363Q30.157-47.139 30.032-46.801Q29.906-46.463 29.906-46.129",[1025],[1010,1088],{"fill":1015,"d":1089},"M301.198-60.715H250.46a4 4 0 0 0-4 4v25.795a4 4 0 0 0 4 4h50.737a4 4 0 0 0 4-4v-25.795a4 4 0 0 0-4-4ZM246.46-26.92",[1000,1091,1092,1099,1105],{"stroke":1015,"fontFamily":1016,"fontSize":1017},[1000,1093,1095],{"transform":1094},"translate(245.485 7.75)",[1010,1096],{"d":1097,"fill":1002,"stroke":1002,"className":1098,"style":1026},"M10.686-54.716Q10.136-54.716 9.677-54.995Q9.218-55.274 8.950-55.744Q8.682-56.214 8.682-56.759Q8.682-57.172 8.831-57.550Q8.980-57.928 9.255-58.223Q9.530-58.517 9.899-58.684Q10.268-58.851 10.686-58.851Q11.020-58.851 11.340-58.785Q11.661-58.719 11.890-58.533Q12.118-58.346 12.118-58.021Q12.118-57.845 11.991-57.717Q11.863-57.590 11.687-57.590Q11.503-57.590 11.373-57.715Q11.244-57.840 11.244-58.021Q11.244-58.157 11.318-58.269Q11.393-58.381 11.525-58.434Q11.217-58.561 10.686-58.561Q10.250-58.561 9.982-58.284Q9.714-58.007 9.602-57.592Q9.490-57.177 9.490-56.759Q9.490-56.329 9.629-55.927Q9.767-55.525 10.062-55.265Q10.356-55.006 10.795-55.006Q11.217-55.006 11.520-55.256Q11.824-55.507 11.929-55.916Q11.938-55.946 11.962-55.971Q11.986-55.995 12.017-55.995L12.127-55.995Q12.215-55.995 12.215-55.880Q12.070-55.344 11.657-55.030Q11.244-54.716 10.686-54.716M12.738-56.724Q12.738-57.291 13.010-57.779Q13.283-58.267 13.753-58.559Q14.223-58.851 14.790-58.851Q15.212-58.851 15.588-58.682Q15.963-58.513 16.240-58.221Q16.517-57.928 16.675-57.533Q16.833-57.137 16.833-56.724Q16.833-56.175 16.554-55.713Q16.275-55.252 15.807-54.984Q15.339-54.716 14.790-54.716Q14.236-54.716 13.766-54.984Q13.296-55.252 13.017-55.713Q12.738-56.175 12.738-56.724M14.790-55.006Q15.287-55.006 15.563-55.267Q15.840-55.529 15.933-55.933Q16.025-56.338 16.025-56.834Q16.025-57.309 15.926-57.698Q15.827-58.087 15.555-58.337Q15.282-58.588 14.790-58.588Q14.078-58.588 13.814-58.093Q13.551-57.599 13.551-56.834Q13.551-56.034 13.806-55.520Q14.061-55.006 14.790-55.006M19.483-54.817L17.396-54.817L17.396-55.133Q17.704-55.133 17.895-55.186Q18.086-55.239 18.086-55.428L18.086-57.876Q18.086-58.117 18.016-58.225Q17.945-58.333 17.811-58.357Q17.677-58.381 17.396-58.381L17.396-58.697L18.736-58.794L18.736-57.959Q18.934-58.337 19.294-58.566Q19.655-58.794 20.077-58.794Q21.123-58.794 21.307-57.985Q21.509-58.355 21.867-58.574Q22.226-58.794 22.643-58.794Q23.267-58.794 23.592-58.500Q23.917-58.205 23.917-57.581L23.917-55.428Q23.917-55.239 24.111-55.186Q24.304-55.133 24.612-55.133L24.612-54.817L22.524-54.817L22.524-55.133Q22.832-55.133 23.025-55.186Q23.219-55.239 23.219-55.428L23.219-57.546Q23.219-57.977 23.091-58.256Q22.964-58.535 22.577-58.535Q22.234-58.535 21.951-58.346Q21.667-58.157 21.511-57.845Q21.355-57.533 21.355-57.186L21.355-55.428Q21.355-55.239 21.547-55.186Q21.738-55.133 22.045-55.133L22.045-54.817L19.958-54.817L19.958-55.133Q20.270-55.133 20.461-55.186Q20.652-55.239 20.652-55.428L20.652-57.546Q20.652-57.805 20.608-58.027Q20.564-58.249 20.419-58.392Q20.274-58.535 20.015-58.535Q19.479-58.535 19.134-58.128Q18.789-57.722 18.789-57.186L18.789-55.428Q18.789-55.239 18.982-55.186Q19.176-55.133 19.483-55.133L19.483-54.817M27.139-53.072L25.051-53.072L25.051-53.384Q25.363-53.384 25.554-53.435Q25.746-53.485 25.746-53.683L25.746-58.021Q25.746-58.262 25.572-58.322Q25.398-58.381 25.051-58.381L25.051-58.697L26.422-58.794L26.422-58.254Q26.682-58.522 27.016-58.658Q27.350-58.794 27.719-58.794Q28.119-58.794 28.475-58.627Q28.831-58.460 29.085-58.179Q29.340-57.898 29.483-57.533Q29.626-57.168 29.626-56.759Q29.626-56.197 29.349-55.731Q29.072-55.265 28.598-54.991Q28.123-54.716 27.574-54.716Q27.262-54.716 26.972-54.850Q26.682-54.984 26.449-55.230L26.449-53.683Q26.449-53.485 26.640-53.435Q26.831-53.384 27.139-53.384L27.139-53.072M26.449-57.840L26.449-55.709Q26.607-55.384 26.890-55.182Q27.174-54.980 27.517-54.980Q27.930-54.980 28.224-55.256Q28.519-55.533 28.666-55.951Q28.813-56.368 28.813-56.759Q28.813-57.137 28.679-57.546Q28.545-57.955 28.270-58.232Q27.996-58.508 27.618-58.508Q27.376-58.508 27.161-58.432Q26.945-58.355 26.754-58.194Q26.563-58.034 26.449-57.840M32.307-54.817L30.246-54.817L30.246-55.133Q30.553-55.133 30.744-55.186Q30.936-55.239 30.936-55.428L30.936-60.143Q30.936-60.385 30.865-60.493Q30.795-60.600 30.661-60.624Q30.527-60.649 30.246-60.649L30.246-60.965L31.612-61.062L31.612-55.428Q31.612-55.239 31.806-55.186Q31.999-55.133 32.307-55.133L32.307-54.817M34.816-54.716Q34.258-54.716 33.785-54.999Q33.313-55.283 33.038-55.760Q32.764-56.236 32.764-56.790Q32.764-57.186 32.906-57.561Q33.049-57.937 33.306-58.225Q33.563-58.513 33.922-58.682Q34.280-58.851 34.684-58.851Q35.229-58.851 35.600-58.614Q35.972-58.377 36.158-57.959Q36.345-57.542 36.345-57.005Q36.345-56.953 36.321-56.915Q36.297-56.878 36.249-56.878L33.577-56.878L33.577-56.799Q33.577-56.052 33.889-55.529Q34.201-55.006 34.899-55.006Q35.304-55.006 35.624-55.263Q35.945-55.520 36.068-55.924Q36.086-56.004 36.169-56.004L36.249-56.004Q36.288-56.004 36.317-55.973Q36.345-55.942 36.345-55.898L36.345-55.863Q36.240-55.520 36.018-55.261Q35.796-55.002 35.482-54.859Q35.167-54.716 34.816-54.716M33.585-57.129L35.699-57.129Q35.699-57.397 35.646-57.643Q35.594-57.889 35.473-58.111Q35.352-58.333 35.154-58.460Q34.957-58.588 34.684-58.588Q34.341-58.588 34.089-58.363Q33.836-58.139 33.711-57.801Q33.585-57.463 33.585-57.129M38.419-54.817L36.745-54.817L36.745-55.133Q37.088-55.133 37.393-55.274Q37.699-55.415 37.914-55.683L38.740-56.698L37.672-58.082Q37.501-58.284 37.319-58.333Q37.136-58.381 36.789-58.381L36.789-58.697L38.687-58.697L38.687-58.381Q38.578-58.381 38.483-58.326Q38.389-58.271 38.389-58.174Q38.389-58.135 38.419-58.082L39.127-57.177L39.667-57.832Q39.777-57.972 39.777-58.122Q39.777-58.232 39.709-58.306Q39.641-58.381 39.536-58.381L39.536-58.697L41.206-58.697L41.206-58.381Q40.863-58.381 40.555-58.238Q40.248-58.095 40.037-57.832L39.307-56.940L40.489-55.428Q40.608-55.287 40.738-55.223Q40.867-55.160 40.999-55.147Q41.131-55.133 41.368-55.133L41.368-54.817L39.461-54.817L39.461-55.133Q39.566-55.133 39.667-55.188Q39.769-55.243 39.769-55.340Q39.769-55.388 39.742-55.428L38.929-56.474L38.283-55.683Q38.173-55.533 38.173-55.393Q38.173-55.287 38.246-55.210Q38.318-55.133 38.419-55.133L38.419-54.817M43.790-54.817L41.803-54.817L41.803-55.133Q42.111-55.133 42.302-55.186Q42.493-55.239 42.493-55.428L42.493-57.876Q42.493-58.122 42.427-58.227Q42.361-58.333 42.236-58.357Q42.111-58.381 41.838-58.381L41.838-58.697L43.170-58.794L43.170-55.428Q43.170-55.234 43.335-55.184Q43.499-55.133 43.790-55.133L43.790-54.817M42.190-60.341Q42.190-60.547 42.339-60.697Q42.489-60.846 42.691-60.846Q42.823-60.846 42.939-60.776Q43.056-60.706 43.126-60.589Q43.196-60.473 43.196-60.341Q43.196-60.139 43.047-59.989Q42.897-59.840 42.691-59.840Q42.489-59.840 42.339-59.989Q42.190-60.139 42.190-60.341M44.998-55.889L44.998-58.381L44.233-58.381L44.233-58.640Q44.638-58.640 44.904-58.906Q45.169-59.172 45.290-59.572Q45.411-59.972 45.411-60.354L45.701-60.354L45.701-58.697L46.989-58.697L46.989-58.381L45.701-58.381L45.701-55.924Q45.701-55.555 45.826-55.281Q45.952-55.006 46.277-55.006Q46.576-55.006 46.714-55.300Q46.853-55.595 46.853-55.924L46.853-56.447L47.138-56.447L47.138-55.889Q47.138-55.612 47.028-55.340Q46.918-55.067 46.705-54.892Q46.492-54.716 46.211-54.716Q45.851-54.716 45.578-54.854Q45.306-54.993 45.152-55.256Q44.998-55.520 44.998-55.889",[1025],[1000,1100,1101],{"transform":1094},[1010,1102],{"d":1103,"fill":1002,"stroke":1002,"className":1104,"style":1026},"M48.110-53.340Q48.277-53.235 48.457-53.235Q48.782-53.235 49.019-53.479Q49.257-53.723 49.406-54.070L49.709-54.817L48.343-58.082Q48.250-58.280 48.088-58.330Q47.925-58.381 47.622-58.381L47.622-58.697L49.547-58.697L49.547-58.381Q49.055-58.381 49.055-58.166Q49.055-58.144 49.072-58.082L50.079-55.692L50.979-57.832Q51.015-57.915 51.015-58.021Q51.015-58.183 50.894-58.282Q50.773-58.381 50.610-58.381L50.610-58.697L52.113-58.697L52.113-58.381Q51.828-58.381 51.614-58.238Q51.401-58.095 51.296-57.832L49.709-54.070Q49.520-53.617 49.206-53.294Q48.892-52.971 48.457-52.971Q48.132-52.971 47.872-53.191Q47.613-53.411 47.613-53.736Q47.613-53.903 47.732-54.017Q47.850-54.131 48.017-54.131Q48.132-54.131 48.222-54.081Q48.312-54.030 48.362-53.942Q48.413-53.855 48.413-53.736Q48.413-53.591 48.332-53.481Q48.250-53.371 48.110-53.340",[1025],[1000,1106,1107],{"transform":1094},[1010,1108],{"d":1109,"fill":1002,"stroke":1002,"className":1110,"style":1026},"M14.860-44.727Q14.860-45.267 15.293-45.601Q15.726-45.935 16.332-46.074Q16.939-46.212 17.470-46.212L17.470-46.546Q17.470-46.805 17.352-47.049Q17.233-47.293 17.024-47.440Q16.816-47.588 16.543-47.588Q15.981-47.588 15.669-47.390Q15.818-47.363 15.910-47.245Q16.003-47.126 16.003-46.968Q16.003-46.792 15.877-46.662Q15.752-46.533 15.572-46.533Q15.383-46.533 15.256-46.660Q15.128-46.788 15.128-46.968Q15.128-47.438 15.568-47.645Q16.007-47.851 16.543-47.851Q16.833-47.851 17.121-47.763Q17.409-47.675 17.642-47.515Q17.875-47.355 18.024-47.115Q18.174-46.876 18.174-46.581L18.174-44.546Q18.174-44.393 18.248-44.254Q18.323-44.116 18.468-44.116Q18.622-44.116 18.694-44.252Q18.767-44.388 18.767-44.546L18.767-45.122L19.053-45.122L19.053-44.546Q19.053-44.213 18.804-43.988Q18.556-43.764 18.226-43.764Q17.967-43.764 17.785-43.958Q17.602-44.151 17.558-44.428Q17.391-44.107 17.057-43.911Q16.723-43.716 16.354-43.716Q15.801-43.716 15.330-43.964Q14.860-44.213 14.860-44.727M15.616-44.727Q15.616-44.415 15.858-44.197Q16.099-43.980 16.416-43.980Q16.851-43.980 17.161-44.289Q17.470-44.599 17.470-45.030L17.470-45.957Q17.053-45.957 16.627-45.830Q16.200-45.702 15.908-45.425Q15.616-45.149 15.616-44.727M21.496-43.817L19.408-43.817L19.408-44.133Q19.716-44.133 19.907-44.186Q20.098-44.239 20.098-44.428L20.098-46.876Q20.098-47.117 20.028-47.225Q19.958-47.333 19.824-47.357Q19.690-47.381 19.408-47.381L19.408-47.697L20.749-47.794L20.749-46.959Q20.947-47.341 21.300-47.568Q21.654-47.794 22.080-47.794Q23.359-47.794 23.359-46.581L23.359-44.428Q23.359-44.239 23.550-44.186Q23.741-44.133 24.049-44.133L24.049-43.817L21.962-43.817L21.962-44.133Q22.274-44.133 22.465-44.186Q22.656-44.239 22.656-44.428L22.656-46.546Q22.656-46.805 22.612-47.027Q22.568-47.249 22.423-47.392Q22.278-47.535 22.019-47.535Q21.676-47.535 21.395-47.346Q21.114-47.157 20.958-46.845Q20.802-46.533 20.802-46.186L20.802-44.428Q20.802-44.239 20.995-44.186Q21.188-44.133 21.496-44.133L21.496-43.817M24.616-44.727Q24.616-45.267 25.049-45.601Q25.482-45.935 26.088-46.074Q26.695-46.212 27.226-46.212L27.226-46.546Q27.226-46.805 27.108-47.049Q26.989-47.293 26.780-47.440Q26.572-47.588 26.299-47.588Q25.737-47.588 25.425-47.390Q25.574-47.363 25.666-47.245Q25.759-47.126 25.759-46.968Q25.759-46.792 25.633-46.662Q25.508-46.533 25.328-46.533Q25.139-46.533 25.012-46.660Q24.884-46.788 24.884-46.968Q24.884-47.438 25.324-47.645Q25.763-47.851 26.299-47.851Q26.589-47.851 26.877-47.763Q27.165-47.675 27.398-47.515Q27.631-47.355 27.780-47.115Q27.929-46.876 27.929-46.581L27.929-44.546Q27.929-44.393 28.004-44.254Q28.079-44.116 28.224-44.116Q28.378-44.116 28.450-44.252Q28.523-44.388 28.523-44.546L28.523-45.122L28.808-45.122L28.808-44.546Q28.808-44.213 28.560-43.988Q28.312-43.764 27.982-43.764Q27.723-43.764 27.541-43.958Q27.358-44.151 27.314-44.428Q27.147-44.107 26.813-43.911Q26.479-43.716 26.110-43.716Q25.556-43.716 25.086-43.964Q24.616-44.213 24.616-44.727M25.372-44.727Q25.372-44.415 25.614-44.197Q25.855-43.980 26.172-43.980Q26.607-43.980 26.917-44.289Q27.226-44.599 27.226-45.030L27.226-45.957Q26.809-45.957 26.383-45.830Q25.956-45.702 25.664-45.425Q25.372-45.149 25.372-44.727M31.234-43.817L29.173-43.817L29.173-44.133Q29.481-44.133 29.672-44.186Q29.863-44.239 29.863-44.428L29.863-49.143Q29.863-49.385 29.793-49.493Q29.722-49.600 29.588-49.624Q29.454-49.649 29.173-49.649L29.173-49.965L30.540-50.062L30.540-44.428Q30.540-44.239 30.733-44.186Q30.927-44.133 31.234-44.133L31.234-43.817M32.109-42.340Q32.276-42.235 32.456-42.235Q32.781-42.235 33.018-42.479Q33.256-42.723 33.405-43.070L33.708-43.817L32.342-47.082Q32.249-47.280 32.087-47.330Q31.924-47.381 31.621-47.381L31.621-47.697L33.546-47.697L33.546-47.381Q33.053-47.381 33.053-47.166Q33.053-47.144 33.071-47.082L34.077-44.692L34.978-46.832Q35.013-46.915 35.013-47.021Q35.013-47.183 34.893-47.282Q34.772-47.381 34.609-47.381L34.609-47.697L36.112-47.697L36.112-47.381Q35.826-47.381 35.613-47.238Q35.400-47.095 35.295-46.832L33.708-43.070Q33.519-42.617 33.205-42.294Q32.891-41.971 32.456-41.971Q32.131-41.971 31.871-42.191Q31.612-42.411 31.612-42.736Q31.612-42.903 31.731-43.017Q31.849-43.131 32.016-43.131Q32.131-43.131 32.221-43.081Q32.311-43.030 32.361-42.942Q32.412-42.855 32.412-42.736Q32.412-42.591 32.331-42.481Q32.249-42.371 32.109-42.340M36.617-43.799L36.617-45.241Q36.617-45.272 36.646-45.296Q36.675-45.320 36.705-45.320L36.815-45.320Q36.850-45.320 36.872-45.298Q36.894-45.276 36.903-45.241Q37.162-43.980 38.129-43.980Q38.555-43.980 38.850-44.164Q39.144-44.349 39.144-44.753Q39.144-45.047 38.914-45.243Q38.683-45.439 38.371-45.500L37.769-45.619Q37.303-45.707 36.960-45.990Q36.617-46.274 36.617-46.713Q36.617-47.306 37.055-47.579Q37.492-47.851 38.129-47.851Q38.608-47.851 38.955-47.605L39.206-47.829Q39.263-47.851 39.263-47.851L39.316-47.851Q39.342-47.851 39.375-47.825Q39.408-47.798 39.408-47.768L39.408-46.608Q39.408-46.577 39.373-46.550Q39.338-46.524 39.316-46.524L39.206-46.524Q39.184-46.524 39.151-46.553Q39.118-46.581 39.118-46.608Q39.118-47.073 38.852-47.344Q38.586-47.614 38.120-47.614Q37.716-47.614 37.413-47.469Q37.110-47.324 37.110-46.968Q37.110-46.722 37.327-46.568Q37.545-46.414 37.822-46.357L38.450-46.230Q38.766-46.168 39.037-46.001Q39.307-45.834 39.474-45.568Q39.641-45.302 39.641-44.986Q39.641-44.344 39.215-44.030Q38.788-43.716 38.129-43.716Q37.857-43.716 37.591-43.810Q37.325-43.905 37.145-44.094L36.824-43.755Q36.806-43.716 36.758-43.716L36.705-43.716Q36.683-43.716 36.650-43.744Q36.617-43.773 36.617-43.799M42.247-43.817L40.261-43.817L40.261-44.133Q40.568-44.133 40.759-44.186Q40.950-44.239 40.950-44.428L40.950-46.876Q40.950-47.122 40.885-47.227Q40.819-47.333 40.693-47.357Q40.568-47.381 40.296-47.381L40.296-47.697L41.627-47.794L41.627-44.428Q41.627-44.234 41.792-44.184Q41.957-44.133 42.247-44.133L42.247-43.817M40.647-49.341Q40.647-49.547 40.797-49.697Q40.946-49.846 41.148-49.846Q41.280-49.846 41.397-49.776Q41.513-49.706 41.583-49.589Q41.654-49.473 41.654-49.341Q41.654-49.139 41.504-48.989Q41.355-48.840 41.148-48.840Q40.946-48.840 40.797-48.989Q40.647-49.139 40.647-49.341M42.827-43.799L42.827-45.241Q42.827-45.272 42.856-45.296Q42.884-45.320 42.915-45.320L43.025-45.320Q43.060-45.320 43.082-45.298Q43.104-45.276 43.113-45.241Q43.372-43.980 44.339-43.980Q44.765-43.980 45.059-44.164Q45.354-44.349 45.354-44.753Q45.354-45.047 45.123-45.243Q44.892-45.439 44.580-45.500L43.978-45.619Q43.512-45.707 43.170-45.990Q42.827-46.274 42.827-46.713Q42.827-47.306 43.264-47.579Q43.701-47.851 44.339-47.851Q44.818-47.851 45.165-47.605L45.415-47.829Q45.472-47.851 45.472-47.851L45.525-47.851Q45.552-47.851 45.585-47.825Q45.617-47.798 45.617-47.768L45.617-46.608Q45.617-46.577 45.582-46.550Q45.547-46.524 45.525-46.524L45.415-46.524Q45.393-46.524 45.360-46.553Q45.327-46.581 45.327-46.608Q45.327-47.073 45.062-47.344Q44.796-47.614 44.330-47.614Q43.926-47.614 43.622-47.469Q43.319-47.324 43.319-46.968Q43.319-46.722 43.537-46.568Q43.754-46.414 44.031-46.357L44.659-46.230Q44.976-46.168 45.246-46.001Q45.516-45.834 45.683-45.568Q45.850-45.302 45.850-44.986Q45.850-44.344 45.424-44.030Q44.998-43.716 44.339-43.716Q44.066-43.716 43.800-43.810Q43.534-43.905 43.354-44.094L43.033-43.755Q43.016-43.716 42.968-43.716L42.915-43.716Q42.893-43.716 42.860-43.744Q42.827-43.773 42.827-43.799",[1025],[1000,1112,1113,1116],{"fill":1006},[1010,1114],{"d":1115},"M207.506-2.934h-51.14a4 4 0 0 0-4 4V25.11a4 4 0 0 0 4 4h51.14a4 4 0 0 0 4-4V1.066a4 4 0 0 0-4-4Zm-55.14 32.045",[1000,1117,1118,1125,1131,1137],{"fill":1002,"stroke":1015,"fontFamily":1016,"fontSize":1017},[1000,1119,1121],{"transform":1120},"translate(151.39 65.53)",[1010,1122],{"d":1123,"fill":1002,"stroke":1002,"className":1124,"style":1026},"M17.072-53.072L14.984-53.072L14.984-53.384Q15.297-53.384 15.488-53.435Q15.679-53.485 15.679-53.683L15.679-58.021Q15.679-58.262 15.505-58.322Q15.332-58.381 14.984-58.381L14.984-58.697L16.356-58.794L16.356-58.254Q16.615-58.522 16.949-58.658Q17.283-58.794 17.652-58.794Q18.052-58.794 18.408-58.627Q18.764-58.460 19.019-58.179Q19.274-57.898 19.416-57.533Q19.559-57.168 19.559-56.759Q19.559-56.197 19.282-55.731Q19.005-55.265 18.531-54.991Q18.056-54.716 17.507-54.716Q17.195-54.716 16.905-54.850Q16.615-54.984 16.382-55.230L16.382-53.683Q16.382-53.485 16.573-53.435Q16.764-53.384 17.072-53.384L17.072-53.072M16.382-57.840L16.382-55.709Q16.540-55.384 16.824-55.182Q17.107-54.980 17.450-54.980Q17.863-54.980 18.157-55.256Q18.452-55.533 18.599-55.951Q18.746-56.368 18.746-56.759Q18.746-57.137 18.612-57.546Q18.478-57.955 18.203-58.232Q17.929-58.508 17.551-58.508Q17.309-58.508 17.094-58.432Q16.879-58.355 16.687-58.194Q16.496-58.034 16.382-57.840M22.354-54.817L20.122-54.817L20.122-55.133Q20.434-55.133 20.625-55.186Q20.816-55.239 20.816-55.428L20.816-57.876Q20.816-58.117 20.746-58.225Q20.675-58.333 20.541-58.357Q20.407-58.381 20.122-58.381L20.122-58.697L21.436-58.794L21.436-57.933Q21.598-58.324 21.866-58.559Q22.134-58.794 22.526-58.794Q22.798-58.794 23.013-58.631Q23.229-58.469 23.229-58.210Q23.229-58.034 23.110-57.915Q22.991-57.796 22.816-57.796Q22.635-57.796 22.517-57.915Q22.398-58.034 22.398-58.210Q22.398-58.425 22.552-58.535L22.534-58.535Q22.156-58.535 21.923-58.273Q21.691-58.012 21.592-57.625Q21.493-57.238 21.493-56.878L21.493-55.428Q21.493-55.239 21.750-55.186Q22.007-55.133 22.354-55.133L22.354-54.817M23.747-56.724Q23.747-57.291 24.020-57.779Q24.292-58.267 24.762-58.559Q25.233-58.851 25.799-58.851Q26.221-58.851 26.597-58.682Q26.973-58.513 27.250-58.221Q27.526-57.928 27.685-57.533Q27.843-57.137 27.843-56.724Q27.843-56.175 27.564-55.713Q27.285-55.252 26.817-54.984Q26.349-54.716 25.799-54.716Q25.246-54.716 24.776-54.984Q24.305-55.252 24.026-55.713Q23.747-56.175 23.747-56.724M25.799-55.006Q26.296-55.006 26.573-55.267Q26.850-55.529 26.942-55.933Q27.034-56.338 27.034-56.834Q27.034-57.309 26.935-57.698Q26.837-58.087 26.564-58.337Q26.292-58.588 25.799-58.588Q25.088-58.588 24.824-58.093Q24.560-57.599 24.560-56.834Q24.560-56.034 24.815-55.520Q25.070-55.006 25.799-55.006",[1025],[1000,1126,1127],{"transform":1120},[1010,1128],{"d":1129,"fill":1002,"stroke":1002,"className":1130,"style":1026},"M28.632-56.724Q28.632-57.291 28.905-57.779Q29.177-58.267 29.647-58.559Q30.118-58.851 30.685-58.851Q31.106-58.851 31.482-58.682Q31.858-58.513 32.135-58.221Q32.412-57.928 32.570-57.533Q32.728-57.137 32.728-56.724Q32.728-56.175 32.449-55.713Q32.170-55.252 31.702-54.984Q31.234-54.716 30.685-54.716Q30.131-54.716 29.661-54.984Q29.190-55.252 28.911-55.713Q28.632-56.175 28.632-56.724M30.685-55.006Q31.181-55.006 31.458-55.267Q31.735-55.529 31.827-55.933Q31.919-56.338 31.919-56.834Q31.919-57.309 31.821-57.698Q31.722-58.087 31.449-58.337Q31.177-58.588 30.685-58.588Q29.973-58.588 29.709-58.093Q29.445-57.599 29.445-56.834Q29.445-56.034 29.700-55.520Q29.955-55.006 30.685-55.006M35.532-54.817L33.299-54.817L33.299-55.133Q33.607-55.133 33.798-55.186Q33.989-55.239 33.989-55.428L33.989-58.381L33.299-58.381L33.299-58.697L33.989-58.697L33.989-59.765Q33.989-60.148 34.202-60.471Q34.415-60.794 34.769-60.978Q35.123-61.163 35.501-61.163Q35.822-61.163 36.072-60.985Q36.323-60.807 36.323-60.495Q36.323-60.319 36.204-60.200Q36.085-60.082 35.910-60.082Q35.729-60.082 35.606-60.200Q35.483-60.319 35.483-60.495Q35.483-60.736 35.699-60.864Q35.593-60.899 35.457-60.899Q35.189-60.899 35.007-60.717Q34.824-60.534 34.732-60.264Q34.640-59.994 34.640-59.730L34.640-58.697L35.690-58.697L35.690-58.381L34.666-58.381L34.666-55.428Q34.666-55.239 34.923-55.186Q35.180-55.133 35.532-55.133",[1025],[1000,1132,1133],{"transform":1120},[1010,1134],{"d":1135,"fill":1002,"stroke":1002,"className":1136,"style":1026},"M39.167-56.724Q39.167-57.291 39.440-57.779Q39.712-58.267 40.182-58.559Q40.653-58.851 41.220-58.851Q41.641-58.851 42.017-58.682Q42.393-58.513 42.670-58.221Q42.947-57.928 43.105-57.533Q43.263-57.137 43.263-56.724Q43.263-56.175 42.984-55.713Q42.705-55.252 42.237-54.984Q41.769-54.716 41.220-54.716Q40.666-54.716 40.196-54.984Q39.725-55.252 39.446-55.713Q39.167-56.175 39.167-56.724M41.220-55.006Q41.716-55.006 41.993-55.267Q42.270-55.529 42.362-55.933Q42.454-56.338 42.454-56.834Q42.454-57.309 42.356-57.698Q42.257-58.087 41.984-58.337Q41.712-58.588 41.220-58.588Q40.508-58.588 40.244-58.093Q39.980-57.599 39.980-56.834Q39.980-56.034 40.235-55.520Q40.490-55.006 41.220-55.006M46.067-54.817L43.834-54.817L43.834-55.133Q44.142-55.133 44.333-55.186Q44.524-55.239 44.524-55.428L44.524-58.381L43.834-58.381L43.834-58.697L44.524-58.697L44.524-59.765Q44.524-60.148 44.737-60.471Q44.950-60.794 45.304-60.978Q45.658-61.163 46.036-61.163Q46.357-61.163 46.607-60.985Q46.858-60.807 46.858-60.495Q46.858-60.319 46.739-60.200Q46.620-60.082 46.445-60.082Q46.264-60.082 46.141-60.200Q46.018-60.319 46.018-60.495Q46.018-60.736 46.234-60.864Q46.128-60.899 45.992-60.899Q45.724-60.899 45.542-60.717Q45.359-60.534 45.267-60.264Q45.175-59.994 45.175-59.730L45.175-58.697L46.225-58.697L46.225-58.381L45.201-58.381L45.201-55.428Q45.201-55.239 45.458-55.186Q45.715-55.133 46.067-55.133",[1025],[1000,1138,1139],{"transform":1120},[1010,1140],{"d":1141,"fill":1002,"stroke":1002,"className":1142,"style":1026},"M10.686-43.716Q10.136-43.716 9.677-43.995Q9.218-44.274 8.950-44.744Q8.682-45.214 8.682-45.759Q8.682-46.172 8.831-46.550Q8.980-46.928 9.255-47.223Q9.530-47.517 9.899-47.684Q10.268-47.851 10.686-47.851Q11.020-47.851 11.340-47.785Q11.661-47.719 11.890-47.533Q12.118-47.346 12.118-47.021Q12.118-46.845 11.991-46.717Q11.863-46.590 11.687-46.590Q11.503-46.590 11.373-46.715Q11.244-46.840 11.244-47.021Q11.244-47.157 11.318-47.269Q11.393-47.381 11.525-47.434Q11.217-47.561 10.686-47.561Q10.250-47.561 9.982-47.284Q9.714-47.007 9.602-46.592Q9.490-46.177 9.490-45.759Q9.490-45.329 9.629-44.927Q9.767-44.525 10.062-44.265Q10.356-44.006 10.795-44.006Q11.217-44.006 11.520-44.256Q11.824-44.507 11.929-44.916Q11.938-44.946 11.962-44.971Q11.986-44.995 12.017-44.995L12.127-44.995Q12.215-44.995 12.215-44.880Q12.070-44.344 11.657-44.030Q11.244-43.716 10.686-43.716M12.738-45.724Q12.738-46.291 13.010-46.779Q13.283-47.267 13.753-47.559Q14.223-47.851 14.790-47.851Q15.212-47.851 15.588-47.682Q15.963-47.513 16.240-47.221Q16.517-46.928 16.675-46.533Q16.833-46.137 16.833-45.724Q16.833-45.175 16.554-44.713Q16.275-44.252 15.807-43.984Q15.339-43.716 14.790-43.716Q14.236-43.716 13.766-43.984Q13.296-44.252 13.017-44.713Q12.738-45.175 12.738-45.724M14.790-44.006Q15.287-44.006 15.563-44.267Q15.840-44.529 15.933-44.933Q16.025-45.338 16.025-45.834Q16.025-46.309 15.926-46.698Q15.827-47.087 15.555-47.337Q15.282-47.588 14.790-47.588Q14.078-47.588 13.814-47.093Q13.551-46.599 13.551-45.834Q13.551-45.034 13.806-44.520Q14.061-44.006 14.790-44.006M19.580-43.817L17.348-43.817L17.348-44.133Q17.660-44.133 17.851-44.186Q18.042-44.239 18.042-44.428L18.042-46.876Q18.042-47.117 17.972-47.225Q17.901-47.333 17.767-47.357Q17.633-47.381 17.348-47.381L17.348-47.697L18.662-47.794L18.662-46.933Q18.824-47.324 19.092-47.559Q19.360-47.794 19.751-47.794Q20.024-47.794 20.239-47.631Q20.455-47.469 20.455-47.210Q20.455-47.034 20.336-46.915Q20.217-46.796 20.041-46.796Q19.861-46.796 19.743-46.915Q19.624-47.034 19.624-47.210Q19.624-47.425 19.778-47.535L19.760-47.535Q19.382-47.535 19.149-47.273Q18.916-47.012 18.818-46.625Q18.719-46.238 18.719-45.878L18.719-44.428Q18.719-44.239 18.976-44.186Q19.233-44.133 19.580-44.133L19.580-43.817M23.197-43.817L20.964-43.817L20.964-44.133Q21.276-44.133 21.468-44.186Q21.659-44.239 21.659-44.428L21.659-46.876Q21.659-47.117 21.588-47.225Q21.518-47.333 21.384-47.357Q21.250-47.381 20.964-47.381L20.964-47.697L22.278-47.794L22.278-46.933Q22.441-47.324 22.709-47.559Q22.977-47.794 23.368-47.794Q23.641-47.794 23.856-47.631Q24.071-47.469 24.071-47.210Q24.071-47.034 23.953-46.915Q23.834-46.796 23.658-46.796Q23.478-46.796 23.359-46.915Q23.241-47.034 23.241-47.210Q23.241-47.425 23.395-47.535L23.377-47.535Q22.999-47.535 22.766-47.273Q22.533-47.012 22.434-46.625Q22.335-46.238 22.335-45.878L22.335-44.428Q22.335-44.239 22.593-44.186Q22.850-44.133 23.197-44.133L23.197-43.817M26.642-43.716Q26.084-43.716 25.612-43.999Q25.139-44.283 24.864-44.760Q24.590-45.236 24.590-45.790Q24.590-46.186 24.733-46.561Q24.875-46.937 25.133-47.225Q25.390-47.513 25.748-47.682Q26.106-47.851 26.510-47.851Q27.055-47.851 27.426-47.614Q27.798-47.377 27.985-46.959Q28.171-46.542 28.171-46.005Q28.171-45.953 28.147-45.915Q28.123-45.878 28.075-45.878L25.403-45.878L25.403-45.799Q25.403-45.052 25.715-44.529Q26.027-44.006 26.726-44.006Q27.130-44.006 27.451-44.263Q27.771-44.520 27.895-44.924Q27.912-45.004 27.996-45.004L28.075-45.004Q28.114-45.004 28.143-44.973Q28.171-44.942 28.171-44.898L28.171-44.863Q28.066-44.520 27.844-44.261Q27.622-44.002 27.308-43.859Q26.994-43.716 26.642-43.716M25.412-46.129L27.525-46.129Q27.525-46.397 27.473-46.643Q27.420-46.889 27.299-47.111Q27.178-47.333 26.980-47.460Q26.783-47.588 26.510-47.588Q26.167-47.588 25.915-47.363Q25.662-47.139 25.537-46.801Q25.412-46.463 25.412-46.129M30.755-43.716Q30.206-43.716 29.747-43.995Q29.288-44.274 29.020-44.744Q28.751-45.214 28.751-45.759Q28.751-46.172 28.901-46.550Q29.050-46.928 29.325-47.223Q29.600-47.517 29.969-47.684Q30.338-47.851 30.755-47.851Q31.089-47.851 31.410-47.785Q31.731-47.719 31.959-47.533Q32.188-47.346 32.188-47.021Q32.188-46.845 32.061-46.717Q31.933-46.590 31.757-46.590Q31.573-46.590 31.443-46.715Q31.313-46.840 31.313-47.021Q31.313-47.157 31.388-47.269Q31.463-47.381 31.595-47.434Q31.287-47.561 30.755-47.561Q30.320-47.561 30.052-47.284Q29.784-47.007 29.672-46.592Q29.560-46.177 29.560-45.759Q29.560-45.329 29.698-44.927Q29.837-44.525 30.131-44.265Q30.426-44.006 30.865-44.006Q31.287-44.006 31.590-44.256Q31.894-44.507 31.999-44.916Q32.008-44.946 32.032-44.971Q32.056-44.995 32.087-44.995L32.197-44.995Q32.285-44.995 32.285-44.880Q32.140-44.344 31.727-44.030Q31.313-43.716 30.755-43.716M33.484-44.889L33.484-47.381L32.720-47.381L32.720-47.640Q33.124-47.640 33.390-47.906Q33.656-48.172 33.777-48.572Q33.897-48.972 33.897-49.354L34.187-49.354L34.187-47.697L35.475-47.697L35.475-47.381L34.187-47.381L34.187-44.924Q34.187-44.555 34.313-44.281Q34.438-44.006 34.763-44.006Q35.062-44.006 35.200-44.300Q35.339-44.595 35.339-44.924L35.339-45.447L35.624-45.447L35.624-44.889Q35.624-44.612 35.515-44.340Q35.405-44.067 35.192-43.892Q34.978-43.716 34.697-43.716Q34.337-43.716 34.064-43.854Q33.792-43.993 33.638-44.256Q33.484-44.520 33.484-44.889M38.525-43.817L36.437-43.817L36.437-44.133Q36.745-44.133 36.936-44.186Q37.127-44.239 37.127-44.428L37.127-46.876Q37.127-47.117 37.057-47.225Q36.987-47.333 36.853-47.357Q36.719-47.381 36.437-47.381L36.437-47.697L37.778-47.794L37.778-46.959Q37.976-47.341 38.329-47.568Q38.683-47.794 39.109-47.794Q40.388-47.794 40.388-46.581L40.388-44.428Q40.388-44.239 40.579-44.186Q40.770-44.133 41.078-44.133L41.078-43.817L38.991-43.817L38.991-44.133Q39.303-44.133 39.494-44.186Q39.685-44.239 39.685-44.428L39.685-46.546Q39.685-46.805 39.641-47.027Q39.597-47.249 39.452-47.392Q39.307-47.535 39.048-47.535Q38.705-47.535 38.424-47.346Q38.143-47.157 37.987-46.845Q37.831-46.533 37.831-46.186L37.831-44.428Q37.831-44.239 38.024-44.186Q38.217-44.133 38.525-44.133L38.525-43.817M43.587-43.716Q43.029-43.716 42.557-43.999Q42.084-44.283 41.810-44.760Q41.535-45.236 41.535-45.790Q41.535-46.186 41.678-46.561Q41.821-46.937 42.078-47.225Q42.335-47.513 42.693-47.682Q43.051-47.851 43.456-47.851Q44-47.851 44.372-47.614Q44.743-47.377 44.930-46.959Q45.117-46.542 45.117-46.005Q45.117-45.953 45.093-45.915Q45.068-45.878 45.020-45.878L42.348-45.878L42.348-45.799Q42.348-45.052 42.660-44.529Q42.972-44.006 43.671-44.006Q44.075-44.006 44.396-44.263Q44.717-44.520 44.840-44.924Q44.857-45.004 44.941-45.004L45.020-45.004Q45.060-45.004 45.088-44.973Q45.117-44.942 45.117-44.898L45.117-44.863Q45.011-44.520 44.789-44.261Q44.567-44.002 44.253-43.859Q43.939-43.716 43.587-43.716M42.357-46.129L44.471-46.129Q44.471-46.397 44.418-46.643Q44.365-46.889 44.244-47.111Q44.124-47.333 43.926-47.460Q43.728-47.588 43.456-47.588Q43.113-47.588 42.860-47.363Q42.607-47.139 42.482-46.801Q42.357-46.463 42.357-46.129M45.697-43.799L45.697-45.241Q45.697-45.272 45.725-45.296Q45.754-45.320 45.785-45.320L45.895-45.320Q45.930-45.320 45.952-45.298Q45.974-45.276 45.982-45.241Q46.242-43.980 47.208-43.980Q47.635-43.980 47.929-44.164Q48.224-44.349 48.224-44.753Q48.224-45.047 47.993-45.243Q47.762-45.439 47.450-45.500L46.848-45.619Q46.382-45.707 46.040-45.990Q45.697-46.274 45.697-46.713Q45.697-47.306 46.134-47.579Q46.571-47.851 47.208-47.851Q47.687-47.851 48.035-47.605L48.285-47.829Q48.342-47.851 48.342-47.851L48.395-47.851Q48.421-47.851 48.454-47.825Q48.487-47.798 48.487-47.768L48.487-46.608Q48.487-46.577 48.452-46.550Q48.417-46.524 48.395-46.524L48.285-46.524Q48.263-46.524 48.230-46.553Q48.197-46.581 48.197-46.608Q48.197-47.073 47.931-47.344Q47.666-47.614 47.200-47.614Q46.795-47.614 46.492-47.469Q46.189-47.324 46.189-46.968Q46.189-46.722 46.406-46.568Q46.624-46.414 46.901-46.357L47.529-46.230Q47.846-46.168 48.116-46.001Q48.386-45.834 48.553-45.568Q48.720-45.302 48.720-44.986Q48.720-44.344 48.294-44.030Q47.868-43.716 47.208-43.716Q46.936-43.716 46.670-43.810Q46.404-43.905 46.224-44.094L45.903-43.755Q45.886-43.716 45.837-43.716L45.785-43.716Q45.763-43.716 45.730-43.744Q45.697-43.773 45.697-43.799M49.340-43.799L49.340-45.241Q49.340-45.272 49.368-45.296Q49.397-45.320 49.428-45.320L49.538-45.320Q49.573-45.320 49.595-45.298Q49.617-45.276 49.625-45.241Q49.885-43.980 50.852-43.980Q51.278-43.980 51.572-44.164Q51.867-44.349 51.867-44.753Q51.867-45.047 51.636-45.243Q51.405-45.439 51.093-45.500L50.491-45.619Q50.025-45.707 49.683-45.990Q49.340-46.274 49.340-46.713Q49.340-47.306 49.777-47.579Q50.214-47.851 50.852-47.851Q51.331-47.851 51.678-47.605L51.928-47.829Q51.985-47.851 51.985-47.851L52.038-47.851Q52.064-47.851 52.097-47.825Q52.130-47.798 52.130-47.768L52.130-46.608Q52.130-46.577 52.095-46.550Q52.060-46.524 52.038-46.524L51.928-46.524Q51.906-46.524 51.873-46.553Q51.840-46.581 51.840-46.608Q51.840-47.073 51.574-47.344Q51.309-47.614 50.843-47.614Q50.438-47.614 50.135-47.469Q49.832-47.324 49.832-46.968Q49.832-46.722 50.050-46.568Q50.267-46.414 50.544-46.357L51.172-46.230Q51.489-46.168 51.759-46.001Q52.029-45.834 52.196-45.568Q52.363-45.302 52.363-44.986Q52.363-44.344 51.937-44.030Q51.511-43.716 50.852-43.716Q50.579-43.716 50.313-43.810Q50.047-43.905 49.867-44.094L49.546-43.755Q49.529-43.716 49.480-43.716L49.428-43.716Q49.406-43.716 49.373-43.744Q49.340-43.773 49.340-43.799",[1025],[1000,1144,1146,1149],{"style":1145},"stroke-width:.8",[1010,1147],{"fill":1015,"d":1148},"M32.828-43.817H62.58",[1010,1150],{"d":1151},"m65.721-43.817-4.398-1.663 1.457 1.663-1.457 1.662Z",[1000,1153,1154,1157],{"style":1145},[1010,1155],{"fill":1015,"d":1156},"M120.604-43.817h34.01",[1010,1158],{"d":1159},"m157.755-43.817-4.398-1.663 1.457 1.663-1.457 1.662Z",[1000,1161,1162,1165],{"style":1145},[1010,1163],{"fill":1015,"d":1164},"M204.978-43.817h37.003",[1010,1166],{"d":1167},"m245.122-43.817-4.397-1.663 1.456 1.663-1.456 1.662Z",[1000,1169,1170,1173,1176],{"style":1145},[1010,1171],{"fill":1015,"d":1172},"M181.936-27.595v20.18",[1010,1174],{"d":1175},"m181.936-4.274 1.662-4.397-1.662 1.456-1.662-1.456Z",[1000,1177,1179],{"transform":1178},"translate(177.295 30.453)",[1010,1180],{"d":1181,"fill":1002,"stroke":1002,"className":1182,"style":1183},"M8.655-45.544Q8.655-46.040 8.905-46.465Q9.155-46.891 9.575-47.137Q9.995-47.383 10.495-47.383Q11.034-47.383 11.425-47.258Q11.815-47.133 11.815-46.719Q11.815-46.614 11.765-46.522Q11.714-46.430 11.622-46.380Q11.530-46.329 11.421-46.329Q11.315-46.329 11.224-46.380Q11.132-46.430 11.081-46.522Q11.030-46.614 11.030-46.719Q11.030-46.942 11.198-47.047Q10.976-47.106 10.503-47.106Q10.206-47.106 9.991-46.967Q9.776-46.829 9.645-46.598Q9.515-46.368 9.456-46.098Q9.397-45.829 9.397-45.544Q9.397-45.149 9.530-44.799Q9.663-44.450 9.935-44.233Q10.206-44.016 10.604-44.016Q10.979-44.016 11.255-44.233Q11.530-44.450 11.632-44.809Q11.647-44.872 11.710-44.872L11.815-44.872Q11.851-44.872 11.876-44.844Q11.901-44.817 11.901-44.778L11.901-44.755Q11.769-44.274 11.384-44.006Q10.999-43.739 10.495-43.739Q10.132-43.739 9.798-43.876Q9.464-44.012 9.204-44.262Q8.944-44.512 8.800-44.848Q8.655-45.184 8.655-45.544M12.390-45.571Q12.390-46.051 12.622-46.467Q12.854-46.883 13.265-47.133Q13.675-47.383 14.151-47.383Q14.882-47.383 15.280-46.942Q15.679-46.501 15.679-45.770Q15.679-45.665 15.585-45.641L13.136-45.641L13.136-45.571Q13.136-45.161 13.257-44.805Q13.378-44.450 13.649-44.233Q13.921-44.016 14.351-44.016Q14.714-44.016 15.011-44.245Q15.308-44.473 15.409-44.825Q15.417-44.872 15.503-44.887L15.585-44.887Q15.679-44.860 15.679-44.778Q15.679-44.770 15.671-44.739Q15.608-44.512 15.470-44.329Q15.331-44.145 15.140-44.012Q14.948-43.880 14.729-43.809Q14.511-43.739 14.272-43.739Q13.901-43.739 13.563-43.876Q13.226-44.012 12.958-44.264Q12.690-44.516 12.540-44.856Q12.390-45.196 12.390-45.571M13.144-45.880L15.104-45.880Q15.104-46.184 15.003-46.475Q14.901-46.766 14.685-46.948Q14.468-47.130 14.151-47.130Q13.851-47.130 13.620-46.942Q13.390-46.755 13.267-46.463Q13.144-46.172 13.144-45.880M18.175-43.817L16.194-43.817L16.194-44.114Q16.464-44.114 16.632-44.159Q16.800-44.204 16.800-44.376L16.800-46.512Q16.800-46.727 16.737-46.823Q16.675-46.919 16.558-46.940Q16.440-46.962 16.194-46.962L16.194-47.258L17.362-47.344L17.362-46.559Q17.440-46.770 17.593-46.956Q17.745-47.141 17.944-47.243Q18.144-47.344 18.370-47.344Q18.616-47.344 18.808-47.200Q18.999-47.055 18.999-46.825Q18.999-46.669 18.894-46.559Q18.788-46.450 18.632-46.450Q18.476-46.450 18.366-46.559Q18.257-46.669 18.257-46.825Q18.257-46.985 18.362-47.090Q18.038-47.090 17.823-46.862Q17.608-46.633 17.513-46.294Q17.417-45.954 17.417-45.649L17.417-44.376Q17.417-44.208 17.644-44.161Q17.870-44.114 18.175-44.114L18.175-43.817M20.104-44.778L20.104-46.969L19.401-46.969L19.401-47.223Q19.757-47.223 19.999-47.456Q20.241-47.688 20.353-48.036Q20.464-48.383 20.464-48.739L20.745-48.739L20.745-47.266L21.921-47.266L21.921-46.969L20.745-46.969L20.745-44.794Q20.745-44.473 20.864-44.245Q20.983-44.016 21.265-44.016Q21.444-44.016 21.562-44.139Q21.679-44.262 21.731-44.442Q21.784-44.622 21.784-44.794L21.784-45.266L22.065-45.266L22.065-44.778Q22.065-44.524 21.960-44.284Q21.854-44.044 21.657-43.891Q21.460-43.739 21.202-43.739Q20.886-43.739 20.634-43.862Q20.382-43.985 20.243-44.219Q20.104-44.454 20.104-44.778M24.644-43.817L22.866-43.817L22.866-44.114Q23.140-44.114 23.308-44.161Q23.476-44.208 23.476-44.376L23.476-46.512Q23.476-46.727 23.419-46.823Q23.362-46.919 23.249-46.940Q23.136-46.962 22.890-46.962L22.890-47.258L24.089-47.344L24.089-44.376Q24.089-44.208 24.235-44.161Q24.382-44.114 24.644-44.114L24.644-43.817M23.202-48.739Q23.202-48.930 23.337-49.061Q23.472-49.192 23.667-49.192Q23.788-49.192 23.892-49.130Q23.995-49.067 24.058-48.963Q24.120-48.860 24.120-48.739Q24.120-48.544 23.989-48.409Q23.858-48.274 23.667-48.274Q23.468-48.274 23.335-48.407Q23.202-48.540 23.202-48.739M27.210-43.817L25.226-43.817L25.226-44.114Q25.499-44.114 25.667-44.161Q25.835-44.208 25.835-44.376L25.835-46.969L25.194-46.969L25.194-47.266L25.835-47.266L25.835-48.200Q25.835-48.465 25.952-48.702Q26.069-48.938 26.263-49.102Q26.456-49.266 26.704-49.358Q26.952-49.450 27.218-49.450Q27.503-49.450 27.728-49.292Q27.952-49.133 27.952-48.856Q27.952-48.700 27.847-48.590Q27.741-48.481 27.577-48.481Q27.421-48.481 27.312-48.590Q27.202-48.700 27.202-48.856Q27.202-49.063 27.362-49.169Q27.265-49.192 27.171-49.192Q26.940-49.192 26.769-49.036Q26.597-48.880 26.511-48.643Q26.425-48.407 26.425-48.184L26.425-47.266L27.394-47.266L27.394-46.969L26.448-46.969L26.448-44.376Q26.448-44.208 26.675-44.161Q26.901-44.114 27.210-44.114L27.210-43.817M28.155-42.520Q28.269-42.442 28.444-42.442Q28.733-42.442 28.954-42.655Q29.175-42.868 29.300-43.169L29.589-43.817L28.315-46.704Q28.233-46.880 28.089-46.924Q27.944-46.969 27.675-46.969L27.675-47.266L29.394-47.266L29.394-46.969Q28.972-46.969 28.972-46.786Q28.972-46.774 28.987-46.704L29.925-44.579L30.757-46.489Q30.796-46.579 30.796-46.657Q30.796-46.797 30.694-46.883Q30.593-46.969 30.452-46.969L30.452-47.266L31.804-47.266L31.804-46.969Q31.550-46.969 31.356-46.844Q31.163-46.719 31.058-46.489L29.612-43.169Q29.499-42.915 29.333-42.692Q29.167-42.469 28.938-42.327Q28.710-42.184 28.444-42.184Q28.147-42.184 27.907-42.376Q27.667-42.567 27.667-42.856Q27.667-43.012 27.772-43.114Q27.878-43.215 28.026-43.215Q28.132-43.215 28.212-43.169Q28.292-43.122 28.339-43.044Q28.386-42.965 28.386-42.856Q28.386-42.735 28.325-42.647Q28.265-42.559 28.155-42.520",[1025],"stroke-width:0.240",[1000,1185,1186,1189,1192],{"style":1145},[1010,1187],{"fill":1015,"d":1188},"M8.374-26.32c0 39.834 98.267 39.408 139.511 39.408",[1010,1190],{"d":1191},"m151.026 13.088-4.398-1.662 1.457 1.662-1.457 1.662Z",[1000,1193,1196,1203],{"stroke":1015,"fontFamily":1194,"fontSize":1195},"cmr8","8",[1000,1197,1199],{"transform":1198},"translate(50.62 64.146)",[1010,1200],{"d":1201,"fill":1002,"stroke":1002,"className":1202,"style":1183},"M10.429-43.739Q9.948-43.739 9.540-43.983Q9.132-44.227 8.894-44.641Q8.655-45.055 8.655-45.544Q8.655-46.036 8.913-46.452Q9.171-46.868 9.603-47.106Q10.034-47.344 10.526-47.344Q11.147-47.344 11.597-46.907L11.597-48.536Q11.597-48.751 11.534-48.846Q11.472-48.942 11.354-48.963Q11.237-48.985 10.991-48.985L10.991-49.282L12.214-49.368L12.214-44.559Q12.214-44.348 12.276-44.253Q12.339-44.157 12.456-44.135Q12.573-44.114 12.823-44.114L12.823-43.817L11.573-43.739L11.573-44.223Q11.108-43.739 10.429-43.739M10.495-43.993Q10.835-43.993 11.128-44.184Q11.421-44.376 11.573-44.672L11.573-46.505Q11.425-46.778 11.163-46.934Q10.901-47.090 10.589-47.090Q9.964-47.090 9.681-46.643Q9.397-46.196 9.397-45.536Q9.397-44.891 9.649-44.442Q9.901-43.993 10.495-43.993M13.331-45.571Q13.331-46.051 13.563-46.467Q13.796-46.883 14.206-47.133Q14.616-47.383 15.093-47.383Q15.823-47.383 16.222-46.942Q16.620-46.501 16.620-45.770Q16.620-45.665 16.526-45.641L14.077-45.641L14.077-45.571Q14.077-45.161 14.198-44.805Q14.319-44.450 14.591-44.233Q14.862-44.016 15.292-44.016Q15.655-44.016 15.952-44.245Q16.249-44.473 16.351-44.825Q16.358-44.872 16.444-44.887L16.526-44.887Q16.620-44.860 16.620-44.778Q16.620-44.770 16.612-44.739Q16.550-44.512 16.411-44.329Q16.272-44.145 16.081-44.012Q15.890-43.880 15.671-43.809Q15.452-43.739 15.214-43.739Q14.843-43.739 14.505-43.876Q14.167-44.012 13.899-44.264Q13.632-44.516 13.481-44.856Q13.331-45.196 13.331-45.571M14.085-45.880L16.046-45.880Q16.046-46.184 15.944-46.475Q15.843-46.766 15.626-46.948Q15.409-47.130 15.093-47.130Q14.792-47.130 14.562-46.942Q14.331-46.755 14.208-46.463Q14.085-46.172 14.085-45.880M18.968-43.817L17.136-43.817L17.136-44.114Q17.405-44.114 17.573-44.159Q17.741-44.204 17.741-44.376L17.741-46.969L17.101-46.969L17.101-47.266L17.741-47.266L17.741-48.200Q17.741-48.614 18.050-48.895Q18.358-49.176 18.804-49.313Q19.249-49.450 19.655-49.450Q20.058-49.450 20.376-49.223Q20.694-48.997 20.694-48.610Q20.694-48.434 20.581-48.321Q20.468-48.208 20.296-48.208Q20.120-48.208 20.007-48.321Q19.894-48.434 19.894-48.610Q19.894-48.755 19.983-48.864Q20.073-48.973 20.206-49.001Q19.921-49.192 19.573-49.192Q19.276-49.192 18.989-49.071Q18.702-48.950 18.519-48.717Q18.335-48.485 18.335-48.184L18.335-47.266L19.487-47.266L20.710-47.360L20.710-44.376Q20.710-44.208 20.878-44.161Q21.046-44.114 21.319-44.114L21.319-43.817L19.487-43.817L19.487-44.114Q19.757-44.114 19.925-44.159Q20.093-44.204 20.093-44.376L20.093-46.536Q20.093-46.743 20.046-46.842Q19.999-46.942 19.823-46.969L18.358-46.969L18.358-44.376Q18.358-44.208 18.526-44.161Q18.694-44.114 18.968-44.114L18.968-43.817M23.757-43.817L21.901-43.817L21.901-44.114Q22.175-44.114 22.343-44.161Q22.511-44.208 22.511-44.376L22.511-46.512Q22.511-46.727 22.448-46.823Q22.386-46.919 22.267-46.940Q22.147-46.962 21.901-46.962L21.901-47.258L23.093-47.344L23.093-46.610Q23.206-46.825 23.399-46.993Q23.593-47.161 23.831-47.253Q24.069-47.344 24.323-47.344Q25.491-47.344 25.491-46.266L25.491-44.376Q25.491-44.208 25.661-44.161Q25.831-44.114 26.101-44.114L26.101-43.817L24.245-43.817L24.245-44.114Q24.519-44.114 24.687-44.161Q24.854-44.208 24.854-44.376L24.854-46.251Q24.854-46.633 24.733-46.862Q24.612-47.090 24.261-47.090Q23.948-47.090 23.694-46.928Q23.440-46.766 23.294-46.497Q23.147-46.227 23.147-45.930L23.147-44.376Q23.147-44.208 23.317-44.161Q23.487-44.114 23.757-44.114L23.757-43.817M26.546-45.571Q26.546-46.051 26.778-46.467Q27.011-46.883 27.421-47.133Q27.831-47.383 28.308-47.383Q29.038-47.383 29.437-46.942Q29.835-46.501 29.835-45.770Q29.835-45.665 29.741-45.641L27.292-45.641L27.292-45.571Q27.292-45.161 27.413-44.805Q27.534-44.450 27.806-44.233Q28.077-44.016 28.507-44.016Q28.870-44.016 29.167-44.245Q29.464-44.473 29.565-44.825Q29.573-44.872 29.659-44.887L29.741-44.887Q29.835-44.860 29.835-44.778Q29.835-44.770 29.827-44.739Q29.765-44.512 29.626-44.329Q29.487-44.145 29.296-44.012Q29.104-43.880 28.886-43.809Q28.667-43.739 28.429-43.739Q28.058-43.739 27.720-43.876Q27.382-44.012 27.114-44.264Q26.847-44.516 26.696-44.856Q26.546-45.196 26.546-45.571M27.300-45.880L29.261-45.880Q29.261-46.184 29.159-46.475Q29.058-46.766 28.841-46.948Q28.624-47.130 28.308-47.130Q28.007-47.130 27.776-46.942Q27.546-46.755 27.423-46.463Q27.300-46.172 27.300-45.880M30.366-43.825L30.366-45.047Q30.366-45.075 30.397-45.106Q30.429-45.137 30.452-45.137L30.558-45.137Q30.628-45.137 30.644-45.075Q30.706-44.755 30.845-44.514Q30.983-44.274 31.216-44.133Q31.448-43.993 31.757-43.993Q31.995-43.993 32.204-44.053Q32.413-44.114 32.550-44.262Q32.687-44.411 32.687-44.657Q32.687-44.911 32.476-45.077Q32.265-45.243 31.995-45.297L31.374-45.411Q30.968-45.489 30.667-45.745Q30.366-46.001 30.366-46.376Q30.366-46.743 30.567-46.965Q30.769-47.188 31.093-47.286Q31.417-47.383 31.757-47.383Q32.222-47.383 32.519-47.176L32.741-47.360Q32.765-47.383 32.796-47.383L32.847-47.383Q32.878-47.383 32.905-47.356Q32.933-47.329 32.933-47.297L32.933-46.313Q32.933-46.282 32.907-46.253Q32.882-46.223 32.847-46.223L32.741-46.223Q32.706-46.223 32.679-46.251Q32.651-46.278 32.651-46.313Q32.651-46.712 32.399-46.932Q32.147-47.153 31.749-47.153Q31.394-47.153 31.110-47.030Q30.827-46.907 30.827-46.602Q30.827-46.383 31.028-46.251Q31.229-46.118 31.476-46.075L32.101-45.962Q32.530-45.872 32.839-45.575Q33.147-45.278 33.147-44.864Q33.147-44.294 32.749-44.016Q32.351-43.739 31.757-43.739Q31.206-43.739 30.854-44.075L30.558-43.762Q30.534-43.739 30.499-43.739L30.452-43.739Q30.429-43.739 30.397-43.770Q30.366-43.801 30.366-43.825",[1025],[1000,1204,1205],{"transform":1198},[1010,1206],{"d":1207,"fill":1002,"stroke":1002,"className":1208,"style":1183},"M36.564-45.544Q36.564-46.040 36.814-46.465Q37.064-46.891 37.484-47.137Q37.904-47.383 38.404-47.383Q38.943-47.383 39.334-47.258Q39.724-47.133 39.724-46.719Q39.724-46.614 39.674-46.522Q39.623-46.430 39.531-46.380Q39.439-46.329 39.330-46.329Q39.224-46.329 39.133-46.380Q39.041-46.430 38.990-46.522Q38.939-46.614 38.939-46.719Q38.939-46.942 39.107-47.047Q38.885-47.106 38.412-47.106Q38.115-47.106 37.900-46.967Q37.685-46.829 37.554-46.598Q37.424-46.368 37.365-46.098Q37.306-45.829 37.306-45.544Q37.306-45.149 37.439-44.799Q37.572-44.450 37.844-44.233Q38.115-44.016 38.513-44.016Q38.888-44.016 39.164-44.233Q39.439-44.450 39.541-44.809Q39.556-44.872 39.619-44.872L39.724-44.872Q39.760-44.872 39.785-44.844Q39.810-44.817 39.810-44.778L39.810-44.755Q39.678-44.274 39.293-44.006Q38.908-43.739 38.404-43.739Q38.041-43.739 37.707-43.876Q37.373-44.012 37.113-44.262Q36.853-44.512 36.709-44.848Q36.564-45.184 36.564-45.544M40.299-45.512Q40.299-46.016 40.554-46.448Q40.810-46.880 41.246-47.131Q41.681-47.383 42.181-47.383Q42.568-47.383 42.910-47.239Q43.252-47.094 43.513-46.833Q43.775-46.571 43.918-46.235Q44.060-45.899 44.060-45.512Q44.060-45.020 43.797-44.610Q43.533-44.200 43.103-43.969Q42.674-43.739 42.181-43.739Q41.689-43.739 41.256-43.971Q40.822-44.204 40.560-44.612Q40.299-45.020 40.299-45.512M42.181-44.016Q42.638-44.016 42.890-44.239Q43.142-44.462 43.230-44.813Q43.318-45.165 43.318-45.610Q43.318-46.040 43.224-46.378Q43.131-46.715 42.877-46.922Q42.623-47.130 42.181-47.130Q41.533-47.130 41.289-46.713Q41.045-46.297 41.045-45.610Q41.045-45.165 41.133-44.813Q41.221-44.462 41.472-44.239Q41.724-44.016 42.181-44.016M46.553-43.817L44.572-43.817L44.572-44.114Q44.842-44.114 45.010-44.159Q45.178-44.204 45.178-44.376L45.178-46.512Q45.178-46.727 45.115-46.823Q45.053-46.919 44.935-46.940Q44.818-46.962 44.572-46.962L44.572-47.258L45.740-47.344L45.740-46.559Q45.818-46.770 45.971-46.956Q46.123-47.141 46.322-47.243Q46.521-47.344 46.748-47.344Q46.994-47.344 47.185-47.200Q47.377-47.055 47.377-46.825Q47.377-46.669 47.271-46.559Q47.166-46.450 47.010-46.450Q46.853-46.450 46.744-46.559Q46.635-46.669 46.635-46.825Q46.635-46.985 46.740-47.090Q46.416-47.090 46.201-46.862Q45.986-46.633 45.890-46.294Q45.795-45.954 45.795-45.649L45.795-44.376Q45.795-44.208 46.021-44.161Q46.248-44.114 46.553-44.114L46.553-43.817M49.865-43.817L47.885-43.817L47.885-44.114Q48.154-44.114 48.322-44.159Q48.490-44.204 48.490-44.376L48.490-46.512Q48.490-46.727 48.428-46.823Q48.365-46.919 48.248-46.940Q48.131-46.962 47.885-46.962L47.885-47.258L49.053-47.344L49.053-46.559Q49.131-46.770 49.283-46.956Q49.435-47.141 49.635-47.243Q49.834-47.344 50.060-47.344Q50.306-47.344 50.498-47.200Q50.689-47.055 50.689-46.825Q50.689-46.669 50.584-46.559Q50.478-46.450 50.322-46.450Q50.166-46.450 50.056-46.559Q49.947-46.669 49.947-46.825Q49.947-46.985 50.053-47.090Q49.728-47.090 49.513-46.862Q49.299-46.633 49.203-46.294Q49.107-45.954 49.107-45.649L49.107-44.376Q49.107-44.208 49.334-44.161Q49.560-44.114 49.865-44.114L49.865-43.817M51.170-45.571Q51.170-46.051 51.402-46.467Q51.635-46.883 52.045-47.133Q52.455-47.383 52.931-47.383Q53.662-47.383 54.060-46.942Q54.459-46.501 54.459-45.770Q54.459-45.665 54.365-45.641L51.916-45.641L51.916-45.571Q51.916-45.161 52.037-44.805Q52.158-44.450 52.429-44.233Q52.701-44.016 53.131-44.016Q53.494-44.016 53.791-44.245Q54.088-44.473 54.189-44.825Q54.197-44.872 54.283-44.887L54.365-44.887Q54.459-44.860 54.459-44.778Q54.459-44.770 54.451-44.739Q54.388-44.512 54.250-44.329Q54.111-44.145 53.920-44.012Q53.728-43.880 53.510-43.809Q53.291-43.739 53.053-43.739Q52.681-43.739 52.344-43.876Q52.006-44.012 51.738-44.264Q51.471-44.516 51.320-44.856Q51.170-45.196 51.170-45.571M51.924-45.880L53.885-45.880Q53.885-46.184 53.783-46.475Q53.681-46.766 53.465-46.948Q53.248-47.130 52.931-47.130Q52.631-47.130 52.400-46.942Q52.170-46.755 52.047-46.463Q51.924-46.172 51.924-45.880M54.990-45.544Q54.990-46.040 55.240-46.465Q55.490-46.891 55.910-47.137Q56.330-47.383 56.830-47.383Q57.369-47.383 57.760-47.258Q58.150-47.133 58.150-46.719Q58.150-46.614 58.099-46.522Q58.049-46.430 57.957-46.380Q57.865-46.329 57.756-46.329Q57.650-46.329 57.558-46.380Q57.467-46.430 57.416-46.522Q57.365-46.614 57.365-46.719Q57.365-46.942 57.533-47.047Q57.310-47.106 56.838-47.106Q56.541-47.106 56.326-46.967Q56.111-46.829 55.980-46.598Q55.849-46.368 55.791-46.098Q55.732-45.829 55.732-45.544Q55.732-45.149 55.865-44.799Q55.998-44.450 56.269-44.233Q56.541-44.016 56.939-44.016Q57.314-44.016 57.590-44.233Q57.865-44.450 57.967-44.809Q57.982-44.872 58.045-44.872L58.150-44.872Q58.185-44.872 58.211-44.844Q58.236-44.817 58.236-44.778L58.236-44.755Q58.103-44.274 57.719-44.006Q57.334-43.739 56.830-43.739Q56.467-43.739 56.133-43.876Q55.799-44.012 55.539-44.262Q55.279-44.512 55.135-44.848Q54.990-45.184 54.990-45.544M59.349-44.778L59.349-46.969L58.646-46.969L58.646-47.223Q59.002-47.223 59.244-47.456Q59.486-47.688 59.597-48.036Q59.709-48.383 59.709-48.739L59.990-48.739L59.990-47.266L61.166-47.266L61.166-46.969L59.990-46.969L59.990-44.794Q59.990-44.473 60.109-44.245Q60.228-44.016 60.510-44.016Q60.689-44.016 60.806-44.139Q60.924-44.262 60.976-44.442Q61.029-44.622 61.029-44.794L61.029-45.266L61.310-45.266L61.310-44.778Q61.310-44.524 61.205-44.284Q61.099-44.044 60.902-43.891Q60.705-43.739 60.447-43.739Q60.131-43.739 59.879-43.862Q59.627-43.985 59.488-44.219Q59.349-44.454 59.349-44.778",[1025],[1000,1210,1212],{"transform":1211},"translate(76.69 -21.178)",[1010,1213],{"d":1214,"fill":1002,"stroke":1002,"className":1215,"style":1183},"M9.687-44.755Q9.687-44.997 9.759-45.276Q9.831-45.555 9.917-45.790Q10.003-46.024 10.159-46.434Q10.253-46.708 10.253-46.864Q10.253-47.090 10.093-47.090Q9.800-47.090 9.608-46.774Q9.417-46.458 9.327-46.090Q9.315-46.016 9.245-46.016L9.085-46.016Q9.054-46.016 9.026-46.051Q8.999-46.087 8.999-46.114L8.999-46.145Q9.116-46.606 9.407-46.975Q9.698-47.344 10.108-47.344Q10.394-47.344 10.591-47.157Q10.788-46.969 10.788-46.680Q10.788-46.512 10.733-46.376Q10.636-46.118 10.546-45.872Q10.456-45.626 10.401-45.456Q10.347-45.286 10.300-45.067Q10.253-44.848 10.253-44.665Q10.253-44.356 10.407-44.174Q10.562-43.993 10.870-43.993Q11.101-43.993 11.261-44.194Q11.421-44.395 11.542-44.680Q11.542-44.704 11.540-44.715Q11.538-44.727 11.534-44.739Q11.534-44.950 11.604-45.231L12.046-47.001Q12.073-47.114 12.171-47.190Q12.269-47.266 12.382-47.266Q12.487-47.266 12.563-47.198Q12.640-47.130 12.640-47.024Q12.640-46.997 12.620-46.946L12.183-45.176Q12.101-44.868 12.101-44.641Q12.101-44.356 12.241-44.174Q12.382-43.993 12.663-43.993Q13.167-43.993 13.479-44.770Q13.608-45.098 13.720-45.499Q13.831-45.899 13.831-46.130Q13.831-46.294 13.784-46.422Q13.737-46.551 13.671-46.641Q13.604-46.731 13.554-46.807Q13.503-46.883 13.503-46.946Q13.503-47.106 13.634-47.229Q13.765-47.352 13.917-47.352Q14.116-47.352 14.206-47.169Q14.296-46.985 14.296-46.755Q14.296-46.532 14.222-46.171Q14.147-45.809 14.040-45.446Q13.933-45.083 13.839-44.848Q13.390-43.739 12.647-43.739Q11.909-43.739 11.655-44.215Q11.315-43.739 10.854-43.739Q10.507-43.739 10.245-43.848Q9.983-43.958 9.835-44.182Q9.687-44.407 9.687-44.755M14.710-43.977Q14.710-44.016 14.718-44.040L15.870-48.665Q15.909-48.852 15.909-48.880Q15.909-48.985 15.413-48.985Q15.315-49.016 15.315-49.114L15.343-49.215Q15.351-49.262 15.429-49.282L16.483-49.368Q16.534-49.368 16.569-49.338Q16.604-49.309 16.604-49.251L15.999-46.825Q16.226-47.067 16.517-47.206Q16.808-47.344 17.124-47.344Q17.401-47.344 17.608-47.245Q17.815-47.145 17.931-46.950Q18.046-46.755 18.046-46.481Q18.046-46.153 17.899-45.688Q17.753-45.223 17.534-44.649Q17.437-44.422 17.437-44.215Q17.437-43.993 17.597-43.993Q17.894-43.993 18.079-44.303Q18.265-44.614 18.358-44.993Q18.386-45.063 18.444-45.063L18.604-45.063Q18.644-45.063 18.669-45.030Q18.694-44.997 18.694-44.969Q18.694-44.954 18.687-44.938Q18.616-44.657 18.468-44.380Q18.319-44.102 18.095-43.921Q17.870-43.739 17.581-43.739Q17.296-43.739 17.099-43.926Q16.901-44.114 16.901-44.403Q16.901-44.571 16.956-44.704Q17.187-45.321 17.335-45.784Q17.483-46.247 17.483-46.587Q17.483-46.805 17.395-46.948Q17.308-47.090 17.101-47.090Q16.647-47.090 16.331-46.784Q16.015-46.477 15.788-45.993L15.292-43.985Q15.261-43.880 15.165-43.809Q15.069-43.739 14.964-43.739Q14.851-43.739 14.780-43.803Q14.710-43.868 14.710-43.977M20.429-43.739Q19.925-43.739 19.636-44.118Q19.347-44.497 19.347-45.016Q19.347-45.524 19.608-46.073Q19.870-46.622 20.319-46.983Q20.769-47.344 21.284-47.344Q21.507-47.344 21.694-47.231Q21.882-47.118 22.003-46.922Q22.026-47.044 22.122-47.118Q22.218-47.192 22.339-47.192Q22.448-47.192 22.519-47.128Q22.589-47.063 22.589-46.954Q22.589-46.907 22.581-46.872L22.019-44.649Q21.979-44.473 21.979-44.329Q21.979-43.993 22.194-43.993Q22.401-43.993 22.528-44.301Q22.655-44.610 22.741-44.993Q22.769-45.063 22.827-45.063L22.987-45.063Q23.026-45.063 23.052-45.030Q23.077-44.997 23.077-44.969Q23.077-44.954 23.069-44.938Q22.983-44.606 22.890-44.362Q22.796-44.118 22.622-43.928Q22.448-43.739 22.179-43.739Q21.925-43.739 21.716-43.880Q21.507-44.020 21.444-44.266Q20.948-43.739 20.429-43.739M20.444-43.993Q20.745-43.993 21.011-44.233Q21.276-44.473 21.468-44.786L21.851-46.337Q21.823-46.633 21.679-46.862Q21.534-47.090 21.269-47.090Q20.968-47.090 20.722-46.829Q20.476-46.567 20.312-46.174Q20.147-45.782 20.056-45.370Q19.964-44.958 19.964-44.688Q19.964-44.419 20.079-44.206Q20.194-43.993 20.444-43.993M23.835-44.473Q23.835-44.598 23.858-44.704L24.429-46.969L23.651-46.969Q23.546-47.001 23.546-47.098L23.569-47.200Q23.589-47.251 23.667-47.266L24.499-47.266L24.827-48.551Q24.851-48.669 24.946-48.743Q25.042-48.817 25.163-48.817Q25.265-48.817 25.337-48.749Q25.409-48.680 25.409-48.579Q25.409-48.528 25.401-48.512L25.089-47.266L25.874-47.266Q25.972-47.235 25.972-47.145L25.948-47.040Q25.940-46.989 25.858-46.969L25.019-46.969L24.437-44.649Q24.394-44.485 24.394-44.329Q24.394-43.993 24.612-43.993Q24.948-43.993 25.200-44.309Q25.452-44.626 25.597-45.016Q25.628-45.063 25.675-45.063L25.835-45.063Q25.874-45.063 25.897-45.034Q25.921-45.005 25.921-44.969Q25.921-44.954 25.913-44.938Q25.788-44.622 25.604-44.356Q25.421-44.090 25.163-43.915Q24.905-43.739 24.597-43.739Q24.382-43.739 24.210-43.831Q24.038-43.922 23.937-44.088Q23.835-44.255 23.835-44.473",[1025],[1000,1217,1219,1226],{"stroke":1015,"fontFamily":1218,"fontSize":1195},"cmti8",[1000,1220,1222],{"transform":1221},"translate(251.985 -23.609)",[1010,1223],{"d":1224,"fill":1002,"stroke":1002,"className":1225,"style":1183},"M9.007-43.977Q9.007-44.016 9.015-44.040L10.167-48.665Q10.206-48.852 10.206-48.880Q10.206-48.985 9.710-48.985Q9.612-49.016 9.612-49.114L9.640-49.215Q9.647-49.262 9.726-49.282L10.780-49.368Q10.831-49.368 10.866-49.338Q10.901-49.309 10.901-49.251L10.296-46.825Q10.522-47.067 10.813-47.206Q11.104-47.344 11.421-47.344Q11.698-47.344 11.905-47.245Q12.112-47.145 12.228-46.950Q12.343-46.755 12.343-46.481Q12.343-46.153 12.196-45.688Q12.050-45.223 11.831-44.649Q11.733-44.422 11.733-44.215Q11.733-43.993 11.894-43.993Q12.190-43.993 12.376-44.303Q12.562-44.614 12.655-44.993Q12.683-45.063 12.741-45.063L12.901-45.063Q12.940-45.063 12.966-45.030Q12.991-44.997 12.991-44.969Q12.991-44.954 12.983-44.938Q12.913-44.657 12.765-44.380Q12.616-44.102 12.392-43.921Q12.167-43.739 11.878-43.739Q11.593-43.739 11.395-43.926Q11.198-44.114 11.198-44.403Q11.198-44.571 11.253-44.704Q11.483-45.321 11.632-45.784Q11.780-46.247 11.780-46.587Q11.780-46.805 11.692-46.948Q11.604-47.090 11.397-47.090Q10.944-47.090 10.628-46.784Q10.312-46.477 10.085-45.993L9.589-43.985Q9.558-43.880 9.462-43.809Q9.366-43.739 9.261-43.739Q9.147-43.739 9.077-43.803Q9.007-43.868 9.007-43.977M14.948-43.739Q14.569-43.739 14.274-43.917Q13.979-44.094 13.819-44.399Q13.659-44.704 13.659-45.090Q13.659-45.497 13.835-45.903Q14.011-46.309 14.313-46.635Q14.616-46.962 15.001-47.153Q15.386-47.344 15.804-47.344Q16.101-47.344 16.333-47.243Q16.565-47.141 16.737-46.958Q16.909-46.774 17.001-46.528Q17.093-46.282 17.093-45.993Q17.093-45.590 16.919-45.184Q16.745-44.778 16.442-44.452Q16.140-44.126 15.747-43.932Q15.354-43.739 14.948-43.739M14.964-43.993Q15.312-43.993 15.597-44.221Q15.882-44.450 16.073-44.809Q16.265-45.169 16.362-45.563Q16.460-45.958 16.460-46.282Q16.460-46.489 16.388-46.674Q16.315-46.860 16.165-46.975Q16.015-47.090 15.788-47.090Q15.331-47.090 14.987-46.708Q14.644-46.325 14.468-45.788Q14.292-45.251 14.292-44.801Q14.292-44.465 14.468-44.229Q14.644-43.993 14.964-43.993M18.452-44.755Q18.452-44.997 18.524-45.276Q18.597-45.555 18.683-45.790Q18.769-46.024 18.925-46.434Q19.019-46.708 19.019-46.864Q19.019-47.090 18.858-47.090Q18.565-47.090 18.374-46.774Q18.183-46.458 18.093-46.090Q18.081-46.016 18.011-46.016L17.851-46.016Q17.819-46.016 17.792-46.051Q17.765-46.087 17.765-46.114L17.765-46.145Q17.882-46.606 18.173-46.975Q18.464-47.344 18.874-47.344Q19.159-47.344 19.356-47.157Q19.554-46.969 19.554-46.680Q19.554-46.512 19.499-46.376Q19.401-46.118 19.312-45.872Q19.222-45.626 19.167-45.456Q19.112-45.286 19.065-45.067Q19.019-44.848 19.019-44.665Q19.019-44.356 19.173-44.174Q19.327-43.993 19.636-43.993Q19.866-43.993 20.026-44.194Q20.187-44.395 20.308-44.680Q20.308-44.704 20.306-44.715Q20.304-44.727 20.300-44.739Q20.300-44.950 20.370-45.231L20.812-47.001Q20.839-47.114 20.937-47.190Q21.034-47.266 21.147-47.266Q21.253-47.266 21.329-47.198Q21.405-47.130 21.405-47.024Q21.405-46.997 21.386-46.946L20.948-45.176Q20.866-44.868 20.866-44.641Q20.866-44.356 21.007-44.174Q21.147-43.993 21.429-43.993Q21.933-43.993 22.245-44.770Q22.374-45.098 22.485-45.499Q22.597-45.899 22.597-46.130Q22.597-46.294 22.550-46.422Q22.503-46.551 22.437-46.641Q22.370-46.731 22.319-46.807Q22.269-46.883 22.269-46.946Q22.269-47.106 22.399-47.229Q22.530-47.352 22.683-47.352Q22.882-47.352 22.972-47.169Q23.062-46.985 23.062-46.755Q23.062-46.532 22.987-46.171Q22.913-45.809 22.806-45.446Q22.698-45.083 22.604-44.848Q22.155-43.739 21.413-43.739Q20.675-43.739 20.421-44.215Q20.081-43.739 19.620-43.739Q19.272-43.739 19.011-43.848Q18.749-43.958 18.601-44.182Q18.452-44.407 18.452-44.755",[1025],[1000,1227,1228],{"transform":1221},[1010,1229],{"d":1230,"fill":1002,"stroke":1002,"className":1231,"style":1183},"M25.739-42.727Q25.739-42.915 25.858-43.053Q25.977-43.192 26.160-43.192Q26.285-43.192 26.371-43.114Q26.457-43.036 26.457-42.915Q26.457-42.797 26.379-42.686Q26.301-42.575 26.188-42.520Q26.301-42.442 26.465-42.442Q26.606-42.442 26.719-42.647Q26.832-42.852 26.912-43.137Q26.992-43.422 27.047-43.715Q27.102-44.008 27.121-44.122Q27.145-44.223 27.184-44.426Q27.223-44.630 27.244-44.743Q27.266-44.856 27.297-45.024L27.657-46.969L26.992-46.969Q26.891-46.997 26.891-47.098L26.922-47.200Q26.930-47.247 27.008-47.266L27.715-47.266L27.817-47.786Q27.887-48.149 27.948-48.395Q28.008-48.641 28.127-48.889Q28.246-49.137 28.453-49.294Q28.660-49.450 28.961-49.450Q29.246-49.450 29.473-49.313Q29.700-49.176 29.700-48.907Q29.700-48.719 29.580-48.581Q29.461-48.442 29.274-48.442Q29.153-48.442 29.065-48.520Q28.977-48.598 28.977-48.719Q28.977-48.848 29.051-48.952Q29.125-49.055 29.250-49.106Q29.125-49.192 28.946-49.192Q28.801-49.192 28.711-49.034Q28.621-48.876 28.569-48.630Q28.516-48.383 28.496-48.297Q28.426-47.903 28.403-47.794L28.305-47.266L29.106-47.266Q29.211-47.235 29.211-47.145L29.188-47.040Q29.168-46.989 29.090-46.969L28.250-46.969L27.883-45.032Q27.805-44.583 27.715-44.147Q27.625-43.712 27.471-43.266Q27.317-42.821 27.061-42.503Q26.805-42.184 26.450-42.184Q26.184-42.184 25.961-42.325Q25.739-42.465 25.739-42.727M30.532-43.739Q30.028-43.739 29.739-44.118Q29.450-44.497 29.450-45.016Q29.450-45.524 29.711-46.073Q29.973-46.622 30.422-46.983Q30.871-47.344 31.387-47.344Q31.610-47.344 31.797-47.231Q31.985-47.118 32.106-46.922Q32.129-47.044 32.225-47.118Q32.321-47.192 32.442-47.192Q32.551-47.192 32.621-47.128Q32.692-47.063 32.692-46.954Q32.692-46.907 32.684-46.872L32.121-44.649Q32.082-44.473 32.082-44.329Q32.082-43.993 32.297-43.993Q32.504-43.993 32.631-44.301Q32.758-44.610 32.844-44.993Q32.871-45.063 32.930-45.063L33.090-45.063Q33.129-45.063 33.155-45.030Q33.180-44.997 33.180-44.969Q33.180-44.954 33.172-44.938Q33.086-44.606 32.992-44.362Q32.899-44.118 32.725-43.928Q32.551-43.739 32.282-43.739Q32.028-43.739 31.819-43.880Q31.610-44.020 31.547-44.266Q31.051-43.739 30.532-43.739M30.547-43.993Q30.848-43.993 31.114-44.233Q31.379-44.473 31.571-44.786L31.953-46.337Q31.926-46.633 31.782-46.862Q31.637-47.090 31.371-47.090Q31.071-47.090 30.825-46.829Q30.578-46.567 30.414-46.174Q30.250-45.782 30.159-45.370Q30.067-44.958 30.067-44.688Q30.067-44.419 30.182-44.206Q30.297-43.993 30.547-43.993M33.953-44.337Q34.043-44.161 34.258-44.077Q34.473-43.993 34.715-43.993Q34.969-43.993 35.213-44.085Q35.457-44.176 35.614-44.358Q35.770-44.540 35.770-44.801Q35.770-44.997 35.627-45.124Q35.485-45.251 35.282-45.290L34.867-45.376Q34.582-45.442 34.397-45.655Q34.211-45.868 34.211-46.153Q34.211-46.505 34.399-46.776Q34.586-47.047 34.897-47.196Q35.207-47.344 35.555-47.344Q35.770-47.344 35.985-47.270Q36.200-47.196 36.336-47.042Q36.473-46.887 36.473-46.657Q36.473-46.477 36.375-46.338Q36.278-46.200 36.106-46.200Q36-46.200 35.920-46.274Q35.840-46.348 35.840-46.450Q35.840-46.571 35.914-46.669Q35.989-46.766 36.114-46.801Q36.043-46.946 35.883-47.018Q35.723-47.090 35.539-47.090Q35.219-47.090 34.979-46.913Q34.739-46.735 34.739-46.426Q34.739-46.278 34.842-46.178Q34.946-46.079 35.098-46.040L35.512-45.954Q35.844-45.887 36.071-45.647Q36.297-45.407 36.297-45.075Q36.297-44.766 36.164-44.518Q36.032-44.270 35.803-44.094Q35.575-43.919 35.289-43.829Q35.004-43.739 34.707-43.739Q34.270-43.739 33.920-43.928Q33.571-44.118 33.571-44.512Q33.571-44.719 33.686-44.872Q33.801-45.024 34-45.024Q34.125-45.024 34.211-44.948Q34.297-44.872 34.297-44.755Q34.297-44.602 34.201-44.485Q34.106-44.368 33.953-44.337M37.442-44.473Q37.442-44.598 37.465-44.704L38.035-46.969L37.258-46.969Q37.153-47.001 37.153-47.098L37.176-47.200Q37.196-47.251 37.274-47.266L38.106-47.266L38.434-48.551Q38.457-48.669 38.553-48.743Q38.649-48.817 38.770-48.817Q38.871-48.817 38.944-48.749Q39.016-48.680 39.016-48.579Q39.016-48.528 39.008-48.512L38.696-47.266L39.481-47.266Q39.578-47.235 39.578-47.145L39.555-47.040Q39.547-46.989 39.465-46.969L38.625-46.969L38.043-44.649Q38-44.485 38-44.329Q38-43.993 38.219-43.993Q38.555-43.993 38.807-44.309Q39.059-44.626 39.203-45.016Q39.235-45.063 39.282-45.063L39.442-45.063Q39.481-45.063 39.504-45.034Q39.528-45.005 39.528-44.969Q39.528-44.954 39.520-44.938Q39.395-44.622 39.211-44.356Q39.028-44.090 38.770-43.915Q38.512-43.739 38.203-43.739Q37.989-43.739 37.817-43.831Q37.645-43.922 37.543-44.088Q37.442-44.255 37.442-44.473",[1025],[1233,1234,1237],"figcaption",{"className":1235},[1236],"tikz-cap","The four deliverables as a pipeline: the problem spec anchors everything; idea and pseudocode refine the method; proof checks the pseudocode against the spec; analysis measures the same pseudocode.",[381,1239,1240,1241,1244],{},"We will build a complete example of all four below. First, two preliminaries:\nwhat exactly the algorithm is ",[495,1242,1243],{},"for",", and how we write it down.",[925,1246,1248],{"id":1247},"specifying-the-problem","Specifying the problem",[381,1250,1251,1252,1255,1256,1259],{},"Before writing an algorithm we must agree on the ",[490,1253,1254],{},"problem"," it solves: the set\nof legal inputs and, for each, the required output. A problem is a relation\nbetween inputs and outputs; an ",[495,1257,1258],{},"instance"," is one particular input. For sorting:",[484,1261,1262],{"type":1254},[381,1263,1264,1267,1268,1464,1465,1481,1482,1485,1486,1701,1702,510],{},[490,1265,1266],{},"Input:"," a sequence ",[398,1269,1271],{"className":1270},[401],[398,1272,1274],{"className":1273,"ariaHidden":406},[405],[398,1275,1277,1281],{"className":1276},[410],[398,1278],{"className":1279,"style":1280},[414],"height:1em;vertical-align:-0.25em;",[398,1282,1285,1292,1349,1354,1358,1398,1401,1404,1408,1411,1414,1417,1459],{"className":1283},[1284],"minner",[398,1286,1291],{"className":1287,"style":1290},[1288,1289],"mopen","delimcenter","top:0em;","⟨",[398,1293,1295,1299],{"className":1294},[419],[398,1296,385],{"className":1297},[419,1298],"mathnormal",[398,1300,1303],{"className":1301},[1302],"msupsub",[398,1304,1308,1340],{"className":1305},[1306,1307],"vlist-t","vlist-t2",[398,1309,1312,1335],{"className":1310},[1311],"vlist-r",[398,1313,1317],{"className":1314,"style":1316},[1315],"vlist","height:0.3011em;",[398,1318,1320,1325],{"style":1319},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[398,1321],{"className":1322,"style":1324},[1323],"pstrut","height:2.7em;",[398,1326,1332],{"className":1327},[1328,1329,1330,1331],"sizing","reset-size6","size3","mtight",[398,1333,588],{"className":1334},[419,1331],[398,1336,1339],{"className":1337},[1338],"vlist-s","​",[398,1341,1343],{"className":1342},[1311],[398,1344,1347],{"className":1345,"style":1346},[1315],"height:0.15em;",[398,1348],{},[398,1350,1353],{"className":1351},[1352],"mpunct",",",[398,1355],{"className":1356,"style":1357},[424],"margin-right:0.1667em;",[398,1359,1361,1364],{"className":1360},[419],[398,1362,385],{"className":1363},[419,1298],[398,1365,1367],{"className":1366},[1302],[398,1368,1370,1390],{"className":1369},[1306,1307],[398,1371,1373,1387],{"className":1372},[1311],[398,1374,1376],{"className":1375,"style":1316},[1315],[398,1377,1378,1381],{"style":1319},[398,1379],{"className":1380,"style":1324},[1323],[398,1382,1384],{"className":1383},[1328,1329,1330,1331],[398,1385,600],{"className":1386},[419,1331],[398,1388,1339],{"className":1389},[1338],[398,1391,1393],{"className":1392},[1311],[398,1394,1396],{"className":1395,"style":1346},[1315],[398,1397],{},[398,1399,1353],{"className":1400},[1352],[398,1402],{"className":1403,"style":1357},[424],[398,1405,1407],{"className":1406},[1284],"…",[398,1409],{"className":1410,"style":1357},[424],[398,1412,1353],{"className":1413},[1352],[398,1415],{"className":1416,"style":1357},[424],[398,1418,1420,1423],{"className":1419},[419],[398,1421,385],{"className":1422},[419,1298],[398,1424,1426],{"className":1425},[1302],[398,1427,1429,1451],{"className":1428},[1306,1307],[398,1430,1432,1448],{"className":1431},[1311],[398,1433,1436],{"className":1434,"style":1435},[1315],"height:0.1514em;",[398,1437,1438,1441],{"style":1319},[398,1439],{"className":1440,"style":1324},[1323],[398,1442,1444],{"className":1443},[1328,1329,1330,1331],[398,1445,1447],{"className":1446},[419,1298,1331],"n",[398,1449,1339],{"className":1450},[1338],[398,1452,1454],{"className":1453},[1311],[398,1455,1457],{"className":1456,"style":1346},[1315],[398,1458],{},[398,1460,1463],{"className":1461,"style":1290},[1462,1289],"mclose","⟩"," of ",[398,1466,1468],{"className":1467},[401],[398,1469,1471],{"className":1470,"ariaHidden":406},[405],[398,1472,1474,1478],{"className":1473},[410],[398,1475],{"className":1476,"style":1477},[414],"height:0.4306em;",[398,1479,1447],{"className":1480},[419,1298]," numbers.\n",[490,1483,1484],{},"Output:"," a permutation ",[398,1487,1489],{"className":1488},[401],[398,1490,1492],{"className":1491,"ariaHidden":406},[405],[398,1493,1495,1499],{"className":1494},[410],[398,1496],{"className":1497,"style":1498},[414],"height:1.0019em;vertical-align:-0.25em;",[398,1500,1502,1505,1564,1567,1570,1624,1627,1630,1633,1636,1639,1642,1698],{"className":1501},[1284],[398,1503,1291],{"className":1504,"style":1290},[1288,1289],[398,1506,1508,1511],{"className":1507},[419],[398,1509,385],{"className":1510},[419,1298],[398,1512,1514],{"className":1513},[1302],[398,1515,1517,1555],{"className":1516},[1306,1307],[398,1518,1520,1552],{"className":1519},[1311],[398,1521,1524,1536],{"className":1522,"style":1523},[1315],"height:0.7519em;",[398,1525,1527,1530],{"style":1526},"top:-2.4519em;margin-left:0em;margin-right:0.05em;",[398,1528],{"className":1529,"style":1324},[1323],[398,1531,1533],{"className":1532},[1328,1329,1330,1331],[398,1534,588],{"className":1535},[419,1331],[398,1537,1539,1542],{"style":1538},"top:-3.063em;margin-right:0.05em;",[398,1540],{"className":1541,"style":1324},[1323],[398,1543,1545],{"className":1544},[1328,1329,1330,1331],[398,1546,1548],{"className":1547},[419,1331],[398,1549,1551],{"className":1550},[419,1331],"′",[398,1553,1339],{"className":1554},[1338],[398,1556,1558],{"className":1557},[1311],[398,1559,1562],{"className":1560,"style":1561},[1315],"height:0.2481em;",[398,1563],{},[398,1565,1353],{"className":1566},[1352],[398,1568],{"className":1569,"style":1357},[424],[398,1571,1573,1576],{"className":1572},[419],[398,1574,385],{"className":1575},[419,1298],[398,1577,1579],{"className":1578},[1302],[398,1580,1582,1616],{"className":1581},[1306,1307],[398,1583,1585,1613],{"className":1584},[1311],[398,1586,1588,1599],{"className":1587,"style":1523},[1315],[398,1589,1590,1593],{"style":1526},[398,1591],{"className":1592,"style":1324},[1323],[398,1594,1596],{"className":1595},[1328,1329,1330,1331],[398,1597,600],{"className":1598},[419,1331],[398,1600,1601,1604],{"style":1538},[398,1602],{"className":1603,"style":1324},[1323],[398,1605,1607],{"className":1606},[1328,1329,1330,1331],[398,1608,1610],{"className":1609},[419,1331],[398,1611,1551],{"className":1612},[419,1331],[398,1614,1339],{"className":1615},[1338],[398,1617,1619],{"className":1618},[1311],[398,1620,1622],{"className":1621,"style":1561},[1315],[398,1623],{},[398,1625,1353],{"className":1626},[1352],[398,1628],{"className":1629,"style":1357},[424],[398,1631,1407],{"className":1632},[1284],[398,1634],{"className":1635,"style":1357},[424],[398,1637,1353],{"className":1638},[1352],[398,1640],{"className":1641,"style":1357},[424],[398,1643,1645,1648],{"className":1644},[419],[398,1646,385],{"className":1647},[419,1298],[398,1649,1651],{"className":1650},[1302],[398,1652,1654,1689],{"className":1653},[1306,1307],[398,1655,1657,1686],{"className":1656},[1311],[398,1658,1660,1672],{"className":1659,"style":1523},[1315],[398,1661,1663,1666],{"style":1662},"top:-2.453em;margin-left:0em;margin-right:0.05em;",[398,1664],{"className":1665,"style":1324},[1323],[398,1667,1669],{"className":1668},[1328,1329,1330,1331],[398,1670,1447],{"className":1671},[419,1298,1331],[398,1673,1674,1677],{"style":1538},[398,1675],{"className":1676,"style":1324},[1323],[398,1678,1680],{"className":1679},[1328,1329,1330,1331],[398,1681,1683],{"className":1682},[419,1331],[398,1684,1551],{"className":1685},[419,1331],[398,1687,1339],{"className":1688},[1338],[398,1690,1692],{"className":1691},[1311],[398,1693,1696],{"className":1694,"style":1695},[1315],"height:0.247em;",[398,1697],{},[398,1699,1463],{"className":1700,"style":1290},[1462,1289]," of the input such\nthat ",[398,1703,1705],{"className":1704},[401],[398,1706,1708,1781,1850,1870],{"className":1707,"ariaHidden":406},[405],[398,1709,1711,1715,1769,1773,1778],{"className":1710},[410],[398,1712],{"className":1713,"style":1714},[414],"height:1em;vertical-align:-0.2481em;",[398,1716,1718,1721],{"className":1717},[419],[398,1719,385],{"className":1720},[419,1298],[398,1722,1724],{"className":1723},[1302],[398,1725,1727,1761],{"className":1726},[1306,1307],[398,1728,1730,1758],{"className":1729},[1311],[398,1731,1733,1744],{"className":1732,"style":1523},[1315],[398,1734,1735,1738],{"style":1526},[398,1736],{"className":1737,"style":1324},[1323],[398,1739,1741],{"className":1740},[1328,1329,1330,1331],[398,1742,588],{"className":1743},[419,1331],[398,1745,1746,1749],{"style":1538},[398,1747],{"className":1748,"style":1324},[1323],[398,1750,1752],{"className":1751},[1328,1329,1330,1331],[398,1753,1755],{"className":1754},[419,1331],[398,1756,1551],{"className":1757},[419,1331],[398,1759,1339],{"className":1760},[1338],[398,1762,1764],{"className":1763},[1311],[398,1765,1767],{"className":1766,"style":1561},[1315],[398,1768],{},[398,1770],{"className":1771,"style":1772},[424],"margin-right:0.2778em;",[398,1774,1777],{"className":1775},[1776],"mrel","≤",[398,1779],{"className":1780,"style":1772},[424],[398,1782,1784,1787,1841,1844,1847],{"className":1783},[410],[398,1785],{"className":1786,"style":1714},[414],[398,1788,1790,1793],{"className":1789},[419],[398,1791,385],{"className":1792},[419,1298],[398,1794,1796],{"className":1795},[1302],[398,1797,1799,1833],{"className":1798},[1306,1307],[398,1800,1802,1830],{"className":1801},[1311],[398,1803,1805,1816],{"className":1804,"style":1523},[1315],[398,1806,1807,1810],{"style":1526},[398,1808],{"className":1809,"style":1324},[1323],[398,1811,1813],{"className":1812},[1328,1329,1330,1331],[398,1814,600],{"className":1815},[419,1331],[398,1817,1818,1821],{"style":1538},[398,1819],{"className":1820,"style":1324},[1323],[398,1822,1824],{"className":1823},[1328,1329,1330,1331],[398,1825,1827],{"className":1826},[419,1331],[398,1828,1551],{"className":1829},[419,1331],[398,1831,1339],{"className":1832},[1338],[398,1834,1836],{"className":1835},[1311],[398,1837,1839],{"className":1838,"style":1561},[1315],[398,1840],{},[398,1842],{"className":1843,"style":1772},[424],[398,1845,1777],{"className":1846},[1776],[398,1848],{"className":1849,"style":1772},[424],[398,1851,1853,1857,1861,1864,1867],{"className":1852},[410],[398,1854],{"className":1855,"style":1856},[414],"height:0.7719em;vertical-align:-0.136em;",[398,1858,1860],{"className":1859},[1284],"⋯",[398,1862],{"className":1863,"style":1772},[424],[398,1865,1777],{"className":1866},[1776],[398,1868],{"className":1869,"style":1772},[424],[398,1871,1873,1877],{"className":1872},[410],[398,1874],{"className":1875,"style":1876},[414],"height:0.9989em;vertical-align:-0.247em;",[398,1878,1880,1883],{"className":1879},[419],[398,1881,385],{"className":1882},[419,1298],[398,1884,1886],{"className":1885},[1302],[398,1887,1889,1923],{"className":1888},[1306,1307],[398,1890,1892,1920],{"className":1891},[1311],[398,1893,1895,1906],{"className":1894,"style":1523},[1315],[398,1896,1897,1900],{"style":1662},[398,1898],{"className":1899,"style":1324},[1323],[398,1901,1903],{"className":1902},[1328,1329,1330,1331],[398,1904,1447],{"className":1905},[419,1298,1331],[398,1907,1908,1911],{"style":1538},[398,1909],{"className":1910,"style":1324},[1323],[398,1912,1914],{"className":1913},[1328,1329,1330,1331],[398,1915,1917],{"className":1916},[419,1331],[398,1918,1551],{"className":1919},[419,1331],[398,1921,1339],{"className":1922},[1338],[398,1924,1926],{"className":1925},[1311],[398,1927,1929],{"className":1928,"style":1695},[1315],[398,1930],{},[381,1932,1933,1934,1937,1938,1941,1942,1945,1946,1948,1949,1951],{},"Notice what the specification ",[495,1935,1936],{},"hides",": it says nothing about ",[495,1939,1940],{},"how"," to reorder\nthe numbers, only ",[495,1943,1944],{},"what"," the result must satisfy. That separation of ",[490,1947,1944],{},"\nfrom ",[490,1950,1940],{}," is what algorithm design turns on.",[381,1953,1954],{},"Our running example will be a smaller, more concrete problem:",[484,1956,1957],{"type":1254},[381,1958,1959,1961,1962,1993,1994,2028,2029,2031,2032,510],{},[490,1960,1266],{}," an array ",[398,1963,1965],{"className":1964},[401],[398,1966,1968],{"className":1967,"ariaHidden":406},[405],[398,1969,1971,1974,1978,1982,1986,1989],{"className":1970},[410],[398,1972],{"className":1973,"style":1280},[414],[398,1975,1977],{"className":1976},[419,1298],"A",[398,1979,1981],{"className":1980},[1288],"[",[398,1983,1985],{"className":1984},[419],"1..",[398,1987,1447],{"className":1988},[419,1298],[398,1990,1992],{"className":1991},[1462],"]"," of numbers, with ",[398,1995,1997],{"className":1996},[401],[398,1998,2000,2019],{"className":1999,"ariaHidden":406},[405],[398,2001,2003,2006,2009,2012,2016],{"className":2002},[410],[398,2004],{"className":2005,"style":1856},[414],[398,2007,1447],{"className":2008},[419,1298],[398,2010],{"className":2011,"style":1772},[424],[398,2013,2015],{"className":2014},[1776],"≥",[398,2017],{"className":2018,"style":1772},[424],[398,2020,2022,2025],{"className":2021},[410],[398,2023],{"className":2024,"style":440},[414],[398,2026,588],{"className":2027},[419],".\n",[490,2030,1484],{}," the maximum value ",[398,2033,2035],{"className":2034},[401],[398,2036,2038],{"className":2037,"ariaHidden":406},[405],[398,2039,2041,2044,2053,2056],{"className":2040},[410],[398,2042],{"className":2043,"style":1280},[414],[398,2045,2048],{"className":2046},[2047],"mop",[398,2049,2052],{"className":2050},[419,2051],"mathrm","max",[398,2054],{"className":2055,"style":1357},[424],[398,2057,2059,2063,2066,2069,2072,2075,2078,2081,2084,2087,2090,2093,2096,2099,2102,2105],{"className":2058},[1284],[398,2060,2062],{"className":2061,"style":1290},[1288,1289],"{",[398,2064,1977],{"className":2065},[419,1298],[398,2067,1981],{"className":2068},[1288],[398,2070,588],{"className":2071},[419],[398,2073,1992],{"className":2074},[1462],[398,2076,1353],{"className":2077},[1352],[398,2079],{"className":2080,"style":1357},[424],[398,2082,1407],{"className":2083},[1284],[398,2085],{"className":2086,"style":1357},[424],[398,2088,1353],{"className":2089},[1352],[398,2091],{"className":2092,"style":1357},[424],[398,2094,1977],{"className":2095},[419,1298],[398,2097,1981],{"className":2098},[1288],[398,2100,1447],{"className":2101},[419,1298],[398,2103,1992],{"className":2104},[1462],[398,2106,2108],{"className":2107,"style":1290},[1462,1289],"}",[381,2110,2111],{},"It is simple enough that you can see the whole algorithm at once, yet rich\nenough to demand all four deliverables, including a proof that is more subtle\nthan it first looks.",[925,2113,2115],{"id":2114},"deliverable-1-the-high-level-idea","Deliverable 1 — the high-level idea",[381,2117,2118,2119,2145],{},"Before any pseudocode, say what you intend to do in plain words. For\n",[398,2120,2122],{"className":2121},[401],[398,2123,2125],{"className":2124,"ariaHidden":406},[405],[398,2126,2128,2132],{"className":2127},[410],[398,2129],{"className":2130,"style":2131},[414],"height:0.6944em;",[398,2133,2137],{"className":2134},[2135,2136],"enclosing","textsc",[398,2138,2141],{"className":2139},[419,2140],"text",[398,2142,2144],{"className":2143},[419],"Find-Max",":",[484,2147,2149,2204],{"type":2148},"remark",[381,2150,2151,2154,2155,2171,2172,2187,2188,2203],{},[490,2152,2153],{},"Remark (High-level idea)."," Keep track of the largest value ",[398,2156,2158],{"className":2157},[401],[398,2159,2161],{"className":2160,"ariaHidden":406},[405],[398,2162,2164,2167],{"className":2163},[410],[398,2165],{"className":2166,"style":1477},[414],[398,2168,2170],{"className":2169},[419,1298],"x"," seen so far.\nSweep through the array left to right;\nwhenever you meet an element bigger than ",[398,2173,2175],{"className":2174},[401],[398,2176,2178],{"className":2177,"ariaHidden":406},[405],[398,2179,2181,2184],{"className":2180},[410],[398,2182],{"className":2183,"style":1477},[414],[398,2185,2170],{"className":2186},[419,1298],", update ",[398,2189,2191],{"className":2190},[401],[398,2192,2194],{"className":2193,"ariaHidden":406},[405],[398,2195,2197,2200],{"className":2196},[410],[398,2198],{"className":2199,"style":1477},[414],[398,2201,2170],{"className":2202},[419,1298]," to it.",[381,2205,2206,2207,2222],{},"When the sweep ends, ",[398,2208,2210],{"className":2209},[401],[398,2211,2213],{"className":2212,"ariaHidden":406},[405],[398,2214,2216,2219],{"className":2215},[410],[398,2217],{"className":2218,"style":1477},[414],[398,2220,2170],{"className":2221},[419,1298]," is the maximum.",[381,2224,2225,2226,2229],{},"That sentence is the ",[495,2227,2228],{},"whole"," algorithm. Everything that follows makes\nit precise and proves it works.",[925,2231,2233],{"id":2232},"deliverable-2-the-pseudocode","Deliverable 2 — the pseudocode",[381,2235,2236,2237,2239],{},"We describe algorithms in ",[490,2238,976],{},": precise enough to analyze, free of the\nsyntactic noise of any real language. The high-level idea translates directly:",[512,2241,2245],{"className":2242,"code":2243,"language":2244,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{Find-Max}(A)$ — return the largest element of $A[1..n]$\nnumber: 1\n$x \\gets A[1]$ \u002F\u002F largest value seen so far\nfor $i \\gets 2$ to $n$ do\n  if $A[i] > x$ then\n    $x \\gets A[i]$\nreturn $x$\n","algorithm",[520,2246,2247,2252,2257,2262,2267,2272,2277],{"__ignoreMap":376},[398,2248,2249],{"class":524,"line":6},[398,2250,2251],{},"caption: $\\textsc{Find-Max}(A)$ — return the largest element of $A[1..n]$\n",[398,2253,2254],{"class":524,"line":18},[398,2255,2256],{},"number: 1\n",[398,2258,2259],{"class":524,"line":24},[398,2260,2261],{},"$x \\gets A[1]$ \u002F\u002F largest value seen so far\n",[398,2263,2264],{"class":524,"line":73},[398,2265,2266],{},"for $i \\gets 2$ to $n$ do\n",[398,2268,2269],{"class":524,"line":102},[398,2270,2271],{},"  if $A[i] > x$ then\n",[398,2273,2274],{"class":524,"line":108},[398,2275,2276],{},"    $x \\gets A[i]$\n",[398,2278,2279],{"class":524,"line":116},[398,2280,2281],{},"return $x$\n",[381,2283,2284,2285,2300,2301,2325,2326,2347,2348,2363,2364,2397,2398,2422,2423,2426,2427,2462,2463,2487],{},"Two small but real design choices deserve attention. We seed ",[398,2286,2288],{"className":2287},[401],[398,2289,2291],{"className":2290,"ariaHidden":406},[405],[398,2292,2294,2297],{"className":2293},[410],[398,2295],{"className":2296,"style":1477},[414],[398,2298,2170],{"className":2299},[419,1298]," with ",[398,2302,2304],{"className":2303},[401],[398,2305,2307],{"className":2306,"ariaHidden":406},[405],[398,2308,2310,2313,2316,2319,2322],{"className":2309},[410],[398,2311],{"className":2312,"style":1280},[414],[398,2314,1977],{"className":2315},[419,1298],[398,2317,1981],{"className":2318},[1288],[398,2320,588],{"className":2321},[419],[398,2323,1992],{"className":2324},[1462],"\nrather than with ",[398,2327,2329],{"className":2328},[401],[398,2330,2332],{"className":2331,"ariaHidden":406},[405],[398,2333,2335,2339,2343],{"className":2334},[410],[398,2336],{"className":2337,"style":2338},[414],"height:0.6667em;vertical-align:-0.0833em;",[398,2340,2342],{"className":2341},[419],"−",[398,2344,2346],{"className":2345},[419],"∞"," or ",[398,2349,2351],{"className":2350},[401],[398,2352,2354],{"className":2353,"ariaHidden":406},[405],[398,2355,2357,2360],{"className":2356},[410],[398,2358],{"className":2359,"style":440},[414],[398,2361,640],{"className":2362},[419],". This is why the specification insisted\n",[398,2365,2367],{"className":2366},[401],[398,2368,2370,2388],{"className":2369,"ariaHidden":406},[405],[398,2371,2373,2376,2379,2382,2385],{"className":2372},[410],[398,2374],{"className":2375,"style":1856},[414],[398,2377,1447],{"className":2378},[419,1298],[398,2380],{"className":2381,"style":1772},[424],[398,2383,2015],{"className":2384},[1776],[398,2386],{"className":2387,"style":1772},[424],[398,2389,2391,2394],{"className":2390},[410],[398,2392],{"className":2393,"style":440},[414],[398,2395,588],{"className":2396},[419],", so that ",[398,2399,2401],{"className":2400},[401],[398,2402,2404],{"className":2403,"ariaHidden":406},[405],[398,2405,2407,2410,2413,2416,2419],{"className":2406},[410],[398,2408],{"className":2409,"style":1280},[414],[398,2411,1977],{"className":2412},[419,1298],[398,2414,1981],{"className":2415},[1288],[398,2417,588],{"className":2418},[419],[398,2420,1992],{"className":2421},[1462]," exists and ",[867,2424,2425],{},"the maximum"," is well defined. The loop\nstarts at ",[398,2428,2430],{"className":2429},[401],[398,2431,2433,2453],{"className":2432,"ariaHidden":406},[405],[398,2434,2436,2440,2444,2447,2450],{"className":2435},[410],[398,2437],{"className":2438,"style":2439},[414],"height:0.6595em;",[398,2441,2443],{"className":2442},[419,1298],"i",[398,2445],{"className":2446,"style":1772},[424],[398,2448,634],{"className":2449},[1776],[398,2451],{"className":2452,"style":1772},[424],[398,2454,2456,2459],{"className":2455},[410],[398,2457],{"className":2458,"style":440},[414],[398,2460,600],{"className":2461},[419],", since ",[398,2464,2466],{"className":2465},[401],[398,2467,2469],{"className":2468,"ariaHidden":406},[405],[398,2470,2472,2475,2478,2481,2484],{"className":2471},[410],[398,2473],{"className":2474,"style":1280},[414],[398,2476,1977],{"className":2477},[419,1298],[398,2479,1981],{"className":2480},[1288],[398,2482,588],{"className":2483},[419],[398,2485,1992],{"className":2486},[1462]," has already been accounted for by the seed.",[381,2489,2490,2491,2518,2519,2522,2523,2526],{},"As a second specimen of pseudocode, here is the classic insertion sort, which\nsorts ",[398,2492,2494],{"className":2493},[401],[398,2495,2497],{"className":2496,"ariaHidden":406},[405],[398,2498,2500,2503,2506,2509,2512,2515],{"className":2499},[410],[398,2501],{"className":2502,"style":1280},[414],[398,2504,1977],{"className":2505},[419,1298],[398,2507,1981],{"className":2508},[1288],[398,2510,1985],{"className":2511},[419],[398,2513,1447],{"className":2514},[419,1298],[398,2516,1992],{"className":2517},[1462]," in place by growing a sorted prefix one element at a time. We\nwill return to it when we study sorting; for now it shows what ",[495,2520,2521],{},"nested"," loops\nand an ",[490,2524,2525],{},"in-place"," rearrangement look like on the page.",[512,2528,2530],{"className":2242,"code":2529,"language":2244,"meta":376,"style":376},"caption: $\\textsc{Insertion-Sort}(A)$ — sort $A[1..n]$ in increasing order\nnumber: 2\nfor $j \\gets 2$ to $n$ do\n  $key \\gets A[j]$\n  $i \\gets j - 1$ \u002F\u002F insert into sorted prefix\n  while $i > 0$ and $A[i] > key$ do\n    $A[i + 1] \\gets A[i]$\n    $i \\gets i - 1$\n  $A[i + 1] \\gets key$\nreturn $A$\n",[520,2531,2532,2537,2542,2547,2552,2557,2562,2567,2572,2577],{"__ignoreMap":376},[398,2533,2534],{"class":524,"line":6},[398,2535,2536],{},"caption: $\\textsc{Insertion-Sort}(A)$ — sort $A[1..n]$ in increasing order\n",[398,2538,2539],{"class":524,"line":18},[398,2540,2541],{},"number: 2\n",[398,2543,2544],{"class":524,"line":24},[398,2545,2546],{},"for $j \\gets 2$ to $n$ do\n",[398,2548,2549],{"class":524,"line":73},[398,2550,2551],{},"  $key \\gets A[j]$\n",[398,2553,2554],{"class":524,"line":102},[398,2555,2556],{},"  $i \\gets j - 1$ \u002F\u002F insert into sorted prefix\n",[398,2558,2559],{"class":524,"line":108},[398,2560,2561],{},"  while $i > 0$ and $A[i] > key$ do\n",[398,2563,2564],{"class":524,"line":116},[398,2565,2566],{},"    $A[i + 1] \\gets A[i]$\n",[398,2568,2569],{"class":524,"line":196},[398,2570,2571],{},"    $i \\gets i - 1$\n",[398,2573,2574],{"class":524,"line":202},[398,2575,2576],{},"  $A[i + 1] \\gets key$\n",[398,2578,2579],{"class":524,"line":283},[398,2580,2581],{},"return $A$\n",[381,2583,2584,2585,2603,2604,2607,2608,2623,2624,2648,2649,2672,2673,2691],{},"The outer loop walks a marker ",[398,2586,2588],{"className":2587},[401],[398,2589,2591],{"className":2590,"ariaHidden":406},[405],[398,2592,2594,2598],{"className":2593},[410],[398,2595],{"className":2596,"style":2597},[414],"height:0.854em;vertical-align:-0.1944em;",[398,2599,2602],{"className":2600,"style":2601},[419,1298],"margin-right:0.0572em;","j"," from left to right; everything ",[495,2605,2606],{},"before"," ",[398,2609,2611],{"className":2610},[401],[398,2612,2614],{"className":2613,"ariaHidden":406},[405],[398,2615,2617,2620],{"className":2616},[410],[398,2618],{"className":2619,"style":2597},[414],[398,2621,2602],{"className":2622,"style":2601},[419,1298]," is\nalready sorted. Each pass lifts ",[398,2625,2627],{"className":2626},[401],[398,2628,2630],{"className":2629,"ariaHidden":406},[405],[398,2631,2633,2636,2639,2642,2645],{"className":2632},[410],[398,2634],{"className":2635,"style":1280},[414],[398,2637,1977],{"className":2638},[419,1298],[398,2640,1981],{"className":2641},[1288],[398,2643,2602],{"className":2644,"style":2601},[419,1298],[398,2646,1992],{"className":2647},[1462]," out as ",[398,2650,2652],{"className":2651},[401],[398,2653,2655],{"className":2654,"ariaHidden":406},[405],[398,2656,2658,2662,2667],{"className":2657},[410],[398,2659],{"className":2660,"style":2661},[414],"height:0.8889em;vertical-align:-0.1944em;",[398,2663,2666],{"className":2664,"style":2665},[419,1298],"margin-right:0.0315em;","k",[398,2668,2671],{"className":2669,"style":2670},[419,1298],"margin-right:0.0359em;","ey",", slides the larger\nsorted-prefix elements one slot right, and drops ",[398,2674,2676],{"className":2675},[401],[398,2677,2679],{"className":2678,"ariaHidden":406},[405],[398,2680,2682,2685,2688],{"className":2681},[410],[398,2683],{"className":2684,"style":2661},[414],[398,2686,2666],{"className":2687,"style":2665},[419,1298],[398,2689,2671],{"className":2690,"style":2670},[419,1298]," into the gap that opens\nup — exactly how you would tidy a hand of playing cards. The trace below shows\nthe sorted prefix (shaded) absorbing one new element per row.",[987,2693,2695,2943],{"className":2694},[990,991],[993,2696,2700],{"xmlns":995,"width":2697,"height":2698,"viewBox":2699},"263.959","160.815","-75 -75 197.969 120.611",[1000,2701,2702,2709,2721,2724,2731,2734,2741,2744,2751,2772,2783,2794,2797,2803,2806,2812,2831,2842,2853,2864,2867,2873,2892,2903,2914,2925,2936],{"stroke":1002,"style":1003},[1000,2703,2705],{"transform":2704},"translate(-68.514 2.46)",[1010,2706],{"d":2707,"fill":1002,"stroke":1002,"className":2708,"style":1183},"M7.503-62.120L7.503-63.342Q7.503-63.370 7.535-63.401Q7.566-63.432 7.589-63.432L7.695-63.432Q7.765-63.432 7.781-63.370Q7.843-63.050 7.982-62.809Q8.120-62.569 8.353-62.428Q8.585-62.288 8.894-62.288Q9.132-62.288 9.341-62.348Q9.550-62.409 9.687-62.557Q9.824-62.706 9.824-62.952Q9.824-63.206 9.613-63.372Q9.402-63.538 9.132-63.592L8.511-63.706Q8.105-63.784 7.804-64.040Q7.503-64.296 7.503-64.671Q7.503-65.038 7.704-65.260Q7.906-65.483 8.230-65.581Q8.554-65.678 8.894-65.678Q9.359-65.678 9.656-65.471L9.878-65.655Q9.902-65.678 9.933-65.678L9.984-65.678Q10.015-65.678 10.042-65.651Q10.070-65.624 10.070-65.592L10.070-64.608Q10.070-64.577 10.044-64.548Q10.019-64.518 9.984-64.518L9.878-64.518Q9.843-64.518 9.816-64.546Q9.788-64.573 9.788-64.608Q9.788-65.007 9.536-65.227Q9.285-65.448 8.886-65.448Q8.531-65.448 8.247-65.325Q7.964-65.202 7.964-64.897Q7.964-64.678 8.165-64.546Q8.367-64.413 8.613-64.370L9.238-64.257Q9.667-64.167 9.976-63.870Q10.285-63.573 10.285-63.159Q10.285-62.589 9.886-62.311Q9.488-62.034 8.894-62.034Q8.343-62.034 7.992-62.370L7.695-62.057Q7.671-62.034 7.636-62.034L7.589-62.034Q7.566-62.034 7.535-62.065Q7.503-62.096 7.503-62.120M11.437-63.073L11.437-65.264L10.734-65.264L10.734-65.518Q11.089-65.518 11.331-65.751Q11.574-65.983 11.685-66.331Q11.796-66.678 11.796-67.034L12.077-67.034L12.077-65.561L13.253-65.561L13.253-65.264L12.077-65.264L12.077-63.089Q12.077-62.768 12.197-62.540Q12.316-62.311 12.597-62.311Q12.777-62.311 12.894-62.434Q13.011-62.557 13.064-62.737Q13.117-62.917 13.117-63.089L13.117-63.561L13.398-63.561L13.398-63.073Q13.398-62.819 13.292-62.579Q13.187-62.339 12.990-62.186Q12.792-62.034 12.535-62.034Q12.218-62.034 11.966-62.157Q11.714-62.280 11.576-62.514Q11.437-62.749 11.437-63.073M14.214-62.944Q14.214-63.428 14.617-63.723Q15.019-64.018 15.570-64.137Q16.120-64.257 16.613-64.257L16.613-64.546Q16.613-64.772 16.497-64.979Q16.382-65.186 16.185-65.305Q15.988-65.424 15.757-65.424Q15.331-65.424 15.046-65.319Q15.117-65.292 15.163-65.237Q15.210-65.182 15.236-65.112Q15.261-65.042 15.261-64.967Q15.261-64.862 15.210-64.770Q15.160-64.678 15.068-64.628Q14.976-64.577 14.870-64.577Q14.765-64.577 14.673-64.628Q14.581-64.678 14.531-64.770Q14.480-64.862 14.480-64.967Q14.480-65.385 14.868-65.532Q15.257-65.678 15.757-65.678Q16.089-65.678 16.443-65.548Q16.796-65.417 17.025-65.163Q17.253-64.909 17.253-64.561L17.253-62.760Q17.253-62.628 17.326-62.518Q17.398-62.409 17.527-62.409Q17.652-62.409 17.720-62.514Q17.788-62.620 17.788-62.760L17.788-63.272L18.070-63.272L18.070-62.760Q18.070-62.557 17.952-62.399Q17.835-62.241 17.654-62.157Q17.472-62.073 17.269-62.073Q17.038-62.073 16.886-62.245Q16.734-62.417 16.702-62.647Q16.542-62.366 16.234-62.200Q15.925-62.034 15.574-62.034Q15.062-62.034 14.638-62.257Q14.214-62.479 14.214-62.944M14.902-62.944Q14.902-62.659 15.128-62.473Q15.355-62.288 15.648-62.288Q15.894-62.288 16.118-62.405Q16.343-62.522 16.478-62.725Q16.613-62.928 16.613-63.182L16.613-64.014Q16.347-64.014 16.062-63.960Q15.777-63.905 15.505-63.776Q15.234-63.647 15.068-63.440Q14.902-63.233 14.902-62.944M20.370-62.112L18.390-62.112L18.390-62.409Q18.660-62.409 18.827-62.454Q18.995-62.499 18.995-62.671L18.995-64.807Q18.995-65.022 18.933-65.118Q18.870-65.214 18.753-65.235Q18.636-65.257 18.390-65.257L18.390-65.553L19.558-65.639L19.558-64.854Q19.636-65.065 19.788-65.251Q19.941-65.436 20.140-65.538Q20.339-65.639 20.566-65.639Q20.812-65.639 21.003-65.495Q21.195-65.350 21.195-65.120Q21.195-64.964 21.089-64.854Q20.984-64.745 20.827-64.745Q20.671-64.745 20.562-64.854Q20.452-64.964 20.452-65.120Q20.452-65.280 20.558-65.385Q20.234-65.385 20.019-65.157Q19.804-64.928 19.708-64.589Q19.613-64.249 19.613-63.944L19.613-62.671Q19.613-62.503 19.839-62.456Q20.066-62.409 20.370-62.409L20.370-62.112M22.300-63.073L22.300-65.264L21.597-65.264L21.597-65.518Q21.952-65.518 22.195-65.751Q22.437-65.983 22.548-66.331Q22.660-66.678 22.660-67.034L22.941-67.034L22.941-65.561L24.117-65.561L24.117-65.264L22.941-65.264L22.941-63.089Q22.941-62.768 23.060-62.540Q23.179-62.311 23.460-62.311Q23.640-62.311 23.757-62.434Q23.874-62.557 23.927-62.737Q23.980-62.917 23.980-63.089L23.980-63.561L24.261-63.561L24.261-63.073Q24.261-62.819 24.156-62.579Q24.050-62.339 23.853-62.186Q23.656-62.034 23.398-62.034Q23.081-62.034 22.829-62.157Q22.577-62.280 22.439-62.514Q22.300-62.749 22.300-63.073",[1025],[1000,2710,2711,2714],{"fill":1006},[1010,2712],{"d":2713},"M-2.737-52.153H17.18V-72.07H-2.737Z",[1000,2715,2717],{"transform":2716},"translate(-2.312 2.9)",[1010,2718],{"d":2719,"fill":1002,"stroke":1002,"className":2720,"style":1026},"M8.048-63.118Q8.189-62.705 8.549-62.453Q8.910-62.200 9.345-62.200Q9.797-62.200 10.063-62.453Q10.329-62.705 10.432-63.090Q10.535-63.474 10.535-63.931Q10.535-65.632 9.626-65.632Q9.305-65.632 9.076-65.538Q8.848-65.443 8.718-65.324Q8.589-65.206 8.477-65.067Q8.365-64.929 8.329-64.920L8.246-64.920Q8.202-64.920 8.171-64.951Q8.140-64.982 8.140-65.030L8.140-68.027Q8.140-68.058 8.176-68.082Q8.211-68.106 8.237-68.106L8.277-68.106Q8.910-67.816 9.582-67.816Q10.254-67.816 10.896-68.106L10.922-68.106Q10.953-68.106 10.986-68.084Q11.019-68.062 11.019-68.027L11.019-67.926Q11.019-67.922 11.010-67.904Q11.001-67.886 11.001-67.882Q10.685-67.487 10.215-67.265Q9.744-67.043 9.248-67.043Q8.839-67.043 8.457-67.153L8.457-65.434Q8.914-65.891 9.626-65.891Q10.136-65.891 10.535-65.610Q10.935-65.329 11.157-64.874Q11.379-64.419 11.379-63.914Q11.379-63.364 11.100-62.905Q10.821-62.446 10.355-62.180Q9.889-61.914 9.345-61.914Q8.905-61.914 8.521-62.141Q8.136-62.367 7.908-62.747Q7.679-63.127 7.679-63.571Q7.679-63.764 7.811-63.896Q7.943-64.028 8.140-64.028Q8.272-64.028 8.376-63.969Q8.479-63.909 8.538-63.806Q8.597-63.703 8.597-63.571Q8.597-63.373 8.470-63.241Q8.343-63.110 8.140-63.110Q8.079-63.110 8.048-63.118",[1025],[1010,2722],{"fill":1015,"d":2723},"M17.58-52.153h19.917V-72.07H17.58Z",[1000,2725,2727],{"transform":2726},"translate(18.004 2.9)",[1010,2728],{"d":2729,"fill":1002,"stroke":1002,"className":2730,"style":1026},"M11.129-62.112L7.679-62.112L7.679-62.345Q7.679-62.358 7.710-62.389L9.164-63.966Q9.630-64.463 9.883-64.768Q10.136-65.074 10.327-65.485Q10.518-65.896 10.518-66.335Q10.518-66.924 10.195-67.357Q9.872-67.790 9.292-67.790Q9.028-67.790 8.782-67.680Q8.536-67.570 8.360-67.383Q8.184-67.196 8.088-66.946L8.167-66.946Q8.369-66.946 8.512-66.810Q8.655-66.674 8.655-66.458Q8.655-66.252 8.512-66.113Q8.369-65.975 8.167-65.975Q7.965-65.975 7.822-66.118Q7.679-66.260 7.679-66.458Q7.679-66.920 7.916-67.293Q8.154-67.667 8.554-67.886Q8.953-68.106 9.402-68.106Q9.925-68.106 10.379-67.891Q10.834-67.675 11.107-67.276Q11.379-66.876 11.379-66.335Q11.379-65.940 11.208-65.586Q11.036-65.232 10.771-64.953Q10.505-64.674 10.054-64.289Q9.604-63.905 9.525-63.830L8.501-62.868L9.318-62.868Q9.969-62.868 10.406-62.879Q10.843-62.890 10.874-62.912Q10.944-62.995 10.999-63.235Q11.054-63.474 11.094-63.742L11.379-63.742",[1025],[1010,2732],{"fill":1015,"d":2733},"M37.897-52.153h19.917V-72.07H37.897Z",[1000,2735,2737],{"transform":2736},"translate(38.321 2.9)",[1010,2738],{"d":2739,"fill":1002,"stroke":1002,"className":2740,"style":1026},"M9.920-63.589L7.481-63.589L7.481-63.905L10.307-68.053Q10.351-68.106 10.417-68.106L10.571-68.106Q10.610-68.106 10.643-68.073Q10.676-68.040 10.676-67.996L10.676-63.905L11.577-63.905L11.577-63.589L10.676-63.589L10.676-62.723Q10.676-62.428 11.577-62.428L11.577-62.112L9.024-62.112L9.024-62.428Q9.384-62.428 9.652-62.483Q9.920-62.538 9.920-62.723L9.920-63.589M9.977-67.078L7.815-63.905L9.977-63.905",[1025],[1010,2742],{"fill":1015,"d":2743},"M58.214-52.153H78.13V-72.07H58.214Z",[1000,2745,2747],{"transform":2746},"translate(58.638 2.9)",[1010,2748],{"d":2749,"fill":1002,"stroke":1002,"className":2750,"style":1026},"M11.129-62.112L8.097-62.112L8.097-62.428Q9.248-62.428 9.248-62.723L9.248-67.447Q8.760-67.214 8.039-67.214L8.039-67.530Q9.169-67.530 9.731-68.106L9.876-68.106Q9.911-68.106 9.944-68.073Q9.977-68.040 9.977-68.005L9.977-62.723Q9.977-62.428 11.129-62.428",[1025],[1000,2752,2753,2760,2766],{"stroke":1015,"fontSize":1195},[1000,2754,2756],{"transform":2755},"translate(-69.492 33.165)",[1010,2757],{"d":2758,"fill":1002,"stroke":1002,"className":2759,"style":1183},"M7.109-60.991Q7.109-61.186 7.245-61.333Q7.382-61.479 7.574-61.479Q7.710-61.479 7.806-61.393Q7.902-61.307 7.902-61.175Q7.902-61.053 7.827-60.934Q7.753-60.815 7.648-60.760Q7.753-60.737 7.870-60.737Q8.101-60.737 8.304-60.885Q8.507-61.034 8.644-61.260Q8.781-61.487 8.839-61.721L9.589-64.729Q9.628-64.885 9.628-65.022Q9.628-65.171 9.576-65.278Q9.523-65.385 9.390-65.385Q9.152-65.385 8.941-65.231Q8.730-65.077 8.576-64.844Q8.421-64.612 8.320-64.358Q8.304-64.311 8.245-64.311L8.144-64.311Q8.109-64.311 8.081-64.346Q8.054-64.382 8.054-64.409L8.054-64.440Q8.171-64.733 8.370-65.012Q8.570-65.292 8.833-65.466Q9.097-65.639 9.406-65.639Q9.628-65.639 9.822-65.548Q10.015-65.456 10.130-65.284Q10.245-65.112 10.245-64.889Q10.245-64.819 10.214-64.671L9.460-61.663Q9.402-61.409 9.240-61.190Q9.077-60.971 8.861-60.813Q8.644-60.655 8.376-60.567Q8.109-60.479 7.855-60.479Q7.566-60.479 7.337-60.604Q7.109-60.729 7.109-60.991M9.749-66.952Q9.749-67.132 9.894-67.270Q10.038-67.409 10.222-67.409Q10.351-67.409 10.447-67.321Q10.542-67.233 10.542-67.096Q10.542-66.921 10.398-66.780Q10.253-66.639 10.077-66.639Q9.945-66.639 9.847-66.731Q9.749-66.823 9.749-66.952",[1025],[1000,2761,2762],{"transform":2755},[1010,2763],{"d":2764,"fill":1002,"stroke":1002,"className":2765,"style":1183},"M19.442-63.089L14.129-63.089Q14.051-63.096 14.002-63.145Q13.954-63.194 13.954-63.272Q13.954-63.342 14.001-63.393Q14.047-63.444 14.129-63.456L19.442-63.456Q19.516-63.444 19.563-63.393Q19.610-63.342 19.610-63.272Q19.610-63.194 19.561-63.145Q19.512-63.096 19.442-63.089M19.442-64.776L14.129-64.776Q14.051-64.784 14.002-64.833Q13.954-64.882 13.954-64.960Q13.954-65.030 14.001-65.081Q14.047-65.132 14.129-65.143L19.442-65.143Q19.516-65.132 19.563-65.081Q19.610-65.030 19.610-64.960Q19.610-64.882 19.561-64.833Q19.512-64.784 19.442-64.776",[1025],[1000,2767,2768],{"transform":2755},[1010,2769],{"d":2770,"fill":1002,"stroke":1002,"className":2771,"style":1183},"M26.040-62.112L22.880-62.112L22.880-62.319Q22.880-62.346 22.903-62.378L24.255-63.776Q24.634-64.163 24.882-64.452Q25.130-64.741 25.304-65.098Q25.477-65.456 25.477-65.846Q25.477-66.194 25.345-66.487Q25.212-66.780 24.958-66.958Q24.704-67.135 24.349-67.135Q23.989-67.135 23.698-66.940Q23.407-66.745 23.263-66.417L23.317-66.417Q23.501-66.417 23.626-66.296Q23.751-66.174 23.751-65.983Q23.751-65.803 23.626-65.674Q23.501-65.546 23.317-65.546Q23.138-65.546 23.009-65.674Q22.880-65.803 22.880-65.983Q22.880-66.385 23.100-66.721Q23.321-67.057 23.686-67.245Q24.052-67.432 24.454-67.432Q24.934-67.432 25.350-67.245Q25.767-67.057 26.018-66.696Q26.270-66.335 26.270-65.846Q26.270-65.487 26.116-65.184Q25.962-64.882 25.710-64.622Q25.458-64.362 25.108-64.077Q24.759-63.792 24.591-63.639L23.661-62.800L24.376-62.800Q25.751-62.800 25.790-62.839Q25.860-62.917 25.903-63.102Q25.946-63.288 25.989-63.577L26.270-63.577",[1025],[1000,2773,2774,2777],{"fill":1006},[1010,2775],{"d":2776},"M-2.737-20.855H17.18v-19.917H-2.737Z",[1000,2778,2780],{"transform":2779},"translate(-2.312 34.198)",[1010,2781],{"d":2729,"fill":1002,"stroke":1002,"className":2782,"style":1026},[1025],[1000,2784,2785,2788],{"fill":1006,"style":1008},[1010,2786],{"d":2787},"M17.98-20.855h19.917v-19.917H17.98Z",[1000,2789,2791],{"transform":2790},"translate(18.404 34.198)",[1010,2792],{"d":2719,"fill":1002,"stroke":1002,"className":2793,"style":1026},[1025],[1010,2795],{"fill":1015,"d":2796},"M38.697-20.855h19.917v-19.917H38.697Z",[1000,2798,2800],{"transform":2799},"translate(39.121 34.198)",[1010,2801],{"d":2739,"fill":1002,"stroke":1002,"className":2802,"style":1026},[1025],[1010,2804],{"fill":1015,"d":2805},"M59.014-20.855H78.93v-19.917H59.014Z",[1000,2807,2809],{"transform":2808},"translate(59.438 34.198)",[1010,2810],{"d":2749,"fill":1002,"stroke":1002,"className":2811,"style":1026},[1025],[1000,2813,2814,2820,2825],{"stroke":1015,"fontSize":1195},[1000,2815,2817],{"transform":2816},"translate(-69.492 64.463)",[1010,2818],{"d":2758,"fill":1002,"stroke":1002,"className":2819,"style":1183},[1025],[1000,2821,2822],{"transform":2816},[1010,2823],{"d":2764,"fill":1002,"stroke":1002,"className":2824,"style":1183},[1025],[1000,2826,2827],{"transform":2816},[1010,2828],{"d":2829,"fill":1002,"stroke":1002,"className":2830,"style":1183},"M23.247-62.745Q23.438-62.471 23.794-62.344Q24.149-62.217 24.532-62.217Q24.868-62.217 25.077-62.403Q25.286-62.589 25.382-62.882Q25.477-63.175 25.477-63.487Q25.477-63.811 25.380-64.106Q25.282-64.401 25.069-64.585Q24.856-64.768 24.524-64.768L23.958-64.768Q23.927-64.768 23.897-64.798Q23.868-64.827 23.868-64.854L23.868-64.936Q23.868-64.971 23.897-64.997Q23.927-65.022 23.958-65.022L24.438-65.057Q24.724-65.057 24.921-65.262Q25.118-65.467 25.214-65.762Q25.309-66.057 25.309-66.335Q25.309-66.714 25.110-66.952Q24.911-67.190 24.532-67.190Q24.212-67.190 23.923-67.083Q23.634-66.975 23.470-66.753Q23.649-66.753 23.772-66.626Q23.895-66.499 23.895-66.327Q23.895-66.155 23.770-66.030Q23.645-65.905 23.470-65.905Q23.298-65.905 23.173-66.030Q23.048-66.155 23.048-66.327Q23.048-66.694 23.272-66.942Q23.497-67.190 23.837-67.311Q24.177-67.432 24.532-67.432Q24.880-67.432 25.243-67.311Q25.606-67.190 25.854-66.940Q26.102-66.690 26.102-66.335Q26.102-65.850 25.784-65.467Q25.466-65.085 24.989-64.913Q25.540-64.803 25.940-64.417Q26.341-64.030 26.341-63.495Q26.341-63.038 26.077-62.682Q25.813-62.327 25.392-62.135Q24.970-61.944 24.532-61.944Q24.122-61.944 23.729-62.079Q23.337-62.214 23.071-62.499Q22.806-62.784 22.806-63.202Q22.806-63.397 22.938-63.526Q23.071-63.655 23.263-63.655Q23.388-63.655 23.491-63.596Q23.595-63.538 23.657-63.432Q23.720-63.327 23.720-63.202Q23.720-63.007 23.585-62.876Q23.450-62.745 23.247-62.745",[1025],[1000,2832,2833,2836],{"fill":1006},[1010,2834],{"d":2835},"M-2.737 10.443H17.18V-9.474H-2.737Z",[1000,2837,2839],{"transform":2838},"translate(-2.312 65.496)",[1010,2840],{"d":2729,"fill":1002,"stroke":1002,"className":2841,"style":1026},[1025],[1000,2843,2844,2847],{"fill":1006,"style":1008},[1010,2845],{"d":2846},"M17.98 10.443h19.917V-9.474H17.98Z",[1000,2848,2850],{"transform":2849},"translate(18.404 65.496)",[1010,2851],{"d":2739,"fill":1002,"stroke":1002,"className":2852,"style":1026},[1025],[1000,2854,2855,2858],{"fill":1006},[1010,2856],{"d":2857},"M38.697 10.443h19.917V-9.474H38.697Z",[1000,2859,2861],{"transform":2860},"translate(39.121 65.496)",[1010,2862],{"d":2719,"fill":1002,"stroke":1002,"className":2863,"style":1026},[1025],[1010,2865],{"fill":1015,"d":2866},"M59.014 10.443H78.93V-9.474H59.014Z",[1000,2868,2870],{"transform":2869},"translate(59.438 65.496)",[1010,2871],{"d":2749,"fill":1002,"stroke":1002,"className":2872,"style":1026},[1025],[1000,2874,2875,2881,2886],{"stroke":1015,"fontSize":1195},[1000,2876,2878],{"transform":2877},"translate(-69.492 95.76)",[1010,2879],{"d":2758,"fill":1002,"stroke":1002,"className":2880,"style":1183},[1025],[1000,2882,2883],{"transform":2877},[1010,2884],{"d":2764,"fill":1002,"stroke":1002,"className":2885,"style":1183},[1025],[1000,2887,2888],{"transform":2877},[1010,2889],{"d":2890,"fill":1002,"stroke":1002,"className":2891,"style":1183},"M24.934-63.425L22.692-63.425L22.692-63.721L25.263-67.378Q25.302-67.432 25.364-67.432L25.509-67.432Q25.559-67.432 25.591-67.401Q25.622-67.370 25.622-67.319L25.622-63.721L26.454-63.721L26.454-63.425L25.622-63.425L25.622-62.671Q25.622-62.409 26.446-62.409L26.446-62.112L24.110-62.112L24.110-62.409Q24.934-62.409 24.934-62.671L24.934-63.425M24.989-66.526L23.020-63.721L24.989-63.721",[1025],[1000,2893,2894,2897],{"fill":1006,"style":1008},[1010,2895],{"d":2896},"M-2.737 41.741H17.18V21.824H-2.737Z",[1000,2898,2900],{"transform":2899},"translate(-2.312 96.794)",[1010,2901],{"d":2749,"fill":1002,"stroke":1002,"className":2902,"style":1026},[1025],[1000,2904,2905,2908],{"fill":1006},[1010,2906],{"d":2907},"M17.98 41.741h19.917V21.824H17.98Z",[1000,2909,2911],{"transform":2910},"translate(18.404 96.794)",[1010,2912],{"d":2729,"fill":1002,"stroke":1002,"className":2913,"style":1026},[1025],[1000,2915,2916,2919],{"fill":1006},[1010,2917],{"d":2918},"M38.297 41.741h19.917V21.824H38.297Z",[1000,2920,2922],{"transform":2921},"translate(38.721 96.794)",[1010,2923],{"d":2739,"fill":1002,"stroke":1002,"className":2924,"style":1026},[1025],[1000,2926,2927,2930],{"fill":1006},[1010,2928],{"d":2929},"M58.614 41.741H78.53V21.824H58.614Z",[1000,2931,2933],{"transform":2932},"translate(59.038 96.794)",[1010,2934],{"d":2719,"fill":1002,"stroke":1002,"className":2935,"style":1026},[1025],[1000,2937,2939],{"transform":2938},"translate(86.423 96.672)",[1010,2940],{"d":2941,"fill":1002,"stroke":1002,"className":2942,"style":1183},"M7.503-62.120L7.503-63.342Q7.503-63.370 7.535-63.401Q7.566-63.432 7.589-63.432L7.695-63.432Q7.765-63.432 7.781-63.370Q7.843-63.050 7.982-62.809Q8.120-62.569 8.353-62.428Q8.585-62.288 8.894-62.288Q9.132-62.288 9.341-62.348Q9.550-62.409 9.687-62.557Q9.824-62.706 9.824-62.952Q9.824-63.206 9.613-63.372Q9.402-63.538 9.132-63.592L8.511-63.706Q8.105-63.784 7.804-64.040Q7.503-64.296 7.503-64.671Q7.503-65.038 7.704-65.260Q7.906-65.483 8.230-65.581Q8.554-65.678 8.894-65.678Q9.359-65.678 9.656-65.471L9.878-65.655Q9.902-65.678 9.933-65.678L9.984-65.678Q10.015-65.678 10.042-65.651Q10.070-65.624 10.070-65.592L10.070-64.608Q10.070-64.577 10.044-64.548Q10.019-64.518 9.984-64.518L9.878-64.518Q9.843-64.518 9.816-64.546Q9.788-64.573 9.788-64.608Q9.788-65.007 9.536-65.227Q9.285-65.448 8.886-65.448Q8.531-65.448 8.247-65.325Q7.964-65.202 7.964-64.897Q7.964-64.678 8.165-64.546Q8.367-64.413 8.613-64.370L9.238-64.257Q9.667-64.167 9.976-63.870Q10.285-63.573 10.285-63.159Q10.285-62.589 9.886-62.311Q9.488-62.034 8.894-62.034Q8.343-62.034 7.992-62.370L7.695-62.057Q7.671-62.034 7.636-62.034L7.589-62.034Q7.566-62.034 7.535-62.065Q7.503-62.096 7.503-62.120M10.812-63.807Q10.812-64.311 11.068-64.743Q11.324-65.174 11.759-65.426Q12.195-65.678 12.695-65.678Q13.081-65.678 13.423-65.534Q13.765-65.389 14.027-65.128Q14.288-64.866 14.431-64.530Q14.574-64.194 14.574-63.807Q14.574-63.315 14.310-62.905Q14.046-62.495 13.617-62.264Q13.187-62.034 12.695-62.034Q12.202-62.034 11.769-62.266Q11.335-62.499 11.074-62.907Q10.812-63.315 10.812-63.807M12.695-62.311Q13.152-62.311 13.404-62.534Q13.656-62.757 13.743-63.108Q13.831-63.460 13.831-63.905Q13.831-64.335 13.738-64.673Q13.644-65.010 13.390-65.217Q13.136-65.424 12.695-65.424Q12.046-65.424 11.802-65.008Q11.558-64.592 11.558-63.905Q11.558-63.460 11.646-63.108Q11.734-62.757 11.986-62.534Q12.238-62.311 12.695-62.311M17.066-62.112L15.085-62.112L15.085-62.409Q15.355-62.409 15.523-62.454Q15.691-62.499 15.691-62.671L15.691-64.807Q15.691-65.022 15.628-65.118Q15.566-65.214 15.449-65.235Q15.331-65.257 15.085-65.257L15.085-65.553L16.253-65.639L16.253-64.854Q16.331-65.065 16.484-65.251Q16.636-65.436 16.835-65.538Q17.035-65.639 17.261-65.639Q17.507-65.639 17.699-65.495Q17.890-65.350 17.890-65.120Q17.890-64.964 17.785-64.854Q17.679-64.745 17.523-64.745Q17.367-64.745 17.257-64.854Q17.148-64.964 17.148-65.120Q17.148-65.280 17.253-65.385Q16.929-65.385 16.714-65.157Q16.499-64.928 16.404-64.589Q16.308-64.249 16.308-63.944L16.308-62.671Q16.308-62.503 16.535-62.456Q16.761-62.409 17.066-62.409L17.066-62.112M18.995-63.073L18.995-65.264L18.292-65.264L18.292-65.518Q18.648-65.518 18.890-65.751Q19.132-65.983 19.243-66.331Q19.355-66.678 19.355-67.034L19.636-67.034L19.636-65.561L20.812-65.561L20.812-65.264L19.636-65.264L19.636-63.089Q19.636-62.768 19.755-62.540Q19.874-62.311 20.156-62.311Q20.335-62.311 20.452-62.434Q20.570-62.557 20.622-62.737Q20.675-62.917 20.675-63.089L20.675-63.561L20.956-63.561L20.956-63.073Q20.956-62.819 20.851-62.579Q20.745-62.339 20.548-62.186Q20.351-62.034 20.093-62.034Q19.777-62.034 19.525-62.157Q19.273-62.280 19.134-62.514Q18.995-62.749 18.995-63.073M21.675-63.866Q21.675-64.346 21.908-64.762Q22.140-65.178 22.550-65.428Q22.960-65.678 23.437-65.678Q24.167-65.678 24.566-65.237Q24.964-64.796 24.964-64.065Q24.964-63.960 24.870-63.936L22.421-63.936L22.421-63.866Q22.421-63.456 22.542-63.100Q22.663-62.745 22.935-62.528Q23.206-62.311 23.636-62.311Q23.999-62.311 24.296-62.540Q24.593-62.768 24.695-63.120Q24.702-63.167 24.788-63.182L24.870-63.182Q24.964-63.155 24.964-63.073Q24.964-63.065 24.956-63.034Q24.894-62.807 24.755-62.624Q24.617-62.440 24.425-62.307Q24.234-62.175 24.015-62.104Q23.796-62.034 23.558-62.034Q23.187-62.034 22.849-62.171Q22.511-62.307 22.243-62.559Q21.976-62.811 21.826-63.151Q21.675-63.491 21.675-63.866M22.429-64.174L24.390-64.174Q24.390-64.479 24.288-64.770Q24.187-65.061 23.970-65.243Q23.753-65.424 23.437-65.424Q23.136-65.424 22.906-65.237Q22.675-65.049 22.552-64.758Q22.429-64.467 22.429-64.174M27.269-62.034Q26.788-62.034 26.380-62.278Q25.972-62.522 25.734-62.936Q25.495-63.350 25.495-63.839Q25.495-64.331 25.753-64.747Q26.011-65.163 26.443-65.401Q26.874-65.639 27.367-65.639Q27.988-65.639 28.437-65.202L28.437-66.831Q28.437-67.046 28.374-67.141Q28.312-67.237 28.195-67.258Q28.077-67.280 27.831-67.280L27.831-67.577L29.054-67.663L29.054-62.854Q29.054-62.643 29.117-62.548Q29.179-62.452 29.296-62.430Q29.413-62.409 29.663-62.409L29.663-62.112L28.413-62.034L28.413-62.518Q27.949-62.034 27.269-62.034M27.335-62.288Q27.675-62.288 27.968-62.479Q28.261-62.671 28.413-62.967L28.413-64.799Q28.265-65.073 28.003-65.229Q27.742-65.385 27.429-65.385Q26.804-65.385 26.521-64.938Q26.238-64.491 26.238-63.831Q26.238-63.186 26.490-62.737Q26.742-62.288 27.335-62.288",[1025],[1233,2944,2946,2947,2997,2998,3013,3014,3032],{"className":2945},[1236],"Insertion-Sort on ",[398,2948,2950],{"className":2949},[401],[398,2951,2953],{"className":2952,"ariaHidden":406},[405],[398,2954,2956,2959,2962,2966,2969,2972,2975,2978,2981,2985,2988,2991,2994],{"className":2955},[410],[398,2957],{"className":2958,"style":1280},[414],[398,2960,1291],{"className":2961},[1288],[398,2963,2965],{"className":2964},[419],"5",[398,2967,1353],{"className":2968},[1352],[398,2970],{"className":2971,"style":1357},[424],[398,2973,600],{"className":2974},[419],[398,2976,1353],{"className":2977},[1352],[398,2979],{"className":2980,"style":1357},[424],[398,2982,2984],{"className":2983},[419],"4",[398,2986,1353],{"className":2987},[1352],[398,2989],{"className":2990,"style":1357},[424],[398,2992,588],{"className":2993},[419],[398,2995,1463],{"className":2996},[1462],": each row is the array after one pass of ",[398,2999,3001],{"className":3000},[401],[398,3002,3004],{"className":3003,"ariaHidden":406},[405],[398,3005,3007,3010],{"className":3006},[410],[398,3008],{"className":3009,"style":2597},[414],[398,3011,2602],{"className":3012,"style":2601},[419,1298],"; the shaded prefix is sorted, and the outlined cell is the ",[398,3015,3017],{"className":3016},[401],[398,3018,3020],{"className":3019,"ariaHidden":406},[405],[398,3021,3023,3026,3029],{"className":3022},[410],[398,3024],{"className":3025,"style":2661},[414],[398,3027,2666],{"className":3028,"style":2665},[419,1298],[398,3030,2671],{"className":3031,"style":2670},[419,1298]," just inserted.",[925,3034,3036],{"id":3035},"a-picture-of-the-idea","A picture of the idea",[381,3038,3039,3040,3061,3062,3142,3143,3158,3159,3201,3202,3217,3218,3243,3244,3287,3288,3291,3292,3307,3308,510],{},"Here is ",[398,3041,3043],{"className":3042},[401],[398,3044,3046],{"className":3045,"ariaHidden":406},[405],[398,3047,3049,3052],{"className":3048},[410],[398,3050],{"className":3051,"style":2131},[414],[398,3053,3055],{"className":3054},[2135,2136],[398,3056,3058],{"className":3057},[419,2140],[398,3059,2144],{"className":3060},[419]," mid-sweep on ",[398,3063,3065],{"className":3064},[401],[398,3066,3068,3087],{"className":3067,"ariaHidden":406},[405],[398,3069,3071,3075,3078,3081,3084],{"className":3070},[410],[398,3072],{"className":3073,"style":3074},[414],"height:0.6833em;",[398,3076,1977],{"className":3077},[419,1298],[398,3079],{"className":3080,"style":1772},[424],[398,3082,634],{"className":3083},[1776],[398,3085],{"className":3086,"style":1772},[424],[398,3088,3090,3093],{"className":3089},[410],[398,3091],{"className":3092,"style":1280},[414],[398,3094,3096,3099,3102,3105,3108,3112,3115,3118,3121,3124,3127,3130,3133,3136,3139],{"className":3095},[1284],[398,3097,1291],{"className":3098,"style":1290},[1288,1289],[398,3100,890],{"className":3101},[419],[398,3103,1353],{"className":3104},[1352],[398,3106],{"className":3107,"style":1357},[424],[398,3109,3111],{"className":3110},[419],"7",[398,3113,1353],{"className":3114},[1352],[398,3116],{"className":3117,"style":1357},[424],[398,3119,600],{"className":3120},[419],[398,3122,1353],{"className":3123},[1352],[398,3125],{"className":3126,"style":1357},[424],[398,3128,1017],{"className":3129},[419],[398,3131,1353],{"className":3132},[1352],[398,3134],{"className":3135,"style":1357},[424],[398,3137,2965],{"className":3138},[419],[398,3140,1463],{"className":3141,"style":1290},[1462,1289],". The cursor\n",[398,3144,3146],{"className":3145},[401],[398,3147,3149],{"className":3148,"ariaHidden":406},[405],[398,3150,3152,3155],{"className":3151},[410],[398,3153],{"className":3154,"style":2439},[414],[398,3156,2443],{"className":3157},[419,1298]," has just reached ",[398,3160,3162],{"className":3161},[401],[398,3163,3165,3192],{"className":3164,"ariaHidden":406},[405],[398,3166,3168,3171,3174,3177,3180,3183,3186,3189],{"className":3167},[410],[398,3169],{"className":3170,"style":1280},[414],[398,3172,1977],{"className":3173},[419,1298],[398,3175,1981],{"className":3176},[1288],[398,3178,2984],{"className":3179},[419],[398,3181,1992],{"className":3182},[1462],[398,3184],{"className":3185,"style":1772},[424],[398,3187,634],{"className":3188},[1776],[398,3190],{"className":3191,"style":1772},[424],[398,3193,3195,3198],{"className":3194},[410],[398,3196],{"className":3197,"style":440},[414],[398,3199,1017],{"className":3200},[419],"; everything to its left has been scanned, and\n",[398,3203,3205],{"className":3204},[401],[398,3206,3208],{"className":3207,"ariaHidden":406},[405],[398,3209,3211,3214],{"className":3210},[410],[398,3212],{"className":3213,"style":1477},[414],[398,3215,2170],{"className":3216},[419,1298]," holds the largest value among ",[398,3219,3221],{"className":3220},[401],[398,3222,3224],{"className":3223,"ariaHidden":406},[405],[398,3225,3227,3230,3233,3236,3240],{"className":3226},[410],[398,3228],{"className":3229,"style":1280},[414],[398,3231,1977],{"className":3232},[419,1298],[398,3234,1981],{"className":3235},[1288],[398,3237,3239],{"className":3238},[419],"1..3",[398,3241,1992],{"className":3242},[1462],". Since ",[398,3245,3247],{"className":3246},[401],[398,3248,3250,3278],{"className":3249,"ariaHidden":406},[405],[398,3251,3253,3256,3259,3262,3265,3268,3271,3275],{"className":3252},[410],[398,3254],{"className":3255,"style":1280},[414],[398,3257,1977],{"className":3258},[419,1298],[398,3260,1981],{"className":3261},[1288],[398,3263,2984],{"className":3264},[419],[398,3266,1992],{"className":3267},[1462],[398,3269],{"className":3270,"style":1772},[424],[398,3272,3274],{"className":3273},[1776],">",[398,3276],{"className":3277,"style":1772},[424],[398,3279,3281,3284],{"className":3280},[410],[398,3282],{"className":3283,"style":1477},[414],[398,3285,2170],{"className":3286},[419,1298],", the ",[490,3289,3290],{},"if"," fires\nand ",[398,3293,3295],{"className":3294},[401],[398,3296,3298],{"className":3297,"ariaHidden":406},[405],[398,3299,3301,3304],{"className":3300},[410],[398,3302],{"className":3303,"style":1477},[414],[398,3305,2170],{"className":3306},[419,1298]," is updated to ",[398,3309,3311],{"className":3310},[401],[398,3312,3314],{"className":3313,"ariaHidden":406},[405],[398,3315,3317,3320],{"className":3316},[410],[398,3318],{"className":3319,"style":440},[414],[398,3321,1017],{"className":3322},[419],[987,3324,3326,3540],{"className":3325},[990,991],[993,3327,3331],{"xmlns":995,"width":3328,"height":3329,"viewBox":3330},"172.370","161.375","-75 -75 129.278 121.031",[1000,3332,3333,3336,3342,3345,3352,3355,3362,3374,3377,3384,3391,3397,3403,3410,3416,3431,3434,3455,3465],{"stroke":1002,"style":1003},[1010,3334],{"fill":1015,"d":3335},"M-65.403-13.141h22.762v-22.762h-22.762Z",[1000,3337,3338],{"transform":2716},[1010,3339],{"d":3340,"fill":1002,"stroke":1002,"className":3341,"style":1026},"M-53.121-25.243L-53.165-25.243Q-52.963-24.926-52.576-24.768Q-52.189-24.610-51.763-24.610Q-51.227-24.610-50.988-25.045Q-50.748-25.480-50.748-26.060Q-50.748-26.640-50.994-27.080Q-51.240-27.519-51.772-27.519L-52.392-27.519Q-52.418-27.519-52.451-27.548Q-52.484-27.576-52.484-27.598L-52.484-27.699Q-52.484-27.730-52.455-27.754Q-52.427-27.778-52.392-27.778L-51.873-27.818Q-51.407-27.818-51.161-28.290Q-50.915-28.763-50.915-29.281Q-50.915-29.708-51.128-29.982Q-51.341-30.257-51.763-30.257Q-52.106-30.257-52.431-30.127Q-52.756-29.998-52.941-29.743L-52.915-29.743Q-52.712-29.743-52.576-29.602Q-52.440-29.461-52.440-29.264Q-52.440-29.066-52.574-28.932Q-52.708-28.798-52.906-28.798Q-53.108-28.798-53.246-28.932Q-53.385-29.066-53.385-29.264Q-53.385-29.853-52.882-30.184Q-52.378-30.516-51.763-30.516Q-51.385-30.516-50.983-30.376Q-50.581-30.235-50.313-29.956Q-50.045-29.677-50.045-29.281Q-50.045-28.732-50.399-28.295Q-50.752-27.857-51.293-27.673Q-50.902-27.594-50.557-27.370Q-50.212-27.146-50.001-26.805Q-49.790-26.464-49.790-26.069Q-49.790-25.687-49.953-25.364Q-50.115-25.041-50.407-24.805Q-50.700-24.570-51.047-24.447Q-51.394-24.324-51.763-24.324Q-52.211-24.324-52.642-24.485Q-53.073-24.645-53.354-24.972Q-53.635-25.300-53.635-25.757Q-53.635-25.972-53.488-26.115Q-53.341-26.258-53.121-26.258Q-52.910-26.258-52.765-26.113Q-52.620-25.968-52.620-25.757Q-52.620-25.546-52.767-25.394Q-52.915-25.243-53.121-25.243",[1025],[1010,3343],{"fill":1015,"d":3344},"M-42.241-13.141h22.762v-22.762h-22.762Z",[1000,3346,3348],{"transform":3347},"translate(20.85 2.9)",[1010,3349],{"d":3350,"fill":1002,"stroke":1002,"className":3351,"style":1026},"M-52.400-24.764Q-52.400-25.401-52.244-26.047Q-52.088-26.693-51.796-27.299Q-51.504-27.906-51.095-28.455L-50.278-29.563L-51.306-29.563Q-52.950-29.563-52.998-29.519Q-53.104-29.391-53.222-28.688L-53.508-28.688L-53.213-30.604L-52.923-30.604L-52.923-30.578Q-52.923-30.415-52.359-30.367Q-51.794-30.318-51.249-30.318L-49.531-30.318L-49.531-30.112Q-49.531-30.094-49.533-30.085Q-49.535-30.077-49.540-30.068L-50.827-28.319Q-51.078-27.967-51.225-27.541Q-51.372-27.115-51.438-26.651Q-51.504-26.188-51.517-25.777Q-51.530-25.366-51.530-24.764Q-51.530-24.584-51.656-24.454Q-51.781-24.324-51.961-24.324Q-52.080-24.324-52.183-24.381Q-52.286-24.439-52.343-24.542Q-52.400-24.645-52.400-24.764",[1025],[1010,3353],{"fill":1015,"d":3354},"M-19.079-13.141H3.683v-22.762h-22.762Z",[1000,3356,3358],{"transform":3357},"translate(44.012 2.9)",[1010,3359],{"d":3360,"fill":1002,"stroke":1002,"className":3361,"style":1026},"M-50.115-24.522L-53.565-24.522L-53.565-24.755Q-53.565-24.768-53.534-24.799L-52.080-26.376Q-51.614-26.873-51.361-27.178Q-51.108-27.484-50.917-27.895Q-50.726-28.306-50.726-28.745Q-50.726-29.334-51.049-29.767Q-51.372-30.200-51.952-30.200Q-52.216-30.200-52.462-30.090Q-52.708-29.980-52.884-29.793Q-53.060-29.606-53.156-29.356L-53.077-29.356Q-52.875-29.356-52.732-29.220Q-52.589-29.084-52.589-28.868Q-52.589-28.662-52.732-28.523Q-52.875-28.385-53.077-28.385Q-53.279-28.385-53.422-28.528Q-53.565-28.670-53.565-28.868Q-53.565-29.330-53.328-29.703Q-53.090-30.077-52.690-30.296Q-52.291-30.516-51.842-30.516Q-51.319-30.516-50.865-30.301Q-50.410-30.085-50.137-29.686Q-49.865-29.286-49.865-28.745Q-49.865-28.350-50.036-27.996Q-50.208-27.642-50.473-27.363Q-50.739-27.084-51.190-26.699Q-51.640-26.315-51.719-26.240L-52.743-25.278L-51.926-25.278Q-51.275-25.278-50.838-25.289Q-50.401-25.300-50.370-25.322Q-50.300-25.405-50.245-25.645Q-50.190-25.884-50.150-26.152L-49.865-26.152",[1025],[1000,3363,3364,3367],{"fill":1006,"stroke":1007,"style":1008},[1010,3365],{"d":3366},"M4.483-13.141h22.762v-22.762H4.483Z",[1000,3368,3370],{"transform":3369},"translate(67.574 2.9)",[1010,3371],{"d":3372,"fill":1002,"stroke":1002,"className":3373,"style":1026},"M-52.959-24.909Q-52.712-24.610-52.106-24.610Q-51.825-24.610-51.585-24.748Q-51.346-24.887-51.168-25.109Q-50.990-25.331-50.880-25.594Q-50.647-26.170-50.647-27.286Q-50.814-26.921-51.119-26.697Q-51.425-26.473-51.807-26.473Q-52.343-26.473-52.759-26.752Q-53.174-27.031-53.405-27.497Q-53.635-27.963-53.635-28.490Q-53.635-28.903-53.488-29.272Q-53.341-29.642-53.077-29.918Q-52.814-30.195-52.444-30.356Q-52.075-30.516-51.662-30.516Q-51.104-30.516-50.730-30.224Q-50.357-29.932-50.153-29.468Q-49.948-29.004-49.869-28.488Q-49.790-27.972-49.790-27.440Q-49.790-26.724-50.058-26.001Q-50.326-25.278-50.849-24.801Q-51.372-24.324-52.097-24.324Q-52.647-24.324-53.024-24.573Q-53.402-24.821-53.402-25.339Q-53.402-25.458-53.345-25.561Q-53.288-25.665-53.187-25.724Q-53.086-25.783-52.959-25.783Q-52.774-25.783-52.651-25.651Q-52.528-25.520-52.528-25.339Q-52.528-25.164-52.655-25.036Q-52.783-24.909-52.959-24.909M-51.763-26.737Q-51.394-26.737-51.146-26.979Q-50.897-27.220-50.781-27.578Q-50.665-27.937-50.665-28.310Q-50.665-28.420-50.673-28.473Q-50.669-28.486-50.667-28.497Q-50.665-28.508-50.665-28.525Q-50.665-29.180-50.880-29.719Q-51.095-30.257-51.662-30.257Q-52.022-30.257-52.251-30.107Q-52.480-29.958-52.596-29.701Q-52.712-29.444-52.745-29.163Q-52.778-28.881-52.778-28.508L-52.778-28.473Q-52.778-28.147-52.752-27.860Q-52.726-27.572-52.627-27.313Q-52.528-27.053-52.317-26.895Q-52.106-26.737-51.763-26.737",[1025],[1010,3375],{"fill":1015,"d":3376},"M28.045-13.141h22.762v-22.762H28.045Z",[1000,3378,3380],{"transform":3379},"translate(91.136 2.9)",[1010,3381],{"d":3382,"fill":1002,"stroke":1002,"className":3383,"style":1026},"M-53.196-25.528Q-53.055-25.115-52.695-24.863Q-52.334-24.610-51.899-24.610Q-51.447-24.610-51.181-24.863Q-50.915-25.115-50.812-25.500Q-50.709-25.884-50.709-26.341Q-50.709-28.042-51.618-28.042Q-51.939-28.042-52.168-27.948Q-52.396-27.853-52.526-27.734Q-52.655-27.616-52.767-27.477Q-52.879-27.339-52.915-27.330L-52.998-27.330Q-53.042-27.330-53.073-27.361Q-53.104-27.392-53.104-27.440L-53.104-30.437Q-53.104-30.468-53.068-30.492Q-53.033-30.516-53.007-30.516L-52.967-30.516Q-52.334-30.226-51.662-30.226Q-50.990-30.226-50.348-30.516L-50.322-30.516Q-50.291-30.516-50.258-30.494Q-50.225-30.472-50.225-30.437L-50.225-30.336Q-50.225-30.332-50.234-30.314Q-50.243-30.296-50.243-30.292Q-50.559-29.897-51.029-29.675Q-51.500-29.453-51.996-29.453Q-52.405-29.453-52.787-29.563L-52.787-27.844Q-52.330-28.301-51.618-28.301Q-51.108-28.301-50.709-28.020Q-50.309-27.739-50.087-27.284Q-49.865-26.829-49.865-26.324Q-49.865-25.774-50.144-25.315Q-50.423-24.856-50.889-24.590Q-51.355-24.324-51.899-24.324Q-52.339-24.324-52.723-24.551Q-53.108-24.777-53.336-25.157Q-53.565-25.537-53.565-25.981Q-53.565-26.174-53.433-26.306Q-53.301-26.438-53.104-26.438Q-52.972-26.438-52.868-26.379Q-52.765-26.319-52.706-26.216Q-52.647-26.113-52.647-25.981Q-52.647-25.783-52.774-25.651Q-52.901-25.520-53.104-25.520Q-53.165-25.520-53.196-25.528",[1025],[1000,3385,3387],{"transform":3386},"translate(-2.312 21.914)",[1010,3388],{"d":3389,"fill":1002,"stroke":1002,"className":3390,"style":1026},"M-50.115-24.522L-53.147-24.522L-53.147-24.838Q-51.996-24.838-51.996-25.133L-51.996-29.857Q-52.484-29.624-53.205-29.624L-53.205-29.940Q-52.075-29.940-51.513-30.516L-51.368-30.516Q-51.333-30.516-51.300-30.483Q-51.267-30.450-51.267-30.415L-51.267-25.133Q-51.267-24.838-50.115-24.838",[1025],[1000,3392,3394],{"transform":3393},"translate(20.85 21.914)",[1010,3395],{"d":3360,"fill":1002,"stroke":1002,"className":3396,"style":1026},[1025],[1000,3398,3400],{"transform":3399},"translate(44.012 21.914)",[1010,3401],{"d":3340,"fill":1002,"stroke":1002,"className":3402,"style":1026},[1025],[1000,3404,3406],{"transform":3405},"translate(67.574 22.314)",[1010,3407],{"d":3408,"fill":1002,"stroke":1002,"className":3409,"style":1026},"M-51.324-25.999L-53.763-25.999L-53.763-26.315L-50.937-30.463Q-50.893-30.516-50.827-30.516L-50.673-30.516Q-50.634-30.516-50.601-30.483Q-50.568-30.450-50.568-30.406L-50.568-26.315L-49.667-26.315L-49.667-25.999L-50.568-25.999L-50.568-25.133Q-50.568-24.838-49.667-24.838L-49.667-24.522L-52.220-24.522L-52.220-24.838Q-51.860-24.838-51.592-24.893Q-51.324-24.948-51.324-25.133L-51.324-25.999M-51.267-29.488L-53.429-26.315L-51.267-26.315",[1025],[1000,3411,3413],{"transform":3412},"translate(91.136 21.914)",[1010,3414],{"d":3382,"fill":1002,"stroke":1002,"className":3415,"style":1026},[1025],[1000,3417,3418,3421,3424],{"style":1145},[1010,3419],{"fill":1015,"d":3420},"M15.864-56.42v10.1",[1010,3422],{"d":3423},"m15.864-43.333 1.577-4.17-1.577 1.383-1.576-1.382Z",[1000,3425,3427],{"transform":3426},"translate(68.304 -38.476)",[1010,3428],{"d":3429,"fill":1002,"stroke":1002,"className":3430,"style":1026},"M-53.293-25.181Q-53.293-25.326-53.231-25.511L-52.484-27.449Q-52.374-27.748-52.374-27.967Q-52.374-28.240-52.563-28.240Q-52.915-28.240-53.150-27.879Q-53.385-27.519-53.490-27.088Q-53.508-27.005-53.583-27.005L-53.688-27.005Q-53.736-27.005-53.758-27.044Q-53.780-27.084-53.780-27.124Q-53.692-27.466-53.532-27.772Q-53.372-28.077-53.121-28.288Q-52.871-28.499-52.545-28.499Q-52.216-28.499-51.985-28.293Q-51.754-28.086-51.754-27.743Q-51.754-27.576-51.807-27.409L-52.554-25.476Q-52.660-25.190-52.673-24.953Q-52.673-24.852-52.627-24.768Q-52.581-24.685-52.475-24.685Q-52.124-24.685-51.888-25.043Q-51.653-25.401-51.548-25.836Q-51.539-25.867-51.515-25.891Q-51.491-25.915-51.456-25.915L-51.350-25.915Q-51.302-25.915-51.280-25.882Q-51.258-25.849-51.258-25.801Q-51.385-25.278-51.708-24.849Q-52.031-24.421-52.493-24.421Q-52.822-24.421-53.057-24.634Q-53.293-24.847-53.293-25.181M-52.269-29.967Q-52.269-30.165-52.106-30.318Q-51.943-30.472-51.746-30.472Q-51.596-30.472-51.495-30.376Q-51.394-30.279-51.394-30.129Q-51.394-29.923-51.552-29.773Q-51.710-29.624-51.908-29.624Q-52.058-29.624-52.163-29.721Q-52.269-29.817-52.269-29.967",[1025],[1010,3432],{"fill":1015,"d":3433},"M-20.426 12.866h-20.868a4 4 0 0 0-4 4v4.466a4 4 0 0 0 4 4h20.868a4 4 0 0 0 4-4v-4.466a4 4 0 0 0-4-4Zm-24.868 12.466",[1000,3435,3436,3443,3449],{"stroke":1015,"fontSize":1017},[1000,3437,3439],{"transform":3438},"translate(12.062 46.522)",[1010,3440],{"d":3441,"fill":1002,"stroke":1002,"className":3442,"style":1026},"M-53.293-24.812Q-53.117-24.685-52.844-24.685Q-52.554-24.685-52.341-24.939Q-52.128-25.194-52.049-25.511L-51.645-27.124Q-51.557-27.501-51.557-27.690Q-51.557-27.915-51.684-28.077Q-51.812-28.240-52.031-28.240Q-52.449-28.240-52.781-27.890Q-53.112-27.541-53.231-27.088Q-53.249-27.005-53.319-27.005L-53.429-27.005Q-53.517-27.005-53.517-27.124Q-53.385-27.664-52.963-28.082Q-52.541-28.499-52.014-28.499Q-51.680-28.499-51.405-28.328Q-51.130-28.156-51.016-27.862Q-50.858-28.134-50.612-28.317Q-50.366-28.499-50.080-28.499Q-49.742-28.499-49.469-28.332Q-49.197-28.165-49.197-27.844Q-49.197-27.616-49.340-27.447Q-49.482-27.277-49.720-27.277Q-49.860-27.277-49.966-27.370Q-50.071-27.462-50.071-27.607Q-50.071-27.792-49.948-27.934Q-49.825-28.077-49.641-28.112Q-49.821-28.240-50.098-28.240Q-50.388-28.240-50.599-27.983Q-50.810-27.726-50.889-27.409L-51.293-25.801Q-51.385-25.440-51.385-25.243Q-51.385-25.010-51.256-24.847Q-51.126-24.685-50.897-24.685Q-50.612-24.685-50.364-24.854Q-50.115-25.023-49.942-25.295Q-49.768-25.568-49.702-25.836Q-49.693-25.867-49.669-25.891Q-49.645-25.915-49.610-25.915L-49.504-25.915Q-49.465-25.915-49.439-25.878Q-49.412-25.840-49.412-25.801Q-49.500-25.454-49.720-25.135Q-49.939-24.816-50.256-24.619Q-50.572-24.421-50.915-24.421Q-51.253-24.421-51.528-24.590Q-51.803-24.759-51.926-25.063Q-52.075-24.794-52.324-24.608Q-52.572-24.421-52.853-24.421Q-53.196-24.421-53.470-24.588Q-53.745-24.755-53.745-25.080Q-53.745-25.304-53.596-25.476Q-53.446-25.647-53.213-25.647Q-53.068-25.647-52.965-25.555Q-52.862-25.462-52.862-25.313Q-52.862-25.137-52.985-24.990Q-53.108-24.843-53.293-24.812",[1025],[1000,3444,3445],{"transform":3438},[1010,3446],{"d":3447,"fill":1002,"stroke":1002,"className":3448,"style":1026},"M-39.710-25.665L-45.516-25.665Q-45.595-25.678-45.645-25.728Q-45.696-25.779-45.696-25.854Q-45.696-26.003-45.516-26.051L-39.710-26.051Q-39.539-25.999-39.539-25.854Q-39.539-25.700-39.710-25.665M-39.710-27.493L-45.516-27.493Q-45.696-27.523-45.696-27.682Q-45.696-27.831-45.516-27.879L-39.710-27.879Q-39.539-27.827-39.539-27.682Q-39.539-27.528-39.710-27.493",[1025],[1000,3450,3451],{"transform":3438},[1010,3452],{"d":3453,"fill":1002,"stroke":1002,"className":3454,"style":1026},"M-34.824-24.764Q-34.824-25.401-34.668-26.047Q-34.512-26.693-34.220-27.299Q-33.928-27.906-33.519-28.455L-32.702-29.563L-33.730-29.563Q-35.374-29.563-35.422-29.519Q-35.528-29.391-35.646-28.688L-35.932-28.688L-35.637-30.604L-35.347-30.604L-35.347-30.578Q-35.347-30.415-34.783-30.367Q-34.218-30.318-33.673-30.318L-31.955-30.318L-31.955-30.112Q-31.955-30.094-31.957-30.085Q-31.959-30.077-31.964-30.068L-33.251-28.319Q-33.502-27.967-33.649-27.541Q-33.796-27.115-33.862-26.651Q-33.928-26.188-33.941-25.777Q-33.954-25.366-33.954-24.764Q-33.954-24.584-34.080-24.454Q-34.205-24.324-34.385-24.324Q-34.504-24.324-34.607-24.381Q-34.710-24.439-34.767-24.542Q-34.824-24.645-34.824-24.764",[1025],[1000,3456,3458,3461],{"fill":3457,"stroke":3457,"style":1145},"var(--tk-warn)",[1010,3459],{"fill":1015,"d":3460},"M-16.226 19.1 1.67-9.06",[1010,3462],{"d":3463,"style":3464},"M3.272-11.58-.294-8.907l2.072-.321.588 2.012Z","stroke-width:.7999520000000001",[1000,3466,3467,3474,3480,3486,3492,3498,3504,3510,3516,3522,3528,3534],{"stroke":1015,"fontSize":1195},[1000,3468,3470],{"transform":3469},"translate(.618 61.95)",[1010,3471],{"d":3472,"fill":1002,"stroke":1002,"className":3473,"style":1183},"M-52.053-24.522L-53.616-24.522Q-53.655-24.522-53.682-24.563Q-53.709-24.604-53.709-24.651L-53.686-24.752Q-53.643-24.811-53.588-24.819Q-53.264-24.819-53.022-24.963Q-52.877-25.049-52.760-25.202Q-52.643-25.354-52.596-25.393L-49.647-30.124Q-49.581-30.233-49.456-30.233L-49.374-30.233Q-49.260-30.233-49.237-30.124L-48.596-24.979Q-48.542-24.819-47.999-24.819Q-47.901-24.788-47.901-24.698L-47.924-24.592Q-47.959-24.534-48.022-24.522L-50.022-24.522Q-50.057-24.522-50.088-24.563Q-50.120-24.604-50.120-24.651L-50.092-24.752Q-50.061-24.807-49.999-24.819Q-49.405-24.819-49.374-25.026L-49.534-26.331L-51.694-26.331L-52.350-25.292Q-52.358-25.245-52.389-25.172Q-52.420-25.100-52.420-25.057Q-52.420-24.924-52.301-24.872Q-52.182-24.819-52.038-24.819Q-51.944-24.788-51.944-24.698L-51.967-24.592Q-51.999-24.534-52.053-24.522M-49.893-29.209L-51.510-26.627L-49.573-26.627",[1025],[1000,3475,3476],{"transform":3469},[1010,3477],{"d":3478,"fill":1002,"stroke":1002,"className":3479,"style":1183},"M-45.488-22.522L-46.664-22.522L-46.664-30.522L-45.488-30.522L-45.488-30.155L-46.297-30.155L-46.297-22.889L-45.488-22.889",[1025],[1000,3481,3482],{"transform":3469},[1010,3483],{"d":3484,"fill":1002,"stroke":1002,"className":3485,"style":1183},"M-44.606-25.124Q-44.606-25.256-44.552-25.409L-43.880-27.139Q-43.790-27.362-43.790-27.545Q-43.790-27.795-43.966-27.795Q-44.271-27.795-44.481-27.487Q-44.692-27.178-44.798-26.795Q-44.810-26.721-44.880-26.721L-44.981-26.721Q-45.017-26.721-45.044-26.756Q-45.071-26.792-45.071-26.819L-45.071-26.850Q-44.950-27.315-44.655-27.682Q-44.360-28.049-43.950-28.049Q-43.743-28.049-43.573-27.967Q-43.403-27.885-43.300-27.731Q-43.196-27.577-43.196-27.370Q-43.196-27.249-43.255-27.081L-43.927-25.354Q-44.013-25.120-44.013-24.948Q-44.013-24.698-43.837-24.698Q-43.524-24.698-43.310-25.016Q-43.095-25.334-43.013-25.698Q-42.985-25.768-42.927-25.768L-42.821-25.768Q-42.782-25.768-42.759-25.739Q-42.735-25.709-42.735-25.674Q-42.735-25.659-42.743-25.643Q-42.821-25.342-42.968-25.075Q-43.114-24.807-43.339-24.626Q-43.564-24.444-43.853-24.444Q-44.169-24.444-44.388-24.631Q-44.606-24.819-44.606-25.124M-43.685-29.362Q-43.685-29.542-43.538-29.680Q-43.392-29.819-43.216-29.819Q-43.079-29.819-42.987-29.731Q-42.896-29.643-42.896-29.506Q-42.896-29.331-43.040-29.190Q-43.185-29.049-43.356-29.049Q-43.489-29.049-43.587-29.141Q-43.685-29.233-43.685-29.362",[1025],[1000,3487,3488],{"transform":3469},[1010,3489],{"d":3490,"fill":1002,"stroke":1002,"className":3491,"style":1183},"M-41.041-22.522L-42.216-22.522L-42.216-22.889L-41.408-22.889L-41.408-30.155L-42.216-30.155L-42.216-30.522L-41.041-30.522",[1025],[1000,3493,3494],{"transform":3469},[1010,3495],{"d":3496,"fill":1002,"stroke":1002,"className":3497,"style":1183},"M-36.967-24.194Q-36.967-24.299-36.854-24.362L-32.397-26.522L-36.862-28.690Q-36.967-28.729-36.967-28.850Q-36.967-28.928-36.914-28.981Q-36.862-29.034-36.783-29.034Q-36.764-29.034-36.701-29.018L-31.885-26.690Q-31.791-26.635-31.791-26.522Q-31.791-26.417-31.893-26.354L-36.701-24.026Q-36.764-24.010-36.783-24.010Q-36.862-24.010-36.914-24.063Q-36.967-24.116-36.967-24.194",[1025],[1000,3499,3500],{"transform":3469},[1010,3501],{"d":3502,"fill":1002,"stroke":1002,"className":3503,"style":1183},"M-28.018-24.811Q-27.851-24.698-27.608-24.698Q-27.358-24.698-27.161-24.924Q-26.964-25.151-26.905-25.409L-26.546-26.850Q-26.468-27.155-26.468-27.315Q-26.468-27.526-26.585-27.661Q-26.702-27.795-26.913-27.795Q-27.167-27.795-27.395-27.649Q-27.624-27.502-27.780-27.272Q-27.936-27.042-27.995-26.795Q-28.007-26.721-28.073-26.721L-28.179-26.721Q-28.210-26.721-28.237-26.756Q-28.265-26.792-28.265-26.819L-28.265-26.850Q-28.186-27.163-27.987-27.436Q-27.788-27.709-27.499-27.879Q-27.210-28.049-26.897-28.049Q-26.601-28.049-26.341-27.905Q-26.081-27.760-25.972-27.499Q-25.823-27.741-25.604-27.895Q-25.386-28.049-25.132-28.049Q-24.933-28.049-24.745-27.983Q-24.558-27.917-24.436-27.778Q-24.315-27.639-24.315-27.444Q-24.315-27.233-24.446-27.077Q-24.577-26.920-24.784-26.920Q-24.917-26.920-25.011-27.004Q-25.104-27.088-25.104-27.225Q-25.104-27.389-24.997-27.518Q-24.890-27.647-24.729-27.682Q-24.905-27.795-25.147-27.795Q-25.315-27.795-25.462-27.686Q-25.608-27.577-25.708-27.413Q-25.808-27.249-25.851-27.081L-26.210-25.643Q-26.280-25.299-26.280-25.178Q-26.280-24.963-26.163-24.831Q-26.046-24.698-25.835-24.698Q-25.456-24.698-25.155-25.004Q-24.854-25.311-24.761-25.698Q-24.733-25.768-24.675-25.768L-24.569-25.768Q-24.530-25.768-24.507-25.739Q-24.483-25.709-24.483-25.674Q-24.483-25.659-24.491-25.643Q-24.569-25.331-24.768-25.057Q-24.968-24.784-25.253-24.614Q-25.538-24.444-25.851-24.444Q-26.151-24.444-26.411-24.588Q-26.671-24.733-26.784-24.995Q-26.929-24.760-27.145-24.602Q-27.362-24.444-27.616-24.444Q-27.815-24.444-28.003-24.510Q-28.190-24.577-28.311-24.715Q-28.433-24.854-28.433-25.049Q-28.433-25.260-28.300-25.415Q-28.167-25.569-27.964-25.569Q-27.819-25.569-27.731-25.487Q-27.643-25.405-27.643-25.264Q-27.643-25.104-27.749-24.975Q-27.854-24.846-28.018-24.811",[1025],[1000,3505,3506],{"transform":3469},[1010,3507],{"d":3508,"fill":1002,"stroke":1002,"className":3509,"style":1183},"M-23.097-23.116Q-23.097-23.139-23.066-23.186Q-22.773-23.448-22.607-23.815Q-22.441-24.182-22.441-24.569L-22.441-24.627Q-22.569-24.522-22.737-24.522Q-22.929-24.522-23.066-24.655Q-23.202-24.788-23.202-24.987Q-23.202-25.178-23.066-25.311Q-22.929-25.444-22.737-25.444Q-22.437-25.444-22.312-25.174Q-22.187-24.905-22.187-24.569Q-22.187-24.120-22.368-23.706Q-22.550-23.292-22.890-22.995Q-22.913-22.971-22.952-22.971Q-22.999-22.971-23.048-23.016Q-23.097-23.061-23.097-23.116",[1025],[1000,3511,3512],{"transform":3469},[1010,3513],{"d":3514,"fill":1002,"stroke":1002,"className":3515,"style":1183},"M-18.445-24.530L-18.445-25.752Q-18.445-25.780-18.413-25.811Q-18.382-25.842-18.359-25.842L-18.253-25.842Q-18.183-25.842-18.167-25.780Q-18.105-25.459-17.966-25.219Q-17.828-24.979-17.595-24.838Q-17.363-24.698-17.054-24.698Q-16.816-24.698-16.607-24.758Q-16.398-24.819-16.261-24.967Q-16.124-25.116-16.124-25.362Q-16.124-25.616-16.335-25.782Q-16.546-25.948-16.816-26.002L-17.437-26.116Q-17.843-26.194-18.144-26.450Q-18.445-26.706-18.445-27.081Q-18.445-27.448-18.244-27.670Q-18.042-27.893-17.718-27.991Q-17.394-28.088-17.054-28.088Q-16.589-28.088-16.292-27.881L-16.070-28.065Q-16.046-28.088-16.015-28.088L-15.964-28.088Q-15.933-28.088-15.906-28.061Q-15.878-28.034-15.878-28.002L-15.878-27.018Q-15.878-26.987-15.904-26.958Q-15.929-26.928-15.964-26.928L-16.070-26.928Q-16.105-26.928-16.132-26.956Q-16.160-26.983-16.160-27.018Q-16.160-27.417-16.412-27.637Q-16.663-27.858-17.062-27.858Q-17.417-27.858-17.701-27.735Q-17.984-27.612-17.984-27.307Q-17.984-27.088-17.783-26.956Q-17.581-26.823-17.335-26.780L-16.710-26.667Q-16.281-26.577-15.972-26.280Q-15.663-25.983-15.663-25.569Q-15.663-24.999-16.062-24.721Q-16.460-24.444-17.054-24.444Q-17.605-24.444-17.956-24.780L-18.253-24.467Q-18.277-24.444-18.312-24.444L-18.359-24.444Q-18.382-24.444-18.413-24.475Q-18.445-24.506-18.445-24.530M-15.136-26.217Q-15.136-26.721-14.880-27.153Q-14.624-27.584-14.189-27.836Q-13.753-28.088-13.253-28.088Q-12.867-28.088-12.525-27.944Q-12.183-27.799-11.921-27.538Q-11.660-27.276-11.517-26.940Q-11.374-26.604-11.374-26.217Q-11.374-25.725-11.638-25.315Q-11.902-24.905-12.331-24.674Q-12.761-24.444-13.253-24.444Q-13.746-24.444-14.179-24.676Q-14.613-24.909-14.874-25.317Q-15.136-25.725-15.136-26.217M-13.253-24.721Q-12.796-24.721-12.544-24.944Q-12.292-25.167-12.205-25.518Q-12.117-25.870-12.117-26.315Q-12.117-26.745-12.210-27.083Q-12.304-27.420-12.558-27.627Q-12.812-27.834-13.253-27.834Q-13.902-27.834-14.146-27.418Q-14.390-27.002-14.390-26.315Q-14.390-25.870-14.302-25.518Q-14.214-25.167-13.962-24.944Q-13.710-24.721-13.253-24.721",[1025],[1000,3517,3518],{"transform":3469},[1010,3519],{"d":3520,"fill":1002,"stroke":1002,"className":3521,"style":1183},"M-7.602-24.811Q-7.435-24.698-7.192-24.698Q-6.942-24.698-6.745-24.924Q-6.548-25.151-6.489-25.409L-6.130-26.850Q-6.052-27.155-6.052-27.315Q-6.052-27.526-6.169-27.661Q-6.286-27.795-6.497-27.795Q-6.751-27.795-6.979-27.649Q-7.208-27.502-7.364-27.272Q-7.520-27.042-7.579-26.795Q-7.591-26.721-7.657-26.721L-7.763-26.721Q-7.794-26.721-7.821-26.756Q-7.849-26.792-7.849-26.819L-7.849-26.850Q-7.770-27.163-7.571-27.436Q-7.372-27.709-7.083-27.879Q-6.794-28.049-6.481-28.049Q-6.185-28.049-5.925-27.905Q-5.665-27.760-5.556-27.499Q-5.407-27.741-5.188-27.895Q-4.970-28.049-4.716-28.049Q-4.517-28.049-4.329-27.983Q-4.142-27.917-4.020-27.778Q-3.899-27.639-3.899-27.444Q-3.899-27.233-4.030-27.077Q-4.161-26.920-4.368-26.920Q-4.501-26.920-4.595-27.004Q-4.688-27.088-4.688-27.225Q-4.688-27.389-4.581-27.518Q-4.474-27.647-4.313-27.682Q-4.489-27.795-4.731-27.795Q-4.899-27.795-5.046-27.686Q-5.192-27.577-5.292-27.413Q-5.392-27.249-5.435-27.081L-5.794-25.643Q-5.864-25.299-5.864-25.178Q-5.864-24.963-5.747-24.831Q-5.630-24.698-5.419-24.698Q-5.040-24.698-4.739-25.004Q-4.438-25.311-4.345-25.698Q-4.317-25.768-4.259-25.768L-4.153-25.768Q-4.114-25.768-4.091-25.739Q-4.067-25.709-4.067-25.674Q-4.067-25.659-4.075-25.643Q-4.153-25.331-4.352-25.057Q-4.552-24.784-4.837-24.614Q-5.122-24.444-5.435-24.444Q-5.735-24.444-5.995-24.588Q-6.255-24.733-6.368-24.995Q-6.513-24.760-6.729-24.602Q-6.946-24.444-7.200-24.444Q-7.399-24.444-7.587-24.510Q-7.774-24.577-7.895-24.715Q-8.017-24.854-8.017-25.049Q-8.017-25.260-7.884-25.415Q-7.751-25.569-7.548-25.569Q-7.403-25.569-7.315-25.487Q-7.227-25.405-7.227-25.264Q-7.227-25.104-7.333-24.975Q-7.438-24.846-7.602-24.811",[1025],[1000,3523,3524],{"transform":3469},[1010,3525],{"d":3526,"fill":1002,"stroke":1002,"className":3527,"style":1183},"M0.480-24.522L0.199-24.522L0.199-29.241Q0.199-29.456 0.137-29.551Q0.074-29.647-0.043-29.668Q-0.160-29.690-0.406-29.690L-0.406-29.987L0.816-30.073L0.816-27.584Q1.293-28.049 1.992-28.049Q2.473-28.049 2.881-27.805Q3.289-27.561 3.525-27.147Q3.762-26.733 3.762-26.249Q3.762-25.874 3.613-25.545Q3.465-25.217 3.195-24.965Q2.926-24.713 2.582-24.579Q2.238-24.444 1.879-24.444Q1.558-24.444 1.260-24.592Q0.961-24.741 0.754-25.002L0.480-24.522M0.840-27.194L0.840-25.354Q0.992-25.057 1.252-24.877Q1.512-24.698 1.824-24.698Q2.250-24.698 2.517-24.917Q2.785-25.135 2.900-25.481Q3.015-25.827 3.015-26.249Q3.015-26.897 2.767-27.346Q2.519-27.795 1.922-27.795Q1.586-27.795 1.297-27.637Q1.008-27.479 0.840-27.194",[1025],[1000,3529,3530],{"transform":3469},[1010,3531],{"d":3532,"fill":1002,"stroke":1002,"className":3533,"style":1183},"M4.524-26.276Q4.524-26.756 4.757-27.172Q4.989-27.588 5.399-27.838Q5.809-28.088 6.286-28.088Q7.016-28.088 7.415-27.647Q7.813-27.206 7.813-26.475Q7.813-26.370 7.720-26.346L5.270-26.346L5.270-26.276Q5.270-25.866 5.391-25.510Q5.513-25.155 5.784-24.938Q6.056-24.721 6.485-24.721Q6.848-24.721 7.145-24.950Q7.442-25.178 7.544-25.530Q7.552-25.577 7.638-25.592L7.720-25.592Q7.813-25.565 7.813-25.483Q7.813-25.475 7.806-25.444Q7.743-25.217 7.604-25.034Q7.466-24.850 7.274-24.717Q7.083-24.584 6.864-24.514Q6.645-24.444 6.407-24.444Q6.036-24.444 5.698-24.581Q5.360-24.717 5.093-24.969Q4.825-25.221 4.675-25.561Q4.524-25.901 4.524-26.276M5.278-26.584L7.239-26.584Q7.239-26.889 7.138-27.180Q7.036-27.471 6.819-27.653Q6.602-27.834 6.286-27.834Q5.985-27.834 5.755-27.647Q5.524-27.459 5.401-27.168Q5.278-26.877 5.278-26.584M8.345-26.249Q8.345-26.745 8.595-27.170Q8.845-27.596 9.265-27.842Q9.684-28.088 10.184-28.088Q10.723-28.088 11.114-27.963Q11.505-27.838 11.505-27.424Q11.505-27.319 11.454-27.227Q11.403-27.135 11.311-27.084Q11.220-27.034 11.110-27.034Q11.005-27.034 10.913-27.084Q10.821-27.135 10.770-27.227Q10.720-27.319 10.720-27.424Q10.720-27.647 10.888-27.752Q10.665-27.811 10.192-27.811Q9.895-27.811 9.681-27.672Q9.466-27.534 9.335-27.303Q9.204-27.073 9.145-26.803Q9.087-26.534 9.087-26.249Q9.087-25.854 9.220-25.504Q9.352-25.155 9.624-24.938Q9.895-24.721 10.294-24.721Q10.669-24.721 10.944-24.938Q11.220-25.155 11.321-25.514Q11.337-25.577 11.399-25.577L11.505-25.577Q11.540-25.577 11.565-25.549Q11.591-25.522 11.591-25.483L11.591-25.459Q11.458-24.979 11.073-24.711Q10.688-24.444 10.184-24.444Q9.821-24.444 9.487-24.581Q9.153-24.717 8.893-24.967Q8.634-25.217 8.489-25.553Q8.345-25.889 8.345-26.249M12.079-26.217Q12.079-26.721 12.335-27.153Q12.591-27.584 13.026-27.836Q13.462-28.088 13.962-28.088Q14.348-28.088 14.690-27.944Q15.032-27.799 15.294-27.538Q15.556-27.276 15.698-26.940Q15.841-26.604 15.841-26.217Q15.841-25.725 15.577-25.315Q15.313-24.905 14.884-24.674Q14.454-24.444 13.962-24.444Q13.470-24.444 13.036-24.676Q12.602-24.909 12.341-25.317Q12.079-25.725 12.079-26.217M13.962-24.721Q14.419-24.721 14.671-24.944Q14.923-25.167 15.011-25.518Q15.098-25.870 15.098-26.315Q15.098-26.745 15.005-27.083Q14.911-27.420 14.657-27.627Q14.403-27.834 13.962-27.834Q13.313-27.834 13.069-27.418Q12.825-27.002 12.825-26.315Q12.825-25.870 12.913-25.518Q13.001-25.167 13.253-24.944Q13.505-24.721 13.962-24.721M18.255-24.522L16.399-24.522L16.399-24.819Q16.673-24.819 16.841-24.866Q17.009-24.913 17.009-25.081L17.009-27.217Q17.009-27.432 16.946-27.528Q16.884-27.624 16.765-27.645Q16.645-27.667 16.399-27.667L16.399-27.963L17.591-28.049L17.591-27.315Q17.704-27.530 17.897-27.698Q18.091-27.866 18.329-27.958Q18.567-28.049 18.821-28.049Q19.782-28.049 19.958-27.338Q20.141-27.667 20.470-27.858Q20.798-28.049 21.177-28.049Q22.352-28.049 22.352-26.971L22.352-25.081Q22.352-24.913 22.520-24.866Q22.688-24.819 22.958-24.819L22.958-24.522L21.102-24.522L21.102-24.819Q21.376-24.819 21.544-24.864Q21.712-24.909 21.712-25.081L21.712-26.956Q21.712-27.342 21.587-27.569Q21.462-27.795 21.110-27.795Q20.806-27.795 20.550-27.633Q20.294-27.471 20.145-27.202Q19.997-26.932 19.997-26.635L19.997-25.081Q19.997-24.913 20.167-24.866Q20.337-24.819 20.606-24.819L20.606-24.522L18.751-24.522L18.751-24.819Q19.024-24.819 19.192-24.866Q19.360-24.913 19.360-25.081L19.360-26.956Q19.360-27.342 19.235-27.569Q19.110-27.795 18.759-27.795Q18.454-27.795 18.198-27.633Q17.942-27.471 17.794-27.202Q17.645-26.932 17.645-26.635L17.645-25.081Q17.645-24.913 17.815-24.866Q17.985-24.819 18.255-24.819L18.255-24.522M23.403-26.276Q23.403-26.756 23.636-27.172Q23.868-27.588 24.278-27.838Q24.688-28.088 25.165-28.088Q25.895-28.088 26.294-27.647Q26.692-27.206 26.692-26.475Q26.692-26.370 26.599-26.346L24.149-26.346L24.149-26.276Q24.149-25.866 24.270-25.510Q24.391-25.155 24.663-24.938Q24.934-24.721 25.364-24.721Q25.727-24.721 26.024-24.950Q26.321-25.178 26.423-25.530Q26.431-25.577 26.516-25.592L26.599-25.592Q26.692-25.565 26.692-25.483Q26.692-25.475 26.684-25.444Q26.622-25.217 26.483-25.034Q26.345-24.850 26.153-24.717Q25.962-24.584 25.743-24.514Q25.524-24.444 25.286-24.444Q24.915-24.444 24.577-24.581Q24.239-24.717 23.972-24.969Q23.704-25.221 23.554-25.561Q23.403-25.901 23.403-26.276M24.157-26.584L26.118-26.584Q26.118-26.889 26.016-27.180Q25.915-27.471 25.698-27.653Q25.481-27.834 25.165-27.834Q24.864-27.834 24.634-27.647Q24.403-27.459 24.280-27.168Q24.157-26.877 24.157-26.584M27.224-24.530L27.224-25.752Q27.224-25.780 27.255-25.811Q27.286-25.842 27.309-25.842L27.415-25.842Q27.485-25.842 27.501-25.780Q27.563-25.459 27.702-25.219Q27.841-24.979 28.073-24.838Q28.306-24.698 28.614-24.698Q28.852-24.698 29.061-24.758Q29.270-24.819 29.407-24.967Q29.544-25.116 29.544-25.362Q29.544-25.616 29.333-25.782Q29.122-25.948 28.852-26.002L28.231-26.116Q27.825-26.194 27.524-26.450Q27.224-26.706 27.224-27.081Q27.224-27.448 27.425-27.670Q27.626-27.893 27.950-27.991Q28.274-28.088 28.614-28.088Q29.079-28.088 29.376-27.881L29.599-28.065Q29.622-28.088 29.653-28.088L29.704-28.088Q29.735-28.088 29.763-28.061Q29.790-28.034 29.790-28.002L29.790-27.018Q29.790-26.987 29.765-26.958Q29.739-26.928 29.704-26.928L29.599-26.928Q29.563-26.928 29.536-26.956Q29.509-26.983 29.509-27.018Q29.509-27.417 29.257-27.637Q29.005-27.858 28.606-27.858Q28.251-27.858 27.968-27.735Q27.684-27.612 27.684-27.307Q27.684-27.088 27.886-26.956Q28.087-26.823 28.333-26.780L28.958-26.667Q29.388-26.577 29.696-26.280Q30.005-25.983 30.005-25.569Q30.005-24.999 29.606-24.721Q29.208-24.444 28.614-24.444Q28.063-24.444 27.712-24.780L27.415-24.467Q27.391-24.444 27.356-24.444L27.309-24.444Q27.286-24.444 27.255-24.475Q27.224-24.506 27.224-24.530",[1025],[1000,3535,3536],{"transform":3469},[1010,3537],{"d":3538,"fill":1002,"stroke":1002,"className":3539,"style":1183},"M34.132-24.866Q34.363-24.627 34.910-24.627Q35.163-24.627 35.386-24.751Q35.609-24.874 35.779-25.090Q35.949-25.307 36.042-25.538Q36.167-25.850 36.206-26.190Q36.245-26.530 36.245-26.979Q36.078-26.647 35.794-26.452Q35.511-26.256 35.171-26.256Q34.808-26.256 34.495-26.401Q34.183-26.545 33.960-26.797Q33.738-27.049 33.615-27.376Q33.492-27.702 33.492-28.057Q33.492-28.553 33.734-28.963Q33.976-29.374 34.394-29.608Q34.812-29.842 35.308-29.842Q36.265-29.842 36.646-29.012Q37.027-28.182 37.027-27.108Q37.027-26.475 36.777-25.831Q36.527-25.186 36.044-24.770Q35.562-24.354 34.910-24.354Q34.406-24.354 34.056-24.571Q33.706-24.788 33.706-25.256Q33.706-25.424 33.820-25.538Q33.933-25.651 34.101-25.651Q34.206-25.651 34.298-25.600Q34.390-25.549 34.441-25.458Q34.492-25.366 34.492-25.256Q34.492-25.108 34.390-24.987Q34.288-24.866 34.132-24.866M35.210-26.514Q35.542-26.514 35.775-26.725Q36.007-26.936 36.119-27.258Q36.230-27.581 36.230-27.897Q36.230-27.995 36.218-28.049Q36.222-28.057 36.226-28.069Q36.230-28.081 36.230-28.088Q36.230-28.331 36.187-28.594Q36.144-28.858 36.042-29.086Q35.941-29.315 35.759-29.458Q35.578-29.600 35.308-29.600Q34.874-29.600 34.648-29.379Q34.421-29.159 34.349-28.827Q34.277-28.495 34.277-28.057Q34.277-27.612 34.333-27.290Q34.390-26.967 34.595-26.741Q34.800-26.514 35.210-26.514",[1025],[1233,3541,3543,3544,3559,3560,510],{"className":3542},[1236],"Find-Max mid-sweep over a five-cell array, updating ",[398,3545,3547],{"className":3546},[401],[398,3548,3550],{"className":3549,"ariaHidden":406},[405],[398,3551,3553,3556],{"className":3552},[410],[398,3554],{"className":3555,"style":1477},[414],[398,3557,2170],{"className":3558},[419,1298]," at the cursor ",[398,3561,3563],{"className":3562},[401],[398,3564,3566],{"className":3565,"ariaHidden":406},[405],[398,3567,3569,3572],{"className":3568},[410],[398,3570],{"className":3571,"style":2439},[414],[398,3573,2443],{"className":3574},[419,1298],[381,3576,3577,3578,3593,3594,3628,3629,510],{},"The shaded cell is the element under the cursor; the region to its left\n(positions ",[398,3579,3581],{"className":3580},[401],[398,3582,3584],{"className":3583,"ariaHidden":406},[405],[398,3585,3587,3590],{"className":3586},[410],[398,3588],{"className":3589,"style":440},[414],[398,3591,588],{"className":3592},[419]," through ",[398,3595,3597],{"className":3596},[401],[398,3598,3600,3619],{"className":3599,"ariaHidden":406},[405],[398,3601,3603,3607,3610,3613,3616],{"className":3602},[410],[398,3604],{"className":3605,"style":3606},[414],"height:0.7429em;vertical-align:-0.0833em;",[398,3608,2443],{"className":3609},[419,1298],[398,3611],{"className":3612,"style":425},[424],[398,3614,2342],{"className":3615},[429],[398,3617],{"className":3618,"style":425},[424],[398,3620,3622,3625],{"className":3621},[410],[398,3623],{"className":3624,"style":440},[414],[398,3626,588],{"className":3627},[419],") is the part already summarized by ",[398,3630,3632],{"className":3631},[401],[398,3633,3635],{"className":3634,"ariaHidden":406},[405],[398,3636,3638,3641],{"className":3637},[410],[398,3639],{"className":3640,"style":1477},[414],[398,3642,2170],{"className":3643},[419,1298],[925,3645,3647],{"id":3646},"deliverable-3-proof-of-correctness","Deliverable 3 — proof of correctness",[381,3649,3650,3651,2607,3654,3675,3676,3679,3680,3683,3684,510],{},"How do we ",[495,3652,3653],{},"know",[398,3655,3657],{"className":3656},[401],[398,3658,3660],{"className":3659,"ariaHidden":406},[405],[398,3661,3663,3666],{"className":3662},[410],[398,3664],{"className":3665,"style":2131},[414],[398,3667,3669],{"className":3668},[2135,2136],[398,3670,3672],{"className":3671},[419,2140],[398,3673,2144],{"className":3674},[419]," works? Erickson's ",[867,3677,3678],{},"a rock could run it","\nintuition tells us the steps are mechanical, but it does ",[490,3681,3682],{},"not"," tell us the\nanswer is right. Correctness needs an ",[495,3685,3686],{},"argument",[381,3688,3689,3690,3731,3732,3750,3751,3766,3767,3770],{},"It is tempting to argue by contradiction (",[495,3691,3692,3693,3708,3709,3730],{},"suppose ",[398,3694,3696],{"className":3695},[401],[398,3697,3699],{"className":3698,"ariaHidden":406},[405],[398,3700,3702,3705],{"className":3701},[410],[398,3703],{"className":3704,"style":2131},[414],[398,3706,2666],{"className":3707,"style":2665},[419,1298]," is the true maximum but\n",[398,3710,3712],{"className":3711},[401],[398,3713,3715],{"className":3714,"ariaHidden":406},[405],[398,3716,3718,3721],{"className":3717},[410],[398,3719],{"className":3720,"style":2131},[414],[398,3722,3724],{"className":3723},[2135,2136],[398,3725,3727],{"className":3726},[419,2140],[398,3728,2144],{"className":3729},[419]," returns something else","), but the clean way is to name what\nthe loop preserves and induct on it. The key observation is\nthat ",[490,3733,3734,3749],{},[398,3735,3737],{"className":3736},[401],[398,3738,3740],{"className":3739,"ariaHidden":406},[405],[398,3741,3743,3746],{"className":3742},[410],[398,3744],{"className":3745,"style":1477},[414],[398,3747,2170],{"className":3748},[419,1298]," is only ever overwritten by a larger value",", so ",[398,3752,3754],{"className":3753},[401],[398,3755,3757],{"className":3756,"ariaHidden":406},[405],[398,3758,3760,3763],{"className":3759},[410],[398,3761],{"className":3762,"style":1477},[414],[398,3764,2170],{"className":3765},[419,1298]," never decreases\nand never holds anything that wasn't actually in the array. Made precise, that is\na ",[490,3768,3769],{},"loop invariant",": a statement true before and after every iteration.",[484,3772,3774],{"type":3773},"lemma",[381,3775,3776,3779,3780,3795,3796,3811,3812,510],{},[490,3777,3778],{},"Invariant."," At the start of the iteration with cursor ",[398,3781,3783],{"className":3782},[401],[398,3784,3786],{"className":3785,"ariaHidden":406},[405],[398,3787,3789,3792],{"className":3788},[410],[398,3790],{"className":3791,"style":2439},[414],[398,3793,2443],{"className":3794},[419,1298],", the variable ",[398,3797,3799],{"className":3798},[401],[398,3800,3802],{"className":3801,"ariaHidden":406},[405],[398,3803,3805,3808],{"className":3804},[410],[398,3806],{"className":3807,"style":1477},[414],[398,3809,2170],{"className":3810},[419,1298],"\nequals ",[398,3813,3815],{"className":3814},[401],[398,3816,3818],{"className":3817,"ariaHidden":406},[405],[398,3819,3821,3824,3830,3833],{"className":3820},[410],[398,3822],{"className":3823,"style":1280},[414],[398,3825,3827],{"className":3826},[2047],[398,3828,2052],{"className":3829},[419,2051],[398,3831],{"className":3832,"style":1357},[424],[398,3834,3836,3839,3842,3845,3848,3851,3854,3857,3860,3863,3866,3869,3872,3875,3878,3881,3884,3887,3890,3893],{"className":3835},[1284],[398,3837,2062],{"className":3838,"style":1290},[1288,1289],[398,3840,1977],{"className":3841},[419,1298],[398,3843,1981],{"className":3844},[1288],[398,3846,588],{"className":3847},[419],[398,3849,1992],{"className":3850},[1462],[398,3852,1353],{"className":3853},[1352],[398,3855],{"className":3856,"style":1357},[424],[398,3858,1407],{"className":3859},[1284],[398,3861],{"className":3862,"style":1357},[424],[398,3864,1353],{"className":3865},[1352],[398,3867],{"className":3868,"style":1357},[424],[398,3870,1977],{"className":3871},[419,1298],[398,3873,1981],{"className":3874},[1288],[398,3876,2443],{"className":3877},[419,1298],[398,3879],{"className":3880,"style":425},[424],[398,3882,2342],{"className":3883},[429],[398,3885],{"className":3886,"style":425},[424],[398,3888,588],{"className":3889},[419],[398,3891,1992],{"className":3892},[1462],[398,3894,2108],{"className":3895,"style":1290},[1462,1289],[381,3897,3898],{},"We verify it with the three-part rubric that will recur throughout the course:",[895,3900,3901,4046,4530],{},[898,3902,3903,3906,3907,3940,3941,4001,4002,4045],{},[490,3904,3905],{},"Initialization."," Before the first iteration ",[398,3908,3910],{"className":3909},[401],[398,3911,3913,3931],{"className":3912,"ariaHidden":406},[405],[398,3914,3916,3919,3922,3925,3928],{"className":3915},[410],[398,3917],{"className":3918,"style":2439},[414],[398,3920,2443],{"className":3921},[419,1298],[398,3923],{"className":3924,"style":1772},[424],[398,3926,634],{"className":3927},[1776],[398,3929],{"className":3930,"style":1772},[424],[398,3932,3934,3937],{"className":3933},[410],[398,3935],{"className":3936,"style":440},[414],[398,3938,600],{"className":3939},[419],", so we must check\n",[398,3942,3944],{"className":3943},[401],[398,3945,3947,3965],{"className":3946,"ariaHidden":406},[405],[398,3948,3950,3953,3956,3959,3962],{"className":3949},[410],[398,3951],{"className":3952,"style":1477},[414],[398,3954,2170],{"className":3955},[419,1298],[398,3957],{"className":3958,"style":1772},[424],[398,3960,634],{"className":3961},[1776],[398,3963],{"className":3964,"style":1772},[424],[398,3966,3968,3971,3977,3980],{"className":3967},[410],[398,3969],{"className":3970,"style":1280},[414],[398,3972,3974],{"className":3973},[2047],[398,3975,2052],{"className":3976},[419,2051],[398,3978],{"className":3979,"style":1357},[424],[398,3981,3983,3986,3989,3992,3995,3998],{"className":3982},[1284],[398,3984,2062],{"className":3985,"style":1290},[1288,1289],[398,3987,1977],{"className":3988},[419,1298],[398,3990,1981],{"className":3991},[1288],[398,3993,588],{"className":3994},[419],[398,3996,1992],{"className":3997},[1462],[398,3999,2108],{"className":4000,"style":1290},[1462,1289],". The seed line set ",[398,4003,4005],{"className":4004},[401],[398,4006,4008,4027],{"className":4007,"ariaHidden":406},[405],[398,4009,4011,4014,4017,4020,4024],{"className":4010},[410],[398,4012],{"className":4013,"style":1477},[414],[398,4015,2170],{"className":4016},[419,1298],[398,4018],{"className":4019,"style":1772},[424],[398,4021,4023],{"className":4022},[1776],"←",[398,4025],{"className":4026,"style":1772},[424],[398,4028,4030,4033,4036,4039,4042],{"className":4029},[410],[398,4031],{"className":4032,"style":1280},[414],[398,4034,1977],{"className":4035},[419,1298],[398,4037,1981],{"className":4038},[1288],[398,4040,588],{"className":4041},[419],[398,4043,1992],{"className":4044},[1462],", and the maximum of a\none-element set is that element. ✓",[898,4047,4048,4051,4052,4067,4068,4170,4171,4240,4241,4256,4257,4299,4300,4495,4496,4529],{},[490,4049,4050],{},"Maintenance."," Assume the invariant holds entering iteration ",[398,4053,4055],{"className":4054},[401],[398,4056,4058],{"className":4057,"ariaHidden":406},[405],[398,4059,4061,4064],{"className":4060},[410],[398,4062],{"className":4063,"style":2439},[414],[398,4065,2443],{"className":4066},[419,1298],", i.e.\n",[398,4069,4071],{"className":4070},[401],[398,4072,4074,4092],{"className":4073,"ariaHidden":406},[405],[398,4075,4077,4080,4083,4086,4089],{"className":4076},[410],[398,4078],{"className":4079,"style":1477},[414],[398,4081,2170],{"className":4082},[419,1298],[398,4084],{"className":4085,"style":1772},[424],[398,4087,634],{"className":4088},[1776],[398,4090],{"className":4091,"style":1772},[424],[398,4093,4095,4098,4104,4107],{"className":4094},[410],[398,4096],{"className":4097,"style":1280},[414],[398,4099,4101],{"className":4100},[2047],[398,4102,2052],{"className":4103},[419,2051],[398,4105],{"className":4106,"style":1357},[424],[398,4108,4110,4113,4116,4119,4122,4125,4128,4131,4134,4137,4140,4143,4146,4149,4152,4155,4158,4161,4164,4167],{"className":4109},[1284],[398,4111,2062],{"className":4112,"style":1290},[1288,1289],[398,4114,1977],{"className":4115},[419,1298],[398,4117,1981],{"className":4118},[1288],[398,4120,588],{"className":4121},[419],[398,4123,1992],{"className":4124},[1462],[398,4126,1353],{"className":4127},[1352],[398,4129],{"className":4130,"style":1357},[424],[398,4132,1407],{"className":4133},[1284],[398,4135],{"className":4136,"style":1357},[424],[398,4138,1353],{"className":4139},[1352],[398,4141],{"className":4142,"style":1357},[424],[398,4144,1977],{"className":4145},[419,1298],[398,4147,1981],{"className":4148},[1288],[398,4150,2443],{"className":4151},[419,1298],[398,4153],{"className":4154,"style":425},[424],[398,4156,2342],{"className":4157},[429],[398,4159],{"className":4160,"style":425},[424],[398,4162,588],{"className":4163},[419],[398,4165,1992],{"className":4166},[1462],[398,4168,2108],{"className":4169,"style":1290},[1462,1289],". The body sets\n",[398,4172,4174],{"className":4173},[401],[398,4175,4177,4195],{"className":4176,"ariaHidden":406},[405],[398,4178,4180,4183,4186,4189,4192],{"className":4179},[410],[398,4181],{"className":4182,"style":1477},[414],[398,4184,2170],{"className":4185},[419,1298],[398,4187],{"className":4188,"style":1772},[424],[398,4190,4023],{"className":4191},[1776],[398,4193],{"className":4194,"style":1772},[424],[398,4196,4198,4201,4207,4210],{"className":4197},[410],[398,4199],{"className":4200,"style":1280},[414],[398,4202,4204],{"className":4203},[2047],[398,4205,2052],{"className":4206},[419,2051],[398,4208],{"className":4209,"style":1357},[424],[398,4211,4213,4216,4219,4222,4225,4228,4231,4234,4237],{"className":4212},[1284],[398,4214,2062],{"className":4215,"style":1290},[1288,1289],[398,4217,2170],{"className":4218},[419,1298],[398,4220,1353],{"className":4221},[1352],[398,4223],{"className":4224,"style":1357},[424],[398,4226,1977],{"className":4227},[419,1298],[398,4229,1981],{"className":4230},[1288],[398,4232,2443],{"className":4233},[419,1298],[398,4235,1992],{"className":4236},[1462],[398,4238,2108],{"className":4239,"style":1290},[1462,1289]," (it overwrites ",[398,4242,4244],{"className":4243},[401],[398,4245,4247],{"className":4246,"ariaHidden":406},[405],[398,4248,4250,4253],{"className":4249},[410],[398,4251],{"className":4252,"style":1477},[414],[398,4254,2170],{"className":4255},[419,1298]," exactly when ",[398,4258,4260],{"className":4259},[401],[398,4261,4263,4290],{"className":4262,"ariaHidden":406},[405],[398,4264,4266,4269,4272,4275,4278,4281,4284,4287],{"className":4265},[410],[398,4267],{"className":4268,"style":1280},[414],[398,4270,1977],{"className":4271},[419,1298],[398,4273,1981],{"className":4274},[1288],[398,4276,2443],{"className":4277},[419,1298],[398,4279,1992],{"className":4280},[1462],[398,4282],{"className":4283,"style":1772},[424],[398,4285,3274],{"className":4286},[1776],[398,4288],{"className":4289,"style":1772},[424],[398,4291,4293,4296],{"className":4292},[410],[398,4294],{"className":4295,"style":1477},[414],[398,4297,2170],{"className":4298},[419,1298],", and\nleaves it otherwise). Hence after the body\n",[398,4301,4303],{"className":4302},[401],[398,4304,4306,4324,4429],{"className":4305,"ariaHidden":406},[405],[398,4307,4309,4312,4315,4318,4321],{"className":4308},[410],[398,4310],{"className":4311,"style":1477},[414],[398,4313,2170],{"className":4314},[419,1298],[398,4316],{"className":4317,"style":1772},[424],[398,4319,634],{"className":4320},[1776],[398,4322],{"className":4323,"style":1772},[424],[398,4325,4327,4330,4336,4339,4420,4423,4426],{"className":4326},[410],[398,4328],{"className":4329,"style":1280},[414],[398,4331,4333],{"className":4332},[2047],[398,4334,2052],{"className":4335},[419,2051],[398,4337],{"className":4338,"style":1357},[424],[398,4340,4342,4345,4348,4351,4354,4357,4360,4363,4366,4369,4372,4375,4378,4381,4384,4387,4390,4393,4396,4399,4402,4405,4408,4411,4414,4417],{"className":4341},[1284],[398,4343,2062],{"className":4344,"style":1290},[1288,1289],[398,4346,1977],{"className":4347},[419,1298],[398,4349,1981],{"className":4350},[1288],[398,4352,588],{"className":4353},[419],[398,4355,1992],{"className":4356},[1462],[398,4358,1353],{"className":4359},[1352],[398,4361],{"className":4362,"style":1357},[424],[398,4364,1407],{"className":4365},[1284],[398,4367],{"className":4368,"style":1357},[424],[398,4370,1353],{"className":4371},[1352],[398,4373],{"className":4374,"style":1357},[424],[398,4376,1977],{"className":4377},[419,1298],[398,4379,1981],{"className":4380},[1288],[398,4382,2443],{"className":4383},[419,1298],[398,4385],{"className":4386,"style":425},[424],[398,4388,2342],{"className":4389},[429],[398,4391],{"className":4392,"style":425},[424],[398,4394,588],{"className":4395},[419],[398,4397,1992],{"className":4398},[1462],[398,4400,1353],{"className":4401},[1352],[398,4403],{"className":4404,"style":1357},[424],[398,4406,1977],{"className":4407},[419,1298],[398,4409,1981],{"className":4410},[1288],[398,4412,2443],{"className":4413},[419,1298],[398,4415,1992],{"className":4416},[1462],[398,4418,2108],{"className":4419,"style":1290},[1462,1289],[398,4421],{"className":4422,"style":1772},[424],[398,4424,634],{"className":4425},[1776],[398,4427],{"className":4428,"style":1772},[424],[398,4430,4432,4435,4441,4444],{"className":4431},[410],[398,4433],{"className":4434,"style":1280},[414],[398,4436,4438],{"className":4437},[2047],[398,4439,2052],{"className":4440},[419,2051],[398,4442],{"className":4443,"style":1357},[424],[398,4445,4447,4450,4453,4456,4459,4462,4465,4468,4471,4474,4477,4480,4483,4486,4489,4492],{"className":4446},[1284],[398,4448,2062],{"className":4449,"style":1290},[1288,1289],[398,4451,1977],{"className":4452},[419,1298],[398,4454,1981],{"className":4455},[1288],[398,4457,588],{"className":4458},[419],[398,4460,1992],{"className":4461},[1462],[398,4463,1353],{"className":4464},[1352],[398,4466],{"className":4467,"style":1357},[424],[398,4469,1407],{"className":4470},[1284],[398,4472],{"className":4473,"style":1357},[424],[398,4475,1353],{"className":4476},[1352],[398,4478],{"className":4479,"style":1357},[424],[398,4481,1977],{"className":4482},[419,1298],[398,4484,1981],{"className":4485},[1288],[398,4487,2443],{"className":4488},[419,1298],[398,4490,1992],{"className":4491},[1462],[398,4493,2108],{"className":4494,"style":1290},[1462,1289],", which\nis precisely the invariant for the next cursor value ",[398,4497,4499],{"className":4498},[401],[398,4500,4502,4520],{"className":4501,"ariaHidden":406},[405],[398,4503,4505,4508,4511,4514,4517],{"className":4504},[410],[398,4506],{"className":4507,"style":3606},[414],[398,4509,2443],{"className":4510},[419,1298],[398,4512],{"className":4513,"style":425},[424],[398,4515,468],{"className":4516},[429],[398,4518],{"className":4519,"style":425},[424],[398,4521,4523,4526],{"className":4522},[410],[398,4524],{"className":4525,"style":440},[414],[398,4527,588],{"className":4528},[419],". ✓",[898,4531,4532,4535,4536,4551,4552,4603,4604,4694,4695,4716],{},[490,4533,4534],{},"Termination."," The loop ends once the cursor would exceed ",[398,4537,4539],{"className":4538},[401],[398,4540,4542],{"className":4541,"ariaHidden":406},[405],[398,4543,4545,4548],{"className":4544},[410],[398,4546],{"className":4547,"style":1477},[414],[398,4549,1447],{"className":4550},[419,1298],", i.e. with the\ninvariant established for ",[398,4553,4555],{"className":4554},[401],[398,4556,4558,4576,4594],{"className":4557,"ariaHidden":406},[405],[398,4559,4561,4564,4567,4570,4573],{"className":4560},[410],[398,4562],{"className":4563,"style":3606},[414],[398,4565,2443],{"className":4566},[419,1298],[398,4568],{"className":4569,"style":425},[424],[398,4571,2342],{"className":4572},[429],[398,4574],{"className":4575,"style":425},[424],[398,4577,4579,4582,4585,4588,4591],{"className":4578},[410],[398,4580],{"className":4581,"style":440},[414],[398,4583,588],{"className":4584},[419],[398,4586],{"className":4587,"style":1772},[424],[398,4589,634],{"className":4590},[1776],[398,4592],{"className":4593,"style":1772},[424],[398,4595,4597,4600],{"className":4596},[410],[398,4598],{"className":4599,"style":1477},[414],[398,4601,1447],{"className":4602},[419,1298],". So ",[398,4605,4607],{"className":4606},[401],[398,4608,4610,4628],{"className":4609,"ariaHidden":406},[405],[398,4611,4613,4616,4619,4622,4625],{"className":4612},[410],[398,4614],{"className":4615,"style":1477},[414],[398,4617,2170],{"className":4618},[419,1298],[398,4620],{"className":4621,"style":1772},[424],[398,4623,634],{"className":4624},[1776],[398,4626],{"className":4627,"style":1772},[424],[398,4629,4631,4634,4640,4643],{"className":4630},[410],[398,4632],{"className":4633,"style":1280},[414],[398,4635,4637],{"className":4636},[2047],[398,4638,2052],{"className":4639},[419,2051],[398,4641],{"className":4642,"style":1357},[424],[398,4644,4646,4649,4652,4655,4658,4661,4664,4667,4670,4673,4676,4679,4682,4685,4688,4691],{"className":4645},[1284],[398,4647,2062],{"className":4648,"style":1290},[1288,1289],[398,4650,1977],{"className":4651},[419,1298],[398,4653,1981],{"className":4654},[1288],[398,4656,588],{"className":4657},[419],[398,4659,1992],{"className":4660},[1462],[398,4662,1353],{"className":4663},[1352],[398,4665],{"className":4666,"style":1357},[424],[398,4668,1407],{"className":4669},[1284],[398,4671],{"className":4672,"style":1357},[424],[398,4674,1353],{"className":4675},[1352],[398,4677],{"className":4678,"style":1357},[424],[398,4680,1977],{"className":4681},[419,1298],[398,4683,1981],{"className":4684},[1288],[398,4686,1447],{"className":4687},[419,1298],[398,4689,1992],{"className":4690},[1462],[398,4692,2108],{"className":4693,"style":1290},[1462,1289],",\nand ",[398,4696,4698],{"className":4697},[401],[398,4699,4701],{"className":4700,"ariaHidden":406},[405],[398,4702,4704,4707],{"className":4703},[410],[398,4705],{"className":4706,"style":2131},[414],[398,4708,4710],{"className":4709},[2135,2136],[398,4711,4713],{"className":4712},[419,2140],[398,4714,2144],{"className":4715},[419]," returns exactly the value the specification demands. ✓",[381,4718,4719],{},"Initialization, maintenance, termination: that triple drives correctness\nproofs, and we will use it constantly.",[484,4721,4723],{"type":4722},"warning",[381,4724,4725,4728,4729,4732,4733,4748,4749,4764,4765,4768,4769,4772,4773,4776,4777,4780],{},[490,4726,4727],{},"Watch your indices."," A common slip is to muddle ",[495,4730,4731],{},"which"," moment in time a\nclaim about ",[398,4734,4736],{"className":4735},[401],[398,4737,4739],{"className":4738,"ariaHidden":406},[405],[398,4740,4742,4745],{"className":4741},[410],[398,4743],{"className":4744,"style":2439},[414],[398,4746,2443],{"className":4747},[419,1298]," (or ",[398,4750,4752],{"className":4751},[401],[398,4753,4755],{"className":4754,"ariaHidden":406},[405],[398,4756,4758,4761],{"className":4757},[410],[398,4759],{"className":4760,"style":1477},[414],[398,4762,2170],{"className":4763},[419,1298],") describes: the value ",[495,4766,4767],{},"entering"," an iteration, or the\nvalue ",[495,4770,4771],{},"after"," the update. State the invariant for one fixed moment (here, the\n",[495,4774,4775],{},"start"," of the iteration) and stick to it. Most ",[867,4778,4779],{},"buggy proofs"," of correct\nalgorithms are really off-by-one confusions about state.",[4782,4783,4785],"h3",{"id":4784},"aside-claims-and-the-contrapositive","Aside: claims and the contrapositive",[381,4787,4788,4789,4792,4793,4834,4835,4850,4851,4866],{},"For algorithms that answer ",[495,4790,4791],{},"yes\u002Fno"," rather than compute a value, the same rigor\ntakes a slightly different shape. Consider ",[398,4794,4796],{"className":4795},[401],[398,4797,4799],{"className":4798,"ariaHidden":406},[405],[398,4800,4802,4805,4815,4818,4821,4824,4827,4830],{"className":4801},[410],[398,4803],{"className":4804,"style":1280},[414],[398,4806,4808],{"className":4807},[2135,2136],[398,4809,4811],{"className":4810},[419,2140],[398,4812,4814],{"className":4813},[419],"Linear-Search",[398,4816,665],{"className":4817},[1288],[398,4819,1977],{"className":4820},[419,1298],[398,4822,1353],{"className":4823},[1352],[398,4825],{"className":4826,"style":1357},[424],[398,4828,2666],{"className":4829,"style":2665},[419,1298],[398,4831,4833],{"className":4832},[1462],")",", which\nreports whether key ",[398,4836,4838],{"className":4837},[401],[398,4839,4841],{"className":4840,"ariaHidden":406},[405],[398,4842,4844,4847],{"className":4843},[410],[398,4845],{"className":4846,"style":2131},[414],[398,4848,2666],{"className":4849,"style":2665},[419,1298]," occurs in ",[398,4852,4854],{"className":4853},[401],[398,4855,4857],{"className":4856,"ariaHidden":406},[405],[398,4858,4860,4863],{"className":4859},[410],[398,4861],{"className":4862,"style":3074},[414],[398,4864,1977],{"className":4865},[419,1298],". Correctness splits into two claims:",[895,4868,4869,4936],{},[898,4870,4871,4874,4875,4910,4911,4932,4933,510],{},[490,4872,4873],{},"Claim 1."," If ",[398,4876,4878],{"className":4877},[401],[398,4879,4881,4901],{"className":4880,"ariaHidden":406},[405],[398,4882,4884,4888,4891,4894,4898],{"className":4883},[410],[398,4885],{"className":4886,"style":4887},[414],"height:0.7335em;vertical-align:-0.0391em;",[398,4889,2666],{"className":4890,"style":2665},[419,1298],[398,4892],{"className":4893,"style":1772},[424],[398,4895,4897],{"className":4896},[1776],"∈",[398,4899],{"className":4900,"style":1772},[424],[398,4902,4904,4907],{"className":4903},[410],[398,4905],{"className":4906,"style":3074},[414],[398,4908,1977],{"className":4909},[419,1298],", then ",[398,4912,4914],{"className":4913},[401],[398,4915,4917],{"className":4916,"ariaHidden":406},[405],[398,4918,4920,4923],{"className":4919},[410],[398,4921],{"className":4922,"style":2131},[414],[398,4924,4926],{"className":4925},[2135,2136],[398,4927,4929],{"className":4928},[419,2140],[398,4930,4814],{"className":4931},[419]," returns ",[520,4934,4935],{},"found",[898,4937,4938,4874,4941,4910,5014,5035,5036,510],{},[490,4939,4940],{},"Claim 2.",[398,4942,4944],{"className":4943},[401],[398,4945,4947,5005],{"className":4946,"ariaHidden":406},[405],[398,4948,4950,4953,4956,4959,5002],{"className":4949},[410],[398,4951],{"className":4952,"style":1280},[414],[398,4954,2666],{"className":4955,"style":2665},[419,1298],[398,4957],{"className":4958,"style":1772},[424],[398,4960,4962,4968],{"className":4961},[1776],[398,4963,4965],{"className":4964},[419],[398,4966,4897],{"className":4967},[1776],[398,4969,4972],{"className":4970},[419,4971],"vbox",[398,4973,4976],{"className":4974},[4975],"thinbox",[398,4977,4980,4983,4998],{"className":4978},[4979],"llap",[398,4981],{"className":4982,"style":1280},[414],[398,4984,4987],{"className":4985},[4986],"inner",[398,4988,4990,4994],{"className":4989},[419],[398,4991,4993],{"className":4992},[419],"\u002F",[398,4995],{"className":4996,"style":4997},[424],"margin-right:0.0556em;",[398,4999],{"className":5000},[5001],"fix",[398,5003],{"className":5004,"style":1772},[424],[398,5006,5008,5011],{"className":5007},[410],[398,5009],{"className":5010,"style":3074},[414],[398,5012,1977],{"className":5013},[419,1298],[398,5015,5017],{"className":5016},[401],[398,5018,5020],{"className":5019,"ariaHidden":406},[405],[398,5021,5023,5026],{"className":5022},[410],[398,5024],{"className":5025,"style":2131},[414],[398,5027,5029],{"className":5028},[2135,2136],[398,5030,5032],{"className":5031},[419,2140],[398,5033,4814],{"className":5034},[419]," returns\n",[520,5037,5038],{},"not found",[381,5040,5041,5042,5057,5058,5073,5074,5089,5090,5132,5133,5135,5136,5139],{},"Claim 1 is direct: if ",[398,5043,5045],{"className":5044},[401],[398,5046,5048],{"className":5047,"ariaHidden":406},[405],[398,5049,5051,5054],{"className":5050},[410],[398,5052],{"className":5053,"style":2131},[414],[398,5055,2666],{"className":5056,"style":2665},[419,1298]," sits at position ",[398,5059,5061],{"className":5060},[401],[398,5062,5064],{"className":5063,"ariaHidden":406},[405],[398,5065,5067,5070],{"className":5066},[410],[398,5068],{"className":5069,"style":2597},[414],[398,5071,2602],{"className":5072,"style":2601},[419,1298],", the loop's ",[398,5075,5077],{"className":5076},[401],[398,5078,5080],{"className":5079,"ariaHidden":406},[405],[398,5081,5083,5086],{"className":5082},[410],[398,5084],{"className":5085,"style":2597},[414],[398,5087,2602],{"className":5088,"style":2601},[419,1298],"-th iteration\ntests ",[398,5091,5093],{"className":5092},[401],[398,5094,5096,5123],{"className":5095,"ariaHidden":406},[405],[398,5097,5099,5102,5105,5108,5111,5114,5117,5120],{"className":5098},[410],[398,5100],{"className":5101,"style":1280},[414],[398,5103,1977],{"className":5104},[419,1298],[398,5106,1981],{"className":5107},[1288],[398,5109,2602],{"className":5110,"style":2601},[419,1298],[398,5112,1992],{"className":5113},[1462],[398,5115],{"className":5116,"style":1772},[424],[398,5118,634],{"className":5119},[1776],[398,5121],{"className":5122,"style":1772},[424],[398,5124,5126,5129],{"className":5125},[410],[398,5127],{"className":5128,"style":2131},[414],[398,5130,2666],{"className":5131,"style":2665},[419,1298]," and returns ",[520,5134,4935],{},". Claim 2 is cleaner to prove in its\n",[490,5137,5138],{},"contrapositive"," form. The logical identity is worth memorizing:",[398,5141,5144],{"className":5142},[5143],"katex-display",[398,5145,5147],{"className":5146},[401],[398,5148,5150,5172,5200,5225],{"className":5149,"ariaHidden":406},[405],[398,5151,5153,5156,5159,5162,5165,5169],{"className":5152},[410],[398,5154],{"className":5155,"style":1280},[414],[398,5157,665],{"className":5158},[1288],[398,5160,381],{"className":5161},[419,1298],[398,5163],{"className":5164,"style":1772},[424],[398,5166,5168],{"className":5167},[1776],"⇒",[398,5170],{"className":5171,"style":1772},[424],[398,5173,5175,5178,5181,5184,5187,5190,5194,5197],{"className":5174},[410],[398,5176],{"className":5177,"style":1280},[414],[398,5179,867],{"className":5180,"style":2670},[419,1298],[398,5182,4833],{"className":5183},[1462],[398,5185],{"className":5186,"style":1772},[424],[398,5188],{"className":5189,"style":1772},[424],[398,5191,5193],{"className":5192},[1776],"≡",[398,5195],{"className":5196,"style":1772},[424],[398,5198],{"className":5199,"style":1772},[424],[398,5201,5203,5206,5209,5213,5216,5219,5222],{"className":5202},[410],[398,5204],{"className":5205,"style":1280},[414],[398,5207,665],{"className":5208},[1288],[398,5210,5212],{"className":5211},[419],"¬",[398,5214,867],{"className":5215,"style":2670},[419,1298],[398,5217],{"className":5218,"style":1772},[424],[398,5220,5168],{"className":5221},[1776],[398,5223],{"className":5224,"style":1772},[424],[398,5226,5228,5231,5234,5237,5240],{"className":5227},[410],[398,5229],{"className":5230,"style":1280},[414],[398,5232,5212],{"className":5233},[419],[398,5235,381],{"className":5236},[419,1298],[398,5238,4833],{"className":5239},[1462],[398,5241,510],{"className":5242},[419],[381,5244,5245,5246,5318,5319,5358,5359,5361,5362,5404,5405,5420,5421,5454],{},"So instead of ",[867,5247,5248,5249,5315,5316,1353],{},"if ",[398,5250,5252],{"className":5251},[401],[398,5253,5255,5306],{"className":5254,"ariaHidden":406},[405],[398,5256,5258,5261,5264,5267,5303],{"className":5257},[410],[398,5259],{"className":5260,"style":1280},[414],[398,5262,2666],{"className":5263,"style":2665},[419,1298],[398,5265],{"className":5266,"style":1772},[424],[398,5268,5270,5276],{"className":5269},[1776],[398,5271,5273],{"className":5272},[419],[398,5274,4897],{"className":5275},[1776],[398,5277,5279],{"className":5278},[419,4971],[398,5280,5282],{"className":5281},[4975],[398,5283,5285,5288,5300],{"className":5284},[4979],[398,5286],{"className":5287,"style":1280},[414],[398,5289,5291],{"className":5290},[4986],[398,5292,5294,5297],{"className":5293},[419],[398,5295,4993],{"className":5296},[419],[398,5298],{"className":5299,"style":4997},[424],[398,5301],{"className":5302},[5001],[398,5304],{"className":5305,"style":1772},[424],[398,5307,5309,5312],{"className":5308},[410],[398,5310],{"className":5311,"style":3074},[414],[398,5313,1977],{"className":5314},[419,1298]," then it returns ",[520,5317,5038],{}," we prove the\nequivalent ",[867,5320,5321,5322,5324,5325,1353],{},"if it returns ",[520,5323,4935],{}," then ",[398,5326,5328],{"className":5327},[401],[398,5329,5331,5349],{"className":5330,"ariaHidden":406},[405],[398,5332,5334,5337,5340,5343,5346],{"className":5333},[410],[398,5335],{"className":5336,"style":4887},[414],[398,5338,2666],{"className":5339,"style":2665},[419,1298],[398,5341],{"className":5342,"style":1772},[424],[398,5344,4897],{"className":5345},[1776],[398,5347],{"className":5348,"style":1772},[424],[398,5350,5352,5355],{"className":5351},[410],[398,5353],{"className":5354,"style":3074},[414],[398,5356,1977],{"className":5357},[419,1298]," which is immediate, since the\nonly way to return ",[520,5360,4935],{}," is to have just tested ",[398,5363,5365],{"className":5364},[401],[398,5366,5368,5395],{"className":5367,"ariaHidden":406},[405],[398,5369,5371,5374,5377,5380,5383,5386,5389,5392],{"className":5370},[410],[398,5372],{"className":5373,"style":1280},[414],[398,5375,1977],{"className":5376},[419,1298],[398,5378,1981],{"className":5379},[1288],[398,5381,2602],{"className":5382,"style":2601},[419,1298],[398,5384,1992],{"className":5385},[1462],[398,5387],{"className":5388,"style":1772},[424],[398,5390,634],{"className":5391},[1776],[398,5393],{"className":5394,"style":1772},[424],[398,5396,5398,5401],{"className":5397},[410],[398,5399],{"className":5400,"style":2131},[414],[398,5402,2666],{"className":5403,"style":2665},[419,1298]," for some ",[398,5406,5408],{"className":5407},[401],[398,5409,5411],{"className":5410,"ariaHidden":406},[405],[398,5412,5414,5417],{"className":5413},[410],[398,5415],{"className":5416,"style":2597},[414],[398,5418,2602],{"className":5419,"style":2601},[419,1298],",\nwitnessing ",[398,5422,5424],{"className":5423},[401],[398,5425,5427,5445],{"className":5426,"ariaHidden":406},[405],[398,5428,5430,5433,5436,5439,5442],{"className":5429},[410],[398,5431],{"className":5432,"style":4887},[414],[398,5434,2666],{"className":5435,"style":2665},[419,1298],[398,5437],{"className":5438,"style":1772},[424],[398,5440,4897],{"className":5441},[1776],[398,5443],{"className":5444,"style":1772},[424],[398,5446,5448,5451],{"className":5447},[410],[398,5449],{"className":5450,"style":3074},[414],[398,5452,1977],{"className":5453},[419,1298],". Choosing the easier of two logically identical statements\nis a recurring move in correctness proofs.",[987,5456,5458,5637],{"className":5457},[990,991],[993,5459,5463],{"xmlns":995,"width":5460,"height":5461,"viewBox":5462},"246.025","149.688","-75 -75 184.519 112.266",[1000,5464,5465,5468,5495,5498,5519,5572,5592,5615,5630],{"stroke":1002,"style":1003},[1010,5466],{"fill":1015,"d":5467},"M-26.234-55.563h-32.393a4 4 0 0 0-4 4v17.608a4 4 0 0 0 4 4h32.393a4 4 0 0 0 4-4v-17.608a4 4 0 0 0-4-4Zm-36.393 25.608",[1000,5469,5470,5477,5483,5489],{"stroke":1015,"fontSize":1017},[1000,5471,5473],{"transform":5472},"translate(-11.66 3.146)",[1010,5474],{"d":5475,"fill":1002,"stroke":1002,"className":5476,"style":1026},"M-41.942-42.930Q-41.942-42.983-41.933-43.009L-40.628-48.230Q-40.593-48.380-40.593-48.454Q-40.593-48.591-41.160-48.591Q-41.261-48.591-41.261-48.709Q-41.261-48.766-41.230-48.837Q-41.200-48.907-41.134-48.907L-39.912-49.004L-39.872-49.004Q-39.833-48.986-39.813-48.957Q-39.793-48.929-39.793-48.898L-39.793-48.863L-40.721-45.154Q-40.457-45.264-40.268-45.435Q-40.079-45.607-39.675-46.007Q-39.270-46.406-39-46.571Q-38.730-46.736-38.378-46.736Q-38.115-46.736-37.941-46.558Q-37.767-46.380-37.767-46.116Q-37.767-45.875-37.915-45.695Q-38.062-45.514-38.299-45.514Q-38.440-45.514-38.545-45.607Q-38.651-45.699-38.651-45.844Q-38.651-46.046-38.495-46.202Q-38.339-46.358-38.137-46.358Q-38.224-46.477-38.396-46.477Q-38.721-46.477-39.031-46.250Q-39.341-46.024-39.774-45.596Q-40.206-45.167-40.430-45.027Q-39.890-44.965-39.494-44.750Q-39.099-44.534-39.099-44.073Q-39.099-43.989-39.134-43.831Q-39.196-43.563-39.209-43.335Q-39.209-42.922-38.928-42.922Q-38.607-42.922-38.429-43.275Q-38.251-43.629-38.145-44.073Q-38.137-44.104-38.112-44.128Q-38.088-44.152-38.057-44.152L-37.948-44.152Q-37.904-44.152-37.882-44.119Q-37.860-44.086-37.860-44.038Q-38-43.480-38.253-43.069Q-38.506-42.658-38.945-42.658Q-39.341-42.658-39.593-42.919Q-39.846-43.181-39.846-43.568Q-39.846-43.664-39.811-43.866Q-39.784-43.959-39.784-44.055Q-39.784-44.288-39.945-44.447Q-40.105-44.605-40.349-44.684Q-40.593-44.763-40.808-44.785L-41.270-42.966Q-41.314-42.829-41.417-42.744Q-41.520-42.658-41.657-42.658Q-41.784-42.658-41.863-42.733Q-41.942-42.807-41.942-42.930",[1025],[1000,5478,5479],{"transform":5472},[1010,5480],{"d":5481,"fill":1002,"stroke":1002,"className":5482,"style":1026},"M-33.239-40.698Q-33.239-40.742-33.230-40.759L-30.018-49.390Q-29.974-49.509-29.837-49.509Q-29.763-49.509-29.706-49.452Q-29.649-49.395-29.649-49.320Q-29.649-49.276-29.657-49.259L-32.861-40.628Q-32.918-40.509-33.041-40.509Q-33.125-40.509-33.182-40.566Q-33.239-40.623-33.239-40.698",[1025],[1000,5484,5485],{"transform":5472},[1010,5486],{"d":5487,"fill":1002,"stroke":1002,"className":5488,"style":1026},"M-32.755-43.216Q-32.061-42.680-31.173-42.680L-29.569-42.680Q-29.398-42.636-29.398-42.482Q-29.398-42.328-29.569-42.293L-31.208-42.293Q-31.942-42.293-32.590-42.656Q-33.239-43.018-33.623-43.644Q-34.008-44.271-34.008-45.009Q-34.008-45.558-33.783-46.064Q-33.559-46.569-33.173-46.934Q-32.786-47.299-32.272-47.507Q-31.758-47.716-31.208-47.716L-29.569-47.716Q-29.398-47.681-29.398-47.527Q-29.398-47.457-29.446-47.400Q-29.494-47.342-29.569-47.329L-31.173-47.329Q-31.604-47.329-32.012-47.189Q-32.421-47.048-32.755-46.780Q-33.102-46.508-33.357-46.059Q-33.612-45.611-33.612-45.198L-29.569-45.198Q-29.398-45.163-29.398-45.009Q-29.398-44.846-29.569-44.811L-33.612-44.811Q-33.612-44.403-33.357-43.954Q-33.102-43.506-32.755-43.216",[1025],[1000,5490,5491],{"transform":5472},[1010,5492],{"d":5493,"fill":1002,"stroke":1002,"className":5494,"style":1026},"M-23.883-42.759L-25.614-42.759Q-25.711-42.759-25.711-42.878Q-25.711-42.935-25.680-43.005Q-25.649-43.075-25.588-43.075Q-24.898-43.075-24.498-43.686Q-24.498-43.686-24.472-43.713L-21.202-49.096Q-21.141-49.201-21.013-49.201L-20.925-49.201Q-20.802-49.201-20.789-49.096L-20.161-43.264Q-20.117-43.146-19.926-43.111Q-19.734-43.075-19.475-43.075Q-19.431-43.075-19.398-43.038Q-19.365-43.001-19.365-42.966Q-19.365-42.759-19.528-42.759L-21.760-42.759Q-21.800-42.759-21.831-42.799Q-21.861-42.838-21.861-42.878Q-21.861-42.939-21.826-43.007Q-21.791-43.075-21.734-43.075Q-21.457-43.075-21.248-43.119Q-21.040-43.163-20.996-43.317L-21.158-44.802L-23.479-44.802L-24.199-43.607Q-24.283-43.484-24.283-43.361Q-24.283-43.203-24.142-43.139Q-24.002-43.075-23.821-43.075Q-23.777-43.075-23.751-43.042Q-23.725-43.009-23.725-42.966Q-23.725-42.759-23.883-42.759M-21.510-48.041L-23.281-45.119L-21.193-45.119",[1025],[1010,5496],{"fill":1015,"d":5497},"M102.049-59.563H50.453a4 4 0 0 0-4 4v25.608a4 4 0 0 0 4 4h51.596a4 4 0 0 0 4-4v-25.608a4 4 0 0 0-4-4ZM46.453-25.955",[1000,5499,5500,5507,5513],{"stroke":1015,"fontSize":1017},[1000,5501,5503],{"transform":5502},"translate(97.419 8.268)",[1010,5504],{"d":5505,"fill":1002,"stroke":1002,"className":5506,"style":1026},"M-33.122-53.759L-35.355-53.759L-35.355-54.075Q-35.042-54.075-34.851-54.128Q-34.660-54.181-34.660-54.370L-34.660-56.818Q-34.660-57.059-34.730-57.167Q-34.801-57.275-34.935-57.299Q-35.069-57.323-35.355-57.323L-35.355-57.639L-34.041-57.736L-34.041-56.875Q-33.878-57.266-33.610-57.501Q-33.342-57.736-32.951-57.736Q-32.678-57.736-32.463-57.573Q-32.248-57.411-32.248-57.152Q-32.248-56.976-32.366-56.857Q-32.485-56.738-32.661-56.738Q-32.841-56.738-32.959-56.857Q-33.078-56.976-33.078-57.152Q-33.078-57.367-32.924-57.477L-32.942-57.477Q-33.320-57.477-33.553-57.215Q-33.786-56.954-33.885-56.567Q-33.983-56.180-33.983-55.820L-33.983-54.370Q-33.983-54.181-33.726-54.128Q-33.469-54.075-33.122-54.075L-33.122-53.759M-29.677-53.658Q-30.235-53.658-30.707-53.941Q-31.180-54.225-31.454-54.702Q-31.729-55.178-31.729-55.732Q-31.729-56.128-31.586-56.503Q-31.443-56.879-31.186-57.167Q-30.929-57.455-30.571-57.624Q-30.213-57.793-29.809-57.793Q-29.264-57.793-28.892-57.556Q-28.521-57.319-28.334-56.901Q-28.147-56.484-28.147-55.947Q-28.147-55.895-28.172-55.857Q-28.196-55.820-28.244-55.820L-30.916-55.820L-30.916-55.741Q-30.916-54.994-30.604-54.471Q-30.292-53.948-29.593-53.948Q-29.189-53.948-28.868-54.205Q-28.547-54.462-28.424-54.866Q-28.407-54.946-28.323-54.946L-28.244-54.946Q-28.205-54.946-28.176-54.915Q-28.147-54.884-28.147-54.840L-28.147-54.805Q-28.253-54.462-28.475-54.203Q-28.697-53.944-29.011-53.801Q-29.325-53.658-29.677-53.658M-30.907-56.071L-28.793-56.071Q-28.793-56.339-28.846-56.585Q-28.899-56.831-29.020-57.053Q-29.141-57.275-29.338-57.402Q-29.536-57.530-29.809-57.530Q-30.151-57.530-30.404-57.305Q-30.657-57.081-30.782-56.743Q-30.907-56.405-30.907-56.071M-26.939-54.831L-26.939-57.323L-27.704-57.323L-27.704-57.582Q-27.299-57.582-27.033-57.848Q-26.768-58.114-26.647-58.514Q-26.526-58.914-26.526-59.296L-26.236-59.296L-26.236-57.639L-24.948-57.639L-24.948-57.323L-26.236-57.323L-26.236-54.866Q-26.236-54.497-26.111-54.223Q-25.985-53.948-25.660-53.948Q-25.361-53.948-25.223-54.242Q-25.084-54.537-25.084-54.866L-25.084-55.389L-24.799-55.389L-24.799-54.831Q-24.799-54.554-24.909-54.282Q-25.019-54.009-25.232-53.834Q-25.445-53.658-25.726-53.658Q-26.086-53.658-26.359-53.796Q-26.631-53.935-26.785-54.198Q-26.939-54.462-26.939-54.831M-23.296-54.831L-23.296-56.818Q-23.296-57.059-23.366-57.167Q-23.437-57.275-23.571-57.299Q-23.705-57.323-23.986-57.323L-23.986-57.639L-22.593-57.736L-22.593-54.866Q-22.593-54.488-22.547-54.302Q-22.501-54.115-22.329-54.018Q-22.158-53.922-21.802-53.922Q-21.468-53.922-21.228-54.113Q-20.989-54.304-20.864-54.607Q-20.738-54.910-20.738-55.227L-20.738-56.818Q-20.738-57.059-20.809-57.167Q-20.879-57.275-21.013-57.299Q-21.147-57.323-21.433-57.323L-21.433-57.639L-20.035-57.736L-20.035-54.576Q-20.035-54.339-19.965-54.231Q-19.895-54.124-19.761-54.100Q-19.626-54.075-19.345-54.075L-19.345-53.759L-20.712-53.658L-20.712-54.379Q-20.879-54.053-21.184-53.856Q-21.490-53.658-21.846-53.658Q-22.505-53.658-22.900-53.928Q-23.296-54.198-23.296-54.831M-16.665-53.759L-18.897-53.759L-18.897-54.075Q-18.585-54.075-18.394-54.128Q-18.203-54.181-18.203-54.370L-18.203-56.818Q-18.203-57.059-18.273-57.167Q-18.343-57.275-18.477-57.299Q-18.611-57.323-18.897-57.323L-18.897-57.639L-17.583-57.736L-17.583-56.875Q-17.420-57.266-17.152-57.501Q-16.884-57.736-16.493-57.736Q-16.221-57.736-16.005-57.573Q-15.790-57.411-15.790-57.152Q-15.790-56.976-15.909-56.857Q-16.027-56.738-16.203-56.738Q-16.383-56.738-16.502-56.857Q-16.621-56.976-16.621-57.152Q-16.621-57.367-16.467-57.477L-16.484-57.477Q-16.862-57.477-17.095-57.215Q-17.328-56.954-17.427-56.567Q-17.526-56.180-17.526-55.820L-17.526-54.370Q-17.526-54.181-17.269-54.128Q-17.012-54.075-16.665-54.075L-16.665-53.759M-13.145-53.759L-15.232-53.759L-15.232-54.075Q-14.924-54.075-14.733-54.128Q-14.542-54.181-14.542-54.370L-14.542-56.818Q-14.542-57.059-14.612-57.167Q-14.683-57.275-14.817-57.299Q-14.951-57.323-15.232-57.323L-15.232-57.639L-13.892-57.736L-13.892-56.901Q-13.694-57.283-13.340-57.510Q-12.986-57.736-12.560-57.736Q-11.281-57.736-11.281-56.523L-11.281-54.370Q-11.281-54.181-11.090-54.128Q-10.899-54.075-10.591-54.075L-10.591-53.759L-12.679-53.759L-12.679-54.075Q-12.367-54.075-12.176-54.128Q-11.984-54.181-11.984-54.370L-11.984-56.488Q-11.984-56.747-12.028-56.969Q-12.072-57.191-12.217-57.334Q-12.362-57.477-12.622-57.477Q-12.964-57.477-13.246-57.288Q-13.527-57.099-13.683-56.787Q-13.839-56.475-13.839-56.128L-13.839-54.370Q-13.839-54.181-13.646-54.128Q-13.452-54.075-13.145-54.075L-13.145-53.759M-10.086-53.741L-10.086-55.183Q-10.086-55.214-10.057-55.238Q-10.029-55.262-9.998-55.262L-9.888-55.262Q-9.853-55.262-9.831-55.240Q-9.809-55.218-9.800-55.183Q-9.541-53.922-8.574-53.922Q-8.148-53.922-7.854-54.106Q-7.559-54.291-7.559-54.695Q-7.559-54.989-7.790-55.185Q-8.021-55.381-8.333-55.442L-8.935-55.561Q-9.400-55.649-9.743-55.932Q-10.086-56.216-10.086-56.655Q-10.086-57.248-9.649-57.521Q-9.211-57.793-8.574-57.793Q-8.095-57.793-7.748-57.547L-7.498-57.771Q-7.440-57.793-7.440-57.793L-7.388-57.793Q-7.361-57.793-7.328-57.767Q-7.295-57.740-7.295-57.710L-7.295-56.550Q-7.295-56.519-7.331-56.492Q-7.366-56.466-7.388-56.466L-7.498-56.466Q-7.520-56.466-7.553-56.495Q-7.585-56.523-7.585-56.550Q-7.585-57.015-7.851-57.286Q-8.117-57.556-8.583-57.556Q-8.987-57.556-9.291-57.411Q-9.594-57.266-9.594-56.910Q-9.594-56.664-9.376-56.510Q-9.159-56.356-8.882-56.299L-8.253-56.172Q-7.937-56.110-7.667-55.943Q-7.397-55.776-7.230-55.510Q-7.063-55.244-7.063-54.928Q-7.063-54.286-7.489-53.972Q-7.915-53.658-8.574-53.658Q-8.847-53.658-9.113-53.752Q-9.378-53.847-9.559-54.036L-9.879-53.697Q-9.897-53.658-9.945-53.658L-9.998-53.658Q-10.020-53.658-10.053-53.686Q-10.086-53.715-10.086-53.741",[1025],[1000,5508,5509],{"transform":5502},[1010,5510],{"d":5511,"fill":1002,"stroke":1002,"className":5512,"style":1026},"M-42.377-43.027L-42.377-43.119Q-42.338-43.339-42.114-43.379L-41.604-43.379L-41.604-46.015L-42.114-46.015Q-42.338-46.064-42.377-46.288L-42.377-46.376Q-42.338-46.600-42.114-46.639L-41.160-46.639Q-40.940-46.600-40.901-46.376L-40.901-46.253Q-40.668-46.455-40.349-46.569Q-40.031-46.683-39.723-46.683Q-39.319-46.683-39.055-46.523Q-38.791-46.363-38.666-46.075Q-38.541-45.787-38.541-45.387L-38.541-43.379L-38.031-43.379Q-37.807-43.339-37.767-43.119L-37.767-43.027Q-37.807-42.799-38.031-42.759L-39.613-42.759Q-39.842-42.799-39.881-43.027L-39.881-43.119Q-39.842-43.339-39.613-43.379L-39.244-43.379L-39.244-45.352Q-39.244-45.712-39.349-45.888Q-39.455-46.064-39.784-46.064Q-40.092-46.064-40.345-45.914Q-40.597-45.765-40.749-45.508Q-40.901-45.251-40.901-44.956L-40.901-43.379L-40.387-43.379Q-40.167-43.339-40.127-43.119L-40.127-43.027Q-40.167-42.799-40.387-42.759L-42.114-42.759Q-42.338-42.799-42.377-43.027M-35.346-42.715Q-35.873-42.715-36.304-42.988Q-36.735-43.260-36.981-43.719Q-37.227-44.178-37.227-44.701Q-37.227-45.097-37.086-45.462Q-36.946-45.826-36.691-46.105Q-36.436-46.384-36.089-46.547Q-35.742-46.710-35.346-46.710Q-34.951-46.710-34.603-46.549Q-34.256-46.389-34.001-46.108Q-33.746-45.826-33.606-45.462Q-33.465-45.097-33.465-44.701Q-33.465-44.178-33.711-43.721Q-33.957-43.264-34.386-42.990Q-34.814-42.715-35.346-42.715M-35.346-43.335Q-34.990-43.335-34.722-43.548Q-34.454-43.761-34.311-44.097Q-34.168-44.433-34.168-44.776Q-34.168-45.106-34.322-45.411Q-34.476-45.717-34.748-45.903Q-35.021-46.090-35.346-46.090Q-35.676-46.090-35.948-45.903Q-36.221-45.717-36.374-45.411Q-36.528-45.106-36.528-44.776Q-36.528-44.231-36.201-43.783Q-35.873-43.335-35.346-43.335M-31.641-43.994L-31.641-46.015L-32.485-46.015Q-32.718-46.064-32.758-46.288L-32.758-46.376Q-32.718-46.600-32.485-46.639L-31.641-46.639L-31.641-47.483Q-31.602-47.698-31.369-47.747L-31.198-47.747Q-30.978-47.698-30.938-47.483L-30.938-46.639L-29.409-46.639Q-29.189-46.600-29.150-46.376L-29.150-46.288Q-29.189-46.064-29.409-46.015L-30.938-46.015L-30.938-44.020Q-30.938-43.335-30.292-43.335Q-30.020-43.335-29.831-43.537Q-29.642-43.739-29.642-44.020Q-29.616-44.249-29.374-44.288L-29.202-44.288Q-29.075-44.266-29.007-44.183Q-28.939-44.099-28.939-43.972Q-28.939-43.612-29.141-43.324Q-29.343-43.036-29.675-42.875Q-30.007-42.715-30.354-42.715Q-30.732-42.715-31.026-42.871Q-31.321-43.027-31.481-43.317Q-31.641-43.607-31.641-43.994",[1025],[1000,5514,5515],{"transform":5502},[1010,5516],{"d":5517,"fill":1002,"stroke":1002,"className":5518,"style":1026},"M-23.206-43.027L-23.206-43.119Q-23.153-43.343-22.938-43.379L-21.909-43.379L-21.909-46.015L-22.872-46.015Q-23.105-46.064-23.144-46.288L-23.144-46.376Q-23.105-46.600-22.872-46.639L-21.909-46.639L-21.909-47.149Q-21.909-47.496-21.694-47.762Q-21.479-48.028-21.151-48.166Q-20.824-48.305-20.481-48.305Q-20.125-48.305-19.862-48.171Q-19.598-48.037-19.598-47.716Q-19.598-47.545-19.719-47.424Q-19.840-47.303-20.011-47.303Q-20.178-47.303-20.294-47.406Q-20.411-47.509-20.433-47.681L-20.543-47.681Q-20.710-47.681-20.864-47.613Q-21.017-47.545-21.114-47.415Q-21.211-47.285-21.211-47.123L-21.211-46.639L-20.055-46.639Q-19.835-46.600-19.796-46.376L-19.796-46.288Q-19.835-46.064-20.055-46.015L-21.211-46.015L-21.211-43.379L-20.182-43.379Q-19.967-43.343-19.914-43.119L-19.914-43.027Q-19.967-42.794-20.182-42.759L-22.938-42.759Q-23.153-42.794-23.206-43.027M-16.447-42.715Q-16.974-42.715-17.405-42.988Q-17.836-43.260-18.082-43.719Q-18.328-44.178-18.328-44.701Q-18.328-45.097-18.187-45.462Q-18.047-45.826-17.792-46.105Q-17.537-46.384-17.190-46.547Q-16.843-46.710-16.447-46.710Q-16.052-46.710-15.704-46.549Q-15.357-46.389-15.102-46.108Q-14.847-45.826-14.707-45.462Q-14.566-45.097-14.566-44.701Q-14.566-44.178-14.812-43.721Q-15.058-43.264-15.487-42.990Q-15.915-42.715-16.447-42.715M-16.447-43.335Q-16.091-43.335-15.823-43.548Q-15.555-43.761-15.412-44.097Q-15.269-44.433-15.269-44.776Q-15.269-45.106-15.423-45.411Q-15.577-45.717-15.849-45.903Q-16.122-46.090-16.447-46.090Q-16.777-46.090-17.049-45.903Q-17.322-45.717-17.475-45.411Q-17.629-45.106-17.629-44.776Q-17.629-44.231-17.302-43.783Q-16.974-43.335-16.447-43.335M-13.257-43.721L-13.257-46.015L-13.766-46.015Q-13.990-46.064-14.030-46.288L-14.030-46.376Q-13.990-46.600-13.766-46.639L-12.813-46.639Q-12.593-46.600-12.553-46.376L-12.553-43.757Q-12.553-43.603-12.479-43.497Q-12.373-43.387-12.224-43.361Q-12.074-43.335-11.850-43.335Q-11.490-43.335-11.193-43.539Q-10.897-43.743-10.897-44.091L-10.897-46.015L-11.411-46.015Q-11.631-46.064-11.670-46.288L-11.670-46.376Q-11.631-46.600-11.411-46.639L-10.457-46.639Q-10.233-46.600-10.194-46.376L-10.194-43.379L-9.684-43.379Q-9.460-43.339-9.420-43.119L-9.420-43.027Q-9.460-42.799-9.684-42.759L-10.629-42.759Q-10.857-42.803-10.897-43.009Q-11.354-42.715-11.921-42.715Q-12.505-42.715-12.881-42.944Q-13.257-43.172-13.257-43.721M-9.306-43.027L-9.306-43.119Q-9.266-43.339-9.042-43.379L-8.532-43.379L-8.532-46.015L-9.042-46.015Q-9.266-46.064-9.306-46.288L-9.306-46.376Q-9.266-46.600-9.042-46.639L-8.089-46.639Q-7.869-46.600-7.829-46.376L-7.829-46.253Q-7.596-46.455-7.278-46.569Q-6.959-46.683-6.652-46.683Q-6.247-46.683-5.984-46.523Q-5.720-46.363-5.595-46.075Q-5.469-45.787-5.469-45.387L-5.469-43.379L-4.960-43.379Q-4.736-43.339-4.696-43.119L-4.696-43.027Q-4.736-42.799-4.960-42.759L-6.542-42.759Q-6.770-42.799-6.810-43.027L-6.810-43.119Q-6.770-43.339-6.542-43.379L-6.173-43.379L-6.173-45.352Q-6.173-45.712-6.278-45.888Q-6.384-46.064-6.713-46.064Q-7.021-46.064-7.273-45.914Q-7.526-45.765-7.678-45.508Q-7.829-45.251-7.829-44.956L-7.829-43.379L-7.315-43.379Q-7.095-43.339-7.056-43.119L-7.056-43.027Q-7.095-42.799-7.315-42.759L-9.042-42.759Q-9.266-42.799-9.306-43.027M-2.565-42.715Q-3.070-42.715-3.481-42.999Q-3.892-43.282-4.118-43.741Q-4.344-44.200-4.344-44.701Q-4.344-45.211-4.101-45.673Q-3.857-46.134-3.424-46.409Q-2.991-46.683-2.472-46.683Q-2.196-46.683-1.927-46.589Q-1.659-46.494-1.448-46.323L-1.448-47.637L-1.963-47.637Q-2.182-47.676-2.222-47.905L-2.222-47.997Q-2.182-48.217-1.963-48.257L-1.009-48.257Q-0.785-48.217-0.745-47.997L-0.745-43.379L-0.236-43.379Q-0.011-43.339 0.028-43.119L0.028-43.027Q-0.011-42.799-0.236-42.759L-1.180-42.759Q-1.409-42.799-1.448-43.027L-1.448-43.172Q-1.677-42.957-1.967-42.836Q-2.257-42.715-2.565-42.715M-2.512-43.335Q-2.112-43.335-1.826-43.644Q-1.541-43.954-1.448-44.372L-1.448-45.299Q-1.514-45.510-1.659-45.686Q-1.804-45.862-1.998-45.963Q-2.191-46.064-2.420-46.064Q-2.771-46.064-3.048-45.868Q-3.325-45.673-3.485-45.354Q-3.646-45.035-3.646-44.693Q-3.646-44.376-3.507-44.058Q-3.369-43.739-3.110-43.537Q-2.850-43.335-2.512-43.335",[1025],[1000,5520,5521,5524,5527],{"style":1145},[1010,5522],{"fill":1015,"d":5523},"M-22.034-42.759h64.16",[1010,5525],{"d":5526},"m45.113-42.759-4.169-1.576 1.383 1.576-1.383 1.577Z",[1000,5528,5530,5533],{"fill":5529},"var(--tk-bg)",[1010,5531],{"stroke":1015,"d":5532},"M-3.443-43.159h31.105V-72.27H-3.443Z",[1000,5534,5535,5542,5548,5554,5560,5566],{"fill":1002,"stroke":1015,"fontFamily":1194,"fontSize":1195},[1000,5536,5538],{"transform":5537},"translate(40.487 -3.456)",[1010,5539],{"d":5540,"fill":1002,"stroke":1002,"className":5541,"style":1183},"M-39.908-61.759L-41.764-61.759L-41.764-62.056Q-41.490-62.056-41.322-62.103Q-41.154-62.150-41.154-62.318L-41.154-66.478Q-41.154-66.693-41.217-66.788Q-41.279-66.884-41.398-66.905Q-41.517-66.927-41.764-66.927L-41.764-67.224L-40.541-67.310L-40.541-64.607Q-40.416-64.818-40.228-64.968Q-40.041-65.118-39.814-65.202Q-39.588-65.286-39.342-65.286Q-38.174-65.286-38.174-64.208L-38.174-62.318Q-38.174-62.150-38.004-62.103Q-37.834-62.056-37.564-62.056L-37.564-61.759L-39.420-61.759L-39.420-62.056Q-39.146-62.056-38.978-62.103Q-38.810-62.150-38.810-62.318L-38.810-64.193Q-38.810-64.575-38.931-64.804Q-39.053-65.032-39.404-65.032Q-39.717-65.032-39.971-64.870Q-40.224-64.708-40.371-64.439Q-40.517-64.169-40.517-63.872L-40.517-62.318Q-40.517-62.150-40.347-62.103Q-40.178-62.056-39.908-62.056L-39.908-61.759M-37.021-62.591Q-37.021-63.075-36.619-63.370Q-36.217-63.665-35.666-63.784Q-35.115-63.904-34.623-63.904L-34.623-64.193Q-34.623-64.419-34.738-64.626Q-34.853-64.833-35.051-64.952Q-35.248-65.072-35.478-65.072Q-35.904-65.072-36.189-64.966Q-36.119-64.939-36.072-64.884Q-36.025-64.829-36-64.759Q-35.974-64.689-35.974-64.614Q-35.974-64.509-36.025-64.417Q-36.076-64.325-36.168-64.275Q-36.260-64.224-36.365-64.224Q-36.471-64.224-36.562-64.275Q-36.654-64.325-36.705-64.417Q-36.756-64.509-36.756-64.614Q-36.756-65.032-36.367-65.179Q-35.978-65.325-35.478-65.325Q-35.146-65.325-34.793-65.195Q-34.439-65.064-34.211-64.810Q-33.982-64.556-33.982-64.208L-33.982-62.407Q-33.982-62.275-33.910-62.165Q-33.838-62.056-33.709-62.056Q-33.584-62.056-33.515-62.161Q-33.447-62.267-33.447-62.407L-33.447-62.919L-33.166-62.919L-33.166-62.407Q-33.166-62.204-33.283-62.046Q-33.400-61.888-33.582-61.804Q-33.764-61.720-33.967-61.720Q-34.197-61.720-34.349-61.892Q-34.502-62.064-34.533-62.294Q-34.693-62.013-35.002-61.847Q-35.310-61.681-35.662-61.681Q-36.174-61.681-36.597-61.904Q-37.021-62.126-37.021-62.591M-36.334-62.591Q-36.334-62.306-36.107-62.120Q-35.881-61.935-35.588-61.935Q-35.342-61.935-35.117-62.052Q-34.892-62.169-34.758-62.372Q-34.623-62.575-34.623-62.829L-34.623-63.661Q-34.889-63.661-35.174-63.607Q-35.459-63.552-35.730-63.423Q-36.002-63.294-36.168-63.087Q-36.334-62.880-36.334-62.591M-30.865-61.759L-32.846-61.759L-32.846-62.056Q-32.576-62.056-32.408-62.101Q-32.240-62.146-32.240-62.318L-32.240-64.454Q-32.240-64.669-32.303-64.765Q-32.365-64.861-32.482-64.882Q-32.599-64.904-32.846-64.904L-32.846-65.200L-31.678-65.286L-31.678-64.501Q-31.599-64.712-31.447-64.898Q-31.295-65.083-31.096-65.185Q-30.896-65.286-30.670-65.286Q-30.424-65.286-30.232-65.142Q-30.041-64.997-30.041-64.767Q-30.041-64.611-30.146-64.501Q-30.252-64.392-30.408-64.392Q-30.564-64.392-30.674-64.501Q-30.783-64.611-30.783-64.767Q-30.783-64.927-30.678-65.032Q-31.002-65.032-31.217-64.804Q-31.431-64.575-31.527-64.236Q-31.623-63.896-31.623-63.591L-31.623-62.318Q-31.623-62.150-31.396-62.103Q-31.170-62.056-30.865-62.056L-30.865-61.759M-27.744-61.681Q-28.224-61.681-28.633-61.925Q-29.041-62.169-29.279-62.583Q-29.517-62.997-29.517-63.486Q-29.517-63.978-29.260-64.394Q-29.002-64.810-28.570-65.048Q-28.139-65.286-27.646-65.286Q-27.025-65.286-26.576-64.849L-26.576-66.478Q-26.576-66.693-26.639-66.788Q-26.701-66.884-26.818-66.905Q-26.935-66.927-27.181-66.927L-27.181-67.224L-25.959-67.310L-25.959-62.501Q-25.959-62.290-25.896-62.195Q-25.834-62.099-25.717-62.077Q-25.599-62.056-25.349-62.056L-25.349-61.759L-26.599-61.681L-26.599-62.165Q-27.064-61.681-27.744-61.681M-27.678-61.935Q-27.338-61.935-27.045-62.126Q-26.752-62.318-26.599-62.614L-26.599-64.447Q-26.748-64.720-27.010-64.876Q-27.271-65.032-27.584-65.032Q-28.209-65.032-28.492-64.585Q-28.775-64.138-28.775-63.478Q-28.775-62.833-28.523-62.384Q-28.271-61.935-27.678-61.935",[1025],[1000,5543,5544],{"transform":5537},[1010,5545],{"d":5546,"fill":1002,"stroke":1002,"className":5547,"style":1183},"M-21.373-62.720L-21.373-64.911L-22.076-64.911L-22.076-65.165Q-21.720-65.165-21.478-65.398Q-21.236-65.630-21.125-65.978Q-21.013-66.325-21.013-66.681L-20.732-66.681L-20.732-65.208L-19.556-65.208L-19.556-64.911L-20.732-64.911L-20.732-62.736Q-20.732-62.415-20.613-62.187Q-20.494-61.958-20.213-61.958Q-20.033-61.958-19.916-62.081Q-19.799-62.204-19.746-62.384Q-19.693-62.564-19.693-62.736L-19.693-63.208L-19.412-63.208L-19.412-62.720Q-19.412-62.466-19.517-62.226Q-19.623-61.986-19.820-61.833Q-20.017-61.681-20.275-61.681Q-20.591-61.681-20.843-61.804Q-21.095-61.927-21.234-62.161Q-21.373-62.396-21.373-62.720M-18.693-63.454Q-18.693-63.958-18.437-64.390Q-18.181-64.822-17.746-65.073Q-17.310-65.325-16.810-65.325Q-16.424-65.325-16.082-65.181Q-15.740-65.036-15.478-64.775Q-15.216-64.513-15.074-64.177Q-14.931-63.841-14.931-63.454Q-14.931-62.962-15.195-62.552Q-15.459-62.142-15.888-61.911Q-16.318-61.681-16.810-61.681Q-17.302-61.681-17.736-61.913Q-18.170-62.146-18.431-62.554Q-18.693-62.962-18.693-63.454M-16.810-61.958Q-16.353-61.958-16.101-62.181Q-15.849-62.404-15.761-62.755Q-15.674-63.107-15.674-63.552Q-15.674-63.982-15.767-64.320Q-15.861-64.657-16.115-64.864Q-16.369-65.072-16.810-65.072Q-17.459-65.072-17.703-64.655Q-17.947-64.239-17.947-63.552Q-17.947-63.107-17.859-62.755Q-17.771-62.404-17.519-62.181Q-17.267-61.958-16.810-61.958",[1025],[1000,5549,5550],{"transform":5537},[1010,5551],{"d":5552,"fill":1002,"stroke":1002,"className":5553,"style":1183},"M-36.296-50.708L-38.151-50.708L-38.151-51.001Q-37.882-51.001-37.714-51.046Q-37.546-51.091-37.546-51.267L-37.546-55.091Q-37.546-55.298-37.702-55.351Q-37.858-55.404-38.151-55.404L-38.151-55.700L-36.929-55.786L-36.929-55.322Q-36.698-55.544-36.384-55.665Q-36.069-55.786-35.730-55.786Q-35.257-55.786-34.853-55.540Q-34.448-55.294-34.216-54.878Q-33.983-54.462-33.983-53.986Q-33.983-53.611-34.132-53.282Q-34.280-52.954-34.550-52.702Q-34.819-52.450-35.163-52.316Q-35.507-52.181-35.866-52.181Q-36.155-52.181-36.427-52.302Q-36.698-52.423-36.905-52.634L-36.905-51.267Q-36.905-51.091-36.737-51.046Q-36.569-51.001-36.296-51.001L-36.296-50.708M-36.905-54.923L-36.905-53.083Q-36.753-52.794-36.491-52.614Q-36.230-52.435-35.921-52.435Q-35.636-52.435-35.413-52.573Q-35.190-52.712-35.038-52.943Q-34.886-53.173-34.808-53.445Q-34.730-53.716-34.730-53.986Q-34.730-54.318-34.855-54.675Q-34.980-55.032-35.228-55.269Q-35.476-55.505-35.823-55.505Q-36.147-55.505-36.442-55.349Q-36.737-55.193-36.905-54.923M-31.452-52.259L-33.433-52.259L-33.433-52.556Q-33.163-52.556-32.995-52.601Q-32.827-52.646-32.827-52.818L-32.827-54.954Q-32.827-55.169-32.890-55.265Q-32.952-55.361-33.069-55.382Q-33.187-55.404-33.433-55.404L-33.433-55.700L-32.265-55.786L-32.265-55.001Q-32.187-55.212-32.034-55.398Q-31.882-55.583-31.683-55.685Q-31.483-55.786-31.257-55.786Q-31.011-55.786-30.819-55.642Q-30.628-55.497-30.628-55.267Q-30.628-55.111-30.733-55.001Q-30.839-54.892-30.995-54.892Q-31.151-54.892-31.261-55.001Q-31.370-55.111-31.370-55.267Q-31.370-55.427-31.265-55.532Q-31.589-55.532-31.804-55.304Q-32.019-55.075-32.114-54.736Q-32.210-54.396-32.210-54.091L-32.210-52.818Q-32.210-52.650-31.983-52.603Q-31.757-52.556-31.452-52.556L-31.452-52.259M-30.147-53.954Q-30.147-54.458-29.892-54.890Q-29.636-55.322-29.200-55.573Q-28.765-55.825-28.265-55.825Q-27.878-55.825-27.536-55.681Q-27.194-55.536-26.933-55.275Q-26.671-55.013-26.528-54.677Q-26.386-54.341-26.386-53.954Q-26.386-53.462-26.649-53.052Q-26.913-52.642-27.343-52.411Q-27.772-52.181-28.265-52.181Q-28.757-52.181-29.190-52.413Q-29.624-52.646-29.886-53.054Q-30.147-53.462-30.147-53.954M-28.265-52.458Q-27.808-52.458-27.556-52.681Q-27.304-52.904-27.216-53.255Q-27.128-53.607-27.128-54.052Q-27.128-54.482-27.222-54.820Q-27.315-55.157-27.569-55.364Q-27.823-55.572-28.265-55.572Q-28.913-55.572-29.157-55.155Q-29.401-54.739-29.401-54.052Q-29.401-53.607-29.313-53.255Q-29.226-52.904-28.974-52.681Q-28.722-52.458-28.265-52.458",[1025],[1000,5555,5556],{"transform":5537},[1010,5557],{"d":5558,"fill":1002,"stroke":1002,"className":5559,"style":1183},"M-24.329-52.290L-25.552-55.146Q-25.634-55.322-25.778-55.366Q-25.923-55.411-26.192-55.411L-26.192-55.708L-24.481-55.708L-24.481-55.411Q-24.903-55.411-24.903-55.228Q-24.903-55.193-24.888-55.146L-23.942-52.954L-23.102-54.931Q-23.063-55.009-23.063-55.099Q-23.063-55.239-23.169-55.325Q-23.274-55.411-23.415-55.411L-23.415-55.708L-22.063-55.708L-22.063-55.411Q-22.587-55.411-22.802-54.931L-23.927-52.290Q-23.989-52.181-24.095-52.181L-24.161-52.181Q-24.274-52.181-24.329-52.290",[1025],[1000,5561,5562],{"transform":5537},[1010,5563],{"d":5564,"fill":1002,"stroke":1002,"className":5565,"style":1183},"M-21.880-54.013Q-21.880-54.493-21.647-54.909Q-21.415-55.325-21.005-55.575Q-20.595-55.825-20.118-55.825Q-19.388-55.825-18.989-55.384Q-18.591-54.943-18.591-54.212Q-18.591-54.107-18.684-54.083L-21.134-54.083L-21.134-54.013Q-21.134-53.603-21.013-53.247Q-20.891-52.892-20.620-52.675Q-20.348-52.458-19.919-52.458Q-19.555-52.458-19.259-52.687Q-18.962-52.915-18.860-53.267Q-18.852-53.314-18.766-53.329L-18.684-53.329Q-18.591-53.302-18.591-53.220Q-18.591-53.212-18.598-53.181Q-18.661-52.954-18.800-52.771Q-18.938-52.587-19.130-52.454Q-19.321-52.322-19.540-52.251Q-19.759-52.181-19.997-52.181Q-20.368-52.181-20.706-52.318Q-21.044-52.454-21.311-52.706Q-21.579-52.958-21.729-53.298Q-21.880-53.638-21.880-54.013M-21.126-54.322L-19.165-54.322Q-19.165-54.626-19.266-54.917Q-19.368-55.208-19.585-55.390Q-19.802-55.572-20.118-55.572Q-20.419-55.572-20.649-55.384Q-20.880-55.197-21.003-54.905Q-21.126-54.614-21.126-54.322",[1025],[1000,5567,5568],{"transform":5537},[1010,5569],{"d":5570,"fill":1002,"stroke":1002,"className":5571,"style":1183},"M-40.375-42.681Q-40.856-42.681-41.264-42.925Q-41.672-43.169-41.910-43.583Q-42.149-43.997-42.149-44.486Q-42.149-44.978-41.891-45.394Q-41.633-45.810-41.201-46.048Q-40.770-46.286-40.278-46.286Q-39.657-46.286-39.207-45.849L-39.207-47.478Q-39.207-47.693-39.270-47.788Q-39.332-47.884-39.450-47.905Q-39.567-47.927-39.813-47.927L-39.813-48.224L-38.590-48.310L-38.590-43.501Q-38.590-43.290-38.528-43.195Q-38.465-43.099-38.348-43.077Q-38.231-43.056-37.981-43.056L-37.981-42.759L-39.231-42.681L-39.231-43.165Q-39.696-42.681-40.375-42.681M-40.309-42.935Q-39.969-42.935-39.676-43.126Q-39.383-43.318-39.231-43.614L-39.231-45.447Q-39.379-45.720-39.641-45.876Q-39.903-46.032-40.215-46.032Q-40.840-46.032-41.123-45.585Q-41.407-45.138-41.407-44.478Q-41.407-43.833-41.155-43.384Q-40.903-42.935-40.309-42.935M-35.614-42.759L-37.391-42.759L-37.391-43.056Q-37.117-43.056-36.950-43.103Q-36.782-43.150-36.782-43.318L-36.782-45.454Q-36.782-45.669-36.838-45.765Q-36.895-45.861-37.008-45.882Q-37.121-45.904-37.367-45.904L-37.367-46.200L-36.168-46.286L-36.168-43.318Q-36.168-43.150-36.022-43.103Q-35.875-43.056-35.614-43.056L-35.614-42.759M-37.055-47.681Q-37.055-47.872-36.920-48.003Q-36.785-48.134-36.590-48.134Q-36.469-48.134-36.366-48.072Q-36.262-48.009-36.200-47.905Q-36.137-47.802-36.137-47.681Q-36.137-47.486-36.268-47.351Q-36.399-47.216-36.590-47.216Q-36.789-47.216-36.922-47.349Q-37.055-47.482-37.055-47.681M-33.106-42.759L-35.086-42.759L-35.086-43.056Q-34.817-43.056-34.649-43.101Q-34.481-43.146-34.481-43.318L-34.481-45.454Q-34.481-45.669-34.543-45.765Q-34.606-45.861-34.723-45.882Q-34.840-45.904-35.086-45.904L-35.086-46.200L-33.918-46.286L-33.918-45.501Q-33.840-45.712-33.688-45.898Q-33.535-46.083-33.336-46.185Q-33.137-46.286-32.910-46.286Q-32.664-46.286-32.473-46.142Q-32.282-45.997-32.282-45.767Q-32.282-45.611-32.387-45.501Q-32.492-45.392-32.649-45.392Q-32.805-45.392-32.914-45.501Q-33.024-45.611-33.024-45.767Q-33.024-45.927-32.918-46.032Q-33.242-46.032-33.457-45.804Q-33.672-45.575-33.768-45.236Q-33.864-44.896-33.864-44.591L-33.864-43.318Q-33.864-43.150-33.637-43.103Q-33.410-43.056-33.106-43.056L-33.106-42.759M-31.801-44.513Q-31.801-44.993-31.569-45.409Q-31.336-45.825-30.926-46.075Q-30.516-46.325-30.039-46.325Q-29.309-46.325-28.910-45.884Q-28.512-45.443-28.512-44.712Q-28.512-44.607-28.606-44.583L-31.055-44.583L-31.055-44.513Q-31.055-44.103-30.934-43.747Q-30.813-43.392-30.541-43.175Q-30.270-42.958-29.840-42.958Q-29.477-42.958-29.180-43.187Q-28.883-43.415-28.782-43.767Q-28.774-43.814-28.688-43.829L-28.606-43.829Q-28.512-43.802-28.512-43.720Q-28.512-43.712-28.520-43.681Q-28.582-43.454-28.721-43.271Q-28.860-43.087-29.051-42.954Q-29.242-42.822-29.461-42.751Q-29.680-42.681-29.918-42.681Q-30.289-42.681-30.627-42.818Q-30.965-42.954-31.233-43.206Q-31.500-43.458-31.651-43.798Q-31.801-44.138-31.801-44.513M-31.047-44.822L-29.086-44.822Q-29.086-45.126-29.188-45.417Q-29.289-45.708-29.506-45.890Q-29.723-46.072-30.039-46.072Q-30.340-46.072-30.571-45.884Q-30.801-45.697-30.924-45.405Q-31.047-45.114-31.047-44.822M-27.981-44.486Q-27.981-44.982-27.731-45.407Q-27.481-45.833-27.061-46.079Q-26.641-46.325-26.141-46.325Q-25.602-46.325-25.211-46.200Q-24.821-46.075-24.821-45.661Q-24.821-45.556-24.871-45.464Q-24.922-45.372-25.014-45.322Q-25.106-45.271-25.215-45.271Q-25.321-45.271-25.412-45.322Q-25.504-45.372-25.555-45.464Q-25.606-45.556-25.606-45.661Q-25.606-45.884-25.438-45.989Q-25.660-46.048-26.133-46.048Q-26.430-46.048-26.645-45.909Q-26.860-45.771-26.991-45.540Q-27.121-45.310-27.180-45.040Q-27.239-44.771-27.239-44.486Q-27.239-44.091-27.106-43.741Q-26.973-43.392-26.701-43.175Q-26.430-42.958-26.032-42.958Q-25.657-42.958-25.381-43.175Q-25.106-43.392-25.004-43.751Q-24.989-43.814-24.926-43.814L-24.821-43.814Q-24.785-43.814-24.760-43.786Q-24.735-43.759-24.735-43.720L-24.735-43.697Q-24.867-43.216-25.252-42.948Q-25.637-42.681-26.141-42.681Q-26.504-42.681-26.838-42.818Q-27.172-42.954-27.432-43.204Q-27.692-43.454-27.836-43.790Q-27.981-44.126-27.981-44.486M-23.621-43.720L-23.621-45.911L-24.325-45.911L-24.325-46.165Q-23.969-46.165-23.727-46.398Q-23.485-46.630-23.373-46.978Q-23.262-47.325-23.262-47.681L-22.981-47.681L-22.981-46.208L-21.805-46.208L-21.805-45.911L-22.981-45.911L-22.981-43.736Q-22.981-43.415-22.862-43.187Q-22.742-42.958-22.461-42.958Q-22.282-42.958-22.164-43.081Q-22.047-43.204-21.994-43.384Q-21.942-43.564-21.942-43.736L-21.942-44.208L-21.660-44.208L-21.660-43.720Q-21.660-43.466-21.766-43.226Q-21.871-42.986-22.069-42.833Q-22.266-42.681-22.524-42.681Q-22.840-42.681-23.092-42.804Q-23.344-42.927-23.483-43.161Q-23.621-43.396-23.621-43.720M-19.028-42.759L-20.860-42.759L-20.860-43.056Q-20.586-43.056-20.418-43.103Q-20.250-43.150-20.250-43.318L-20.250-47.478Q-20.250-47.693-20.313-47.788Q-20.375-47.884-20.494-47.905Q-20.614-47.927-20.860-47.927L-20.860-48.224L-19.637-48.310L-19.637-43.318Q-19.637-43.150-19.469-43.103Q-19.301-43.056-19.028-43.056L-19.028-42.759M-18.164-41.462Q-18.051-41.384-17.875-41.384Q-17.586-41.384-17.366-41.597Q-17.145-41.810-17.020-42.111L-16.731-42.759L-18.004-45.646Q-18.086-45.822-18.231-45.866Q-18.375-45.911-18.645-45.911L-18.645-46.208L-16.926-46.208L-16.926-45.911Q-17.348-45.911-17.348-45.728Q-17.348-45.716-17.332-45.646L-16.395-43.521L-15.563-45.431Q-15.524-45.521-15.524-45.599Q-15.524-45.739-15.625-45.825Q-15.727-45.911-15.867-45.911L-15.867-46.208L-14.516-46.208L-14.516-45.911Q-14.770-45.911-14.963-45.786Q-15.157-45.661-15.262-45.431L-16.707-42.111Q-16.821-41.857-16.987-41.634Q-17.153-41.411-17.381-41.269Q-17.610-41.126-17.875-41.126Q-18.172-41.126-18.412-41.318Q-18.653-41.509-18.653-41.798Q-18.653-41.954-18.547-42.056Q-18.442-42.157-18.293-42.157Q-18.188-42.157-18.108-42.111Q-18.028-42.064-17.981-41.986Q-17.934-41.907-17.934-41.798Q-17.934-41.677-17.994-41.589Q-18.055-41.501-18.164-41.462",[1025],[1000,5573,5574,5577],{"fill":1006},[1010,5575],{"d":5576},"M-23.458.188h-37.945a4 4 0 0 0-4 4v25.608a4 4 0 0 0 4 4h37.945a4 4 0 0 0 4-4V4.188a4 4 0 0 0-4-4Zm-41.945 33.608",[1000,5578,5579,5586],{"fill":1002,"stroke":1015,"fontSize":1017},[1000,5580,5582],{"transform":5581},"translate(-14.437 68.019)",[1010,5583],{"d":5584,"fill":1002,"stroke":1002,"className":5585,"style":1026},"M-39.947-53.759L-42.180-53.759L-42.180-54.075Q-41.867-54.075-41.676-54.128Q-41.485-54.181-41.485-54.370L-41.485-56.818Q-41.485-57.059-41.555-57.167Q-41.626-57.275-41.760-57.299Q-41.894-57.323-42.180-57.323L-42.180-57.639L-40.866-57.736L-40.866-56.875Q-40.703-57.266-40.435-57.501Q-40.167-57.736-39.776-57.736Q-39.503-57.736-39.288-57.573Q-39.073-57.411-39.073-57.152Q-39.073-56.976-39.191-56.857Q-39.310-56.738-39.486-56.738Q-39.666-56.738-39.784-56.857Q-39.903-56.976-39.903-57.152Q-39.903-57.367-39.749-57.477L-39.767-57.477Q-40.145-57.477-40.378-57.215Q-40.611-56.954-40.710-56.567Q-40.808-56.180-40.808-55.820L-40.808-54.370Q-40.808-54.181-40.551-54.128Q-40.294-54.075-39.947-54.075L-39.947-53.759M-36.502-53.658Q-37.060-53.658-37.532-53.941Q-38.005-54.225-38.279-54.702Q-38.554-55.178-38.554-55.732Q-38.554-56.128-38.411-56.503Q-38.268-56.879-38.011-57.167Q-37.754-57.455-37.396-57.624Q-37.038-57.793-36.634-57.793Q-36.089-57.793-35.717-57.556Q-35.346-57.319-35.159-56.901Q-34.972-56.484-34.972-55.947Q-34.972-55.895-34.997-55.857Q-35.021-55.820-35.069-55.820L-37.741-55.820L-37.741-55.741Q-37.741-54.994-37.429-54.471Q-37.117-53.948-36.418-53.948Q-36.014-53.948-35.693-54.205Q-35.372-54.462-35.249-54.866Q-35.232-54.946-35.148-54.946L-35.069-54.946Q-35.030-54.946-35.001-54.915Q-34.972-54.884-34.972-54.840L-34.972-54.805Q-35.078-54.462-35.300-54.203Q-35.522-53.944-35.836-53.801Q-36.150-53.658-36.502-53.658M-37.732-56.071L-35.618-56.071Q-35.618-56.339-35.671-56.585Q-35.724-56.831-35.845-57.053Q-35.966-57.275-36.163-57.402Q-36.361-57.530-36.634-57.530Q-36.976-57.530-37.229-57.305Q-37.482-57.081-37.607-56.743Q-37.732-56.405-37.732-56.071M-33.764-54.831L-33.764-57.323L-34.529-57.323L-34.529-57.582Q-34.124-57.582-33.858-57.848Q-33.593-58.114-33.472-58.514Q-33.351-58.914-33.351-59.296L-33.061-59.296L-33.061-57.639L-31.773-57.639L-31.773-57.323L-33.061-57.323L-33.061-54.866Q-33.061-54.497-32.936-54.223Q-32.810-53.948-32.485-53.948Q-32.186-53.948-32.048-54.242Q-31.909-54.537-31.909-54.866L-31.909-55.389L-31.624-55.389L-31.624-54.831Q-31.624-54.554-31.734-54.282Q-31.844-54.009-32.057-53.834Q-32.270-53.658-32.551-53.658Q-32.911-53.658-33.184-53.796Q-33.456-53.935-33.610-54.198Q-33.764-54.462-33.764-54.831M-30.121-54.831L-30.121-56.818Q-30.121-57.059-30.191-57.167Q-30.262-57.275-30.396-57.299Q-30.530-57.323-30.811-57.323L-30.811-57.639L-29.418-57.736L-29.418-54.866Q-29.418-54.488-29.372-54.302Q-29.326-54.115-29.154-54.018Q-28.983-53.922-28.627-53.922Q-28.293-53.922-28.053-54.113Q-27.814-54.304-27.689-54.607Q-27.563-54.910-27.563-55.227L-27.563-56.818Q-27.563-57.059-27.634-57.167Q-27.704-57.275-27.838-57.299Q-27.972-57.323-28.258-57.323L-28.258-57.639L-26.860-57.736L-26.860-54.576Q-26.860-54.339-26.790-54.231Q-26.720-54.124-26.586-54.100Q-26.451-54.075-26.170-54.075L-26.170-53.759L-27.537-53.658L-27.537-54.379Q-27.704-54.053-28.009-53.856Q-28.315-53.658-28.671-53.658Q-29.330-53.658-29.725-53.928Q-30.121-54.198-30.121-54.831M-23.490-53.759L-25.722-53.759L-25.722-54.075Q-25.410-54.075-25.219-54.128Q-25.028-54.181-25.028-54.370L-25.028-56.818Q-25.028-57.059-25.098-57.167Q-25.168-57.275-25.302-57.299Q-25.436-57.323-25.722-57.323L-25.722-57.639L-24.408-57.736L-24.408-56.875Q-24.245-57.266-23.977-57.501Q-23.709-57.736-23.318-57.736Q-23.046-57.736-22.830-57.573Q-22.615-57.411-22.615-57.152Q-22.615-56.976-22.734-56.857Q-22.852-56.738-23.028-56.738Q-23.208-56.738-23.327-56.857Q-23.446-56.976-23.446-57.152Q-23.446-57.367-23.292-57.477L-23.309-57.477Q-23.687-57.477-23.920-57.215Q-24.153-56.954-24.252-56.567Q-24.351-56.180-24.351-55.820L-24.351-54.370Q-24.351-54.181-24.094-54.128Q-23.837-54.075-23.490-54.075L-23.490-53.759M-19.970-53.759L-22.057-53.759L-22.057-54.075Q-21.749-54.075-21.558-54.128Q-21.367-54.181-21.367-54.370L-21.367-56.818Q-21.367-57.059-21.437-57.167Q-21.508-57.275-21.642-57.299Q-21.776-57.323-22.057-57.323L-22.057-57.639L-20.717-57.736L-20.717-56.901Q-20.519-57.283-20.165-57.510Q-19.811-57.736-19.385-57.736Q-18.106-57.736-18.106-56.523L-18.106-54.370Q-18.106-54.181-17.915-54.128Q-17.724-54.075-17.416-54.075L-17.416-53.759L-19.504-53.759L-19.504-54.075Q-19.192-54.075-19.001-54.128Q-18.809-54.181-18.809-54.370L-18.809-56.488Q-18.809-56.747-18.853-56.969Q-18.897-57.191-19.042-57.334Q-19.187-57.477-19.447-57.477Q-19.789-57.477-20.071-57.288Q-20.352-57.099-20.508-56.787Q-20.664-56.475-20.664-56.128L-20.664-54.370Q-20.664-54.181-20.471-54.128Q-20.277-54.075-19.970-54.075L-19.970-53.759M-16.911-53.741L-16.911-55.183Q-16.911-55.214-16.882-55.238Q-16.854-55.262-16.823-55.262L-16.713-55.262Q-16.678-55.262-16.656-55.240Q-16.634-55.218-16.625-55.183Q-16.366-53.922-15.399-53.922Q-14.973-53.922-14.679-54.106Q-14.384-54.291-14.384-54.695Q-14.384-54.989-14.615-55.185Q-14.846-55.381-15.158-55.442L-15.760-55.561Q-16.225-55.649-16.568-55.932Q-16.911-56.216-16.911-56.655Q-16.911-57.248-16.474-57.521Q-16.036-57.793-15.399-57.793Q-14.920-57.793-14.573-57.547L-14.323-57.771Q-14.265-57.793-14.265-57.793L-14.213-57.793Q-14.186-57.793-14.153-57.767Q-14.120-57.740-14.120-57.710L-14.120-56.550Q-14.120-56.519-14.156-56.492Q-14.191-56.466-14.213-56.466L-14.323-56.466Q-14.345-56.466-14.378-56.495Q-14.410-56.523-14.410-56.550Q-14.410-57.015-14.676-57.286Q-14.942-57.556-15.408-57.556Q-15.812-57.556-16.116-57.411Q-16.419-57.266-16.419-56.910Q-16.419-56.664-16.201-56.510Q-15.984-56.356-15.707-56.299L-15.078-56.172Q-14.762-56.110-14.492-55.943Q-14.222-55.776-14.055-55.510Q-13.888-55.244-13.888-54.928Q-13.888-54.286-14.314-53.972Q-14.740-53.658-15.399-53.658Q-15.672-53.658-15.938-53.752Q-16.203-53.847-16.384-54.036L-16.704-53.697Q-16.722-53.658-16.770-53.658L-16.823-53.658Q-16.845-53.658-16.878-53.686Q-16.911-53.715-16.911-53.741",[1025],[1000,5587,5588],{"transform":5581},[1010,5589],{"d":5590,"fill":1002,"stroke":1002,"className":5591,"style":1026},"M-39.481-43.027L-39.481-43.119Q-39.428-43.343-39.213-43.379L-38.184-43.379L-38.184-46.015L-39.147-46.015Q-39.380-46.064-39.419-46.288L-39.419-46.376Q-39.380-46.600-39.147-46.639L-38.184-46.639L-38.184-47.149Q-38.184-47.496-37.969-47.762Q-37.754-48.028-37.426-48.166Q-37.099-48.305-36.756-48.305Q-36.400-48.305-36.137-48.171Q-35.873-48.037-35.873-47.716Q-35.873-47.545-35.994-47.424Q-36.115-47.303-36.286-47.303Q-36.453-47.303-36.569-47.406Q-36.686-47.509-36.708-47.681L-36.818-47.681Q-36.985-47.681-37.139-47.613Q-37.292-47.545-37.389-47.415Q-37.486-47.285-37.486-47.123L-37.486-46.639L-36.330-46.639Q-36.110-46.600-36.071-46.376L-36.071-46.288Q-36.110-46.064-36.330-46.015L-37.486-46.015L-37.486-43.379L-36.457-43.379Q-36.242-43.343-36.189-43.119L-36.189-43.027Q-36.242-42.794-36.457-42.759L-39.213-42.759Q-39.428-42.794-39.481-43.027M-32.722-42.715Q-33.249-42.715-33.680-42.988Q-34.111-43.260-34.357-43.719Q-34.603-44.178-34.603-44.701Q-34.603-45.097-34.462-45.462Q-34.322-45.826-34.067-46.105Q-33.812-46.384-33.465-46.547Q-33.118-46.710-32.722-46.710Q-32.327-46.710-31.979-46.549Q-31.632-46.389-31.377-46.108Q-31.122-45.826-30.982-45.462Q-30.841-45.097-30.841-44.701Q-30.841-44.178-31.087-43.721Q-31.333-43.264-31.762-42.990Q-32.190-42.715-32.722-42.715M-32.722-43.335Q-32.366-43.335-32.098-43.548Q-31.830-43.761-31.687-44.097Q-31.544-44.433-31.544-44.776Q-31.544-45.106-31.698-45.411Q-31.852-45.717-32.124-45.903Q-32.397-46.090-32.722-46.090Q-33.052-46.090-33.324-45.903Q-33.597-45.717-33.750-45.411Q-33.904-45.106-33.904-44.776Q-33.904-44.231-33.577-43.783Q-33.249-43.335-32.722-43.335M-29.532-43.721L-29.532-46.015L-30.041-46.015Q-30.265-46.064-30.305-46.288L-30.305-46.376Q-30.265-46.600-30.041-46.639L-29.088-46.639Q-28.868-46.600-28.828-46.376L-28.828-43.757Q-28.828-43.603-28.754-43.497Q-28.648-43.387-28.499-43.361Q-28.349-43.335-28.125-43.335Q-27.765-43.335-27.468-43.539Q-27.172-43.743-27.172-44.091L-27.172-46.015L-27.686-46.015Q-27.906-46.064-27.945-46.288L-27.945-46.376Q-27.906-46.600-27.686-46.639L-26.732-46.639Q-26.508-46.600-26.469-46.376L-26.469-43.379L-25.959-43.379Q-25.735-43.339-25.695-43.119L-25.695-43.027Q-25.735-42.799-25.959-42.759L-26.904-42.759Q-27.132-42.803-27.172-43.009Q-27.629-42.715-28.196-42.715Q-28.780-42.715-29.156-42.944Q-29.532-43.172-29.532-43.721M-25.581-43.027L-25.581-43.119Q-25.541-43.339-25.317-43.379L-24.807-43.379L-24.807-46.015L-25.317-46.015Q-25.541-46.064-25.581-46.288L-25.581-46.376Q-25.541-46.600-25.317-46.639L-24.364-46.639Q-24.144-46.600-24.104-46.376L-24.104-46.253Q-23.871-46.455-23.553-46.569Q-23.234-46.683-22.927-46.683Q-22.522-46.683-22.259-46.523Q-21.995-46.363-21.870-46.075Q-21.744-45.787-21.744-45.387L-21.744-43.379L-21.235-43.379Q-21.011-43.339-20.971-43.119L-20.971-43.027Q-21.011-42.799-21.235-42.759L-22.817-42.759Q-23.045-42.799-23.085-43.027L-23.085-43.119Q-23.045-43.339-22.817-43.379L-22.448-43.379L-22.448-45.352Q-22.448-45.712-22.553-45.888Q-22.659-46.064-22.988-46.064Q-23.296-46.064-23.548-45.914Q-23.801-45.765-23.953-45.508Q-24.104-45.251-24.104-44.956L-24.104-43.379L-23.590-43.379Q-23.370-43.339-23.331-43.119L-23.331-43.027Q-23.370-42.799-23.590-42.759L-25.317-42.759Q-25.541-42.799-25.581-43.027M-18.840-42.715Q-19.345-42.715-19.756-42.999Q-20.167-43.282-20.393-43.741Q-20.619-44.200-20.619-44.701Q-20.619-45.211-20.376-45.673Q-20.132-46.134-19.699-46.409Q-19.266-46.683-18.747-46.683Q-18.471-46.683-18.202-46.589Q-17.934-46.494-17.723-46.323L-17.723-47.637L-18.238-47.637Q-18.457-47.676-18.497-47.905L-18.497-47.997Q-18.457-48.217-18.238-48.257L-17.284-48.257Q-17.060-48.217-17.020-47.997L-17.020-43.379L-16.511-43.379Q-16.286-43.339-16.247-43.119L-16.247-43.027Q-16.286-42.799-16.511-42.759L-17.455-42.759Q-17.684-42.799-17.723-43.027L-17.723-43.172Q-17.952-42.957-18.242-42.836Q-18.532-42.715-18.840-42.715M-18.787-43.335Q-18.387-43.335-18.101-43.644Q-17.816-43.954-17.723-44.372L-17.723-45.299Q-17.789-45.510-17.934-45.686Q-18.079-45.862-18.273-45.963Q-18.466-46.064-18.695-46.064Q-19.046-46.064-19.323-45.868Q-19.600-45.673-19.760-45.354Q-19.921-45.035-19.921-44.693Q-19.921-44.376-19.782-44.058Q-19.644-43.739-19.385-43.537Q-19.125-43.335-18.787-43.335",[1025],[1000,5593,5594,5597],{"fill":1006},[1010,5595],{"d":5596},"M85.622 4.188H53.229a4 4 0 0 0-4 4v17.608a4 4 0 0 0 4 4h32.393a4 4 0 0 0 4-4V8.188a4 4 0 0 0-4-4ZM49.229 29.796",[1000,5598,5599,5605,5610],{"fill":1002,"stroke":1015,"fontSize":1017},[1000,5600,5602],{"transform":5601},"translate(100.195 62.647)",[1010,5603],{"d":5475,"fill":1002,"stroke":1002,"className":5604,"style":1026},[1025],[1000,5606,5607],{"transform":5601},[1010,5608],{"d":5487,"fill":1002,"stroke":1002,"className":5609,"style":1026},[1025],[1000,5611,5612],{"transform":5601},[1010,5613],{"d":5493,"fill":1002,"stroke":1002,"className":5614,"style":1026},[1025],[1000,5616,5617,5620,5623],{"fill":3457,"stroke":3457,"style":1145},[1010,5618],{"fill":1015,"d":5619},"M-19.258 16.992h64.161",[1010,5621],{"d":5622},"m47.89 16.992-4.17-1.576 1.383 1.576-1.382 1.577Z",[1000,5624,5626],{"transform":5625},"translate(37.955 56.018)",[1010,5627],{"d":5628,"fill":3457,"stroke":3457,"className":5629,"style":1183},"M-40.332-42.759L-42.110-42.759L-42.110-43.056Q-41.836-43.056-41.668-43.103Q-41.500-43.150-41.500-43.318L-41.500-45.454Q-41.500-45.669-41.557-45.765Q-41.614-45.861-41.727-45.882Q-41.840-45.904-42.086-45.904L-42.086-46.200L-40.887-46.286L-40.887-43.318Q-40.887-43.150-40.741-43.103Q-40.594-43.056-40.332-43.056L-40.332-42.759M-41.774-47.681Q-41.774-47.872-41.639-48.003Q-41.504-48.134-41.309-48.134Q-41.188-48.134-41.084-48.072Q-40.981-48.009-40.918-47.905Q-40.856-47.802-40.856-47.681Q-40.856-47.486-40.987-47.351Q-41.117-47.216-41.309-47.216Q-41.508-47.216-41.641-47.349Q-41.774-47.482-41.774-47.681M-37.903-42.759L-39.758-42.759L-39.758-43.056Q-39.485-43.056-39.317-43.103Q-39.149-43.150-39.149-43.318L-39.149-45.454Q-39.149-45.669-39.211-45.765Q-39.274-45.861-39.393-45.882Q-39.512-45.904-39.758-45.904L-39.758-46.200L-38.567-46.286L-38.567-45.552Q-38.453-45.767-38.260-45.935Q-38.067-46.103-37.828-46.195Q-37.590-46.286-37.336-46.286Q-36.375-46.286-36.200-45.575Q-36.016-45.904-35.688-46.095Q-35.360-46.286-34.981-46.286Q-33.805-46.286-33.805-45.208L-33.805-43.318Q-33.805-43.150-33.637-43.103Q-33.469-43.056-33.200-43.056L-33.200-42.759L-35.055-42.759L-35.055-43.056Q-34.782-43.056-34.614-43.101Q-34.446-43.146-34.446-43.318L-34.446-45.193Q-34.446-45.579-34.571-45.806Q-34.696-46.032-35.047-46.032Q-35.352-46.032-35.608-45.870Q-35.864-45.708-36.012-45.439Q-36.160-45.169-36.160-44.872L-36.160-43.318Q-36.160-43.150-35.991-43.103Q-35.821-43.056-35.551-43.056L-35.551-42.759L-37.407-42.759L-37.407-43.056Q-37.133-43.056-36.965-43.103Q-36.797-43.150-36.797-43.318L-36.797-45.193Q-36.797-45.579-36.922-45.806Q-37.047-46.032-37.399-46.032Q-37.703-46.032-37.959-45.870Q-38.215-45.708-38.364-45.439Q-38.512-45.169-38.512-44.872L-38.512-43.318Q-38.512-43.150-38.342-43.103Q-38.172-43.056-37.903-43.056L-37.903-42.759M-30.825-42.759L-32.680-42.759L-32.680-43.056Q-32.407-43.056-32.239-43.103Q-32.071-43.150-32.071-43.318L-32.071-45.454Q-32.071-45.669-32.133-45.765Q-32.196-45.861-32.315-45.882Q-32.434-45.904-32.680-45.904L-32.680-46.200L-31.489-46.286L-31.489-45.552Q-31.375-45.767-31.182-45.935Q-30.989-46.103-30.750-46.195Q-30.512-46.286-30.258-46.286Q-29.297-46.286-29.121-45.575Q-28.938-45.904-28.610-46.095Q-28.282-46.286-27.903-46.286Q-26.727-46.286-26.727-45.208L-26.727-43.318Q-26.727-43.150-26.559-43.103Q-26.391-43.056-26.121-43.056L-26.121-42.759L-27.977-42.759L-27.977-43.056Q-27.703-43.056-27.535-43.101Q-27.367-43.146-27.367-43.318L-27.367-45.193Q-27.367-45.579-27.492-45.806Q-27.617-46.032-27.969-46.032Q-28.274-46.032-28.530-45.870Q-28.785-45.708-28.934-45.439Q-29.082-45.169-29.082-44.872L-29.082-43.318Q-29.082-43.150-28.912-43.103Q-28.742-43.056-28.473-43.056L-28.473-42.759L-30.328-42.759L-30.328-43.056Q-30.055-43.056-29.887-43.103Q-29.719-43.150-29.719-43.318L-29.719-45.193Q-29.719-45.579-29.844-45.806Q-29.969-46.032-30.321-46.032Q-30.625-46.032-30.881-45.870Q-31.137-45.708-31.285-45.439Q-31.434-45.169-31.434-44.872L-31.434-43.318Q-31.434-43.150-31.264-43.103Q-31.094-43.056-30.825-43.056L-30.825-42.759M-25.676-44.513Q-25.676-44.993-25.444-45.409Q-25.211-45.825-24.801-46.075Q-24.391-46.325-23.914-46.325Q-23.184-46.325-22.785-45.884Q-22.387-45.443-22.387-44.712Q-22.387-44.607-22.481-44.583L-24.930-44.583L-24.930-44.513Q-24.930-44.103-24.809-43.747Q-24.688-43.392-24.416-43.175Q-24.145-42.958-23.715-42.958Q-23.352-42.958-23.055-43.187Q-22.758-43.415-22.657-43.767Q-22.649-43.814-22.563-43.829L-22.481-43.829Q-22.387-43.802-22.387-43.720Q-22.387-43.712-22.395-43.681Q-22.457-43.454-22.596-43.271Q-22.735-43.087-22.926-42.954Q-23.117-42.822-23.336-42.751Q-23.555-42.681-23.793-42.681Q-24.164-42.681-24.502-42.818Q-24.840-42.954-25.108-43.206Q-25.375-43.458-25.526-43.798Q-25.676-44.138-25.676-44.513M-24.922-44.822L-22.961-44.822Q-22.961-45.126-23.063-45.417Q-23.164-45.708-23.381-45.890Q-23.598-46.072-23.914-46.072Q-24.215-46.072-24.446-45.884Q-24.676-45.697-24.799-45.405Q-24.922-45.114-24.922-44.822M-20.082-42.681Q-20.563-42.681-20.971-42.925Q-21.379-43.169-21.617-43.583Q-21.856-43.997-21.856-44.486Q-21.856-44.978-21.598-45.394Q-21.340-45.810-20.909-46.048Q-20.477-46.286-19.985-46.286Q-19.364-46.286-18.914-45.849L-18.914-47.478Q-18.914-47.693-18.977-47.788Q-19.039-47.884-19.157-47.905Q-19.274-47.927-19.520-47.927L-19.520-48.224L-18.297-48.310L-18.297-43.501Q-18.297-43.290-18.235-43.195Q-18.172-43.099-18.055-43.077Q-17.938-43.056-17.688-43.056L-17.688-42.759L-18.938-42.681L-18.938-43.165Q-19.403-42.681-20.082-42.681M-20.016-42.935Q-19.676-42.935-19.383-43.126Q-19.090-43.318-18.938-43.614L-18.938-45.447Q-19.086-45.720-19.348-45.876Q-19.610-46.032-19.922-46.032Q-20.547-46.032-20.830-45.585Q-21.114-45.138-21.114-44.478Q-21.114-43.833-20.862-43.384Q-20.610-42.935-20.016-42.935M-15.321-42.759L-17.098-42.759L-17.098-43.056Q-16.825-43.056-16.657-43.103Q-16.489-43.150-16.489-43.318L-16.489-45.454Q-16.489-45.669-16.545-45.765Q-16.602-45.861-16.715-45.882Q-16.828-45.904-17.075-45.904L-17.075-46.200L-15.875-46.286L-15.875-43.318Q-15.875-43.150-15.729-43.103Q-15.582-43.056-15.321-43.056L-15.321-42.759M-16.762-47.681Q-16.762-47.872-16.627-48.003Q-16.492-48.134-16.297-48.134Q-16.176-48.134-16.073-48.072Q-15.969-48.009-15.907-47.905Q-15.844-47.802-15.844-47.681Q-15.844-47.486-15.975-47.351Q-16.106-47.216-16.297-47.216Q-16.496-47.216-16.629-47.349Q-16.762-47.482-16.762-47.681M-14.723-43.591Q-14.723-44.075-14.321-44.370Q-13.918-44.665-13.367-44.784Q-12.817-44.904-12.325-44.904L-12.325-45.193Q-12.325-45.419-12.440-45.626Q-12.555-45.833-12.752-45.952Q-12.950-46.072-13.180-46.072Q-13.606-46.072-13.891-45.966Q-13.821-45.939-13.774-45.884Q-13.727-45.829-13.701-45.759Q-13.676-45.689-13.676-45.614Q-13.676-45.509-13.727-45.417Q-13.778-45.325-13.869-45.275Q-13.961-45.224-14.067-45.224Q-14.172-45.224-14.264-45.275Q-14.356-45.325-14.407-45.417Q-14.457-45.509-14.457-45.614Q-14.457-46.032-14.069-46.179Q-13.680-46.325-13.180-46.325Q-12.848-46.325-12.494-46.195Q-12.141-46.064-11.912-45.810Q-11.684-45.556-11.684-45.208L-11.684-43.407Q-11.684-43.275-11.612-43.165Q-11.539-43.056-11.410-43.056Q-11.285-43.056-11.217-43.161Q-11.149-43.267-11.149-43.407L-11.149-43.919L-10.867-43.919L-10.867-43.407Q-10.867-43.204-10.985-43.046Q-11.102-42.888-11.284-42.804Q-11.465-42.720-11.668-42.720Q-11.899-42.720-12.051-42.892Q-12.203-43.064-12.235-43.294Q-12.395-43.013-12.703-42.847Q-13.012-42.681-13.364-42.681Q-13.875-42.681-14.299-42.904Q-14.723-43.126-14.723-43.591M-14.035-43.591Q-14.035-43.306-13.809-43.120Q-13.582-42.935-13.289-42.935Q-13.043-42.935-12.819-43.052Q-12.594-43.169-12.459-43.372Q-12.325-43.575-12.325-43.829L-12.325-44.661Q-12.590-44.661-12.875-44.607Q-13.160-44.552-13.432-44.423Q-13.703-44.294-13.869-44.087Q-14.035-43.880-14.035-43.591M-9.950-43.720L-9.950-45.911L-10.653-45.911L-10.653-46.165Q-10.297-46.165-10.055-46.398Q-9.813-46.630-9.701-46.978Q-9.590-47.325-9.590-47.681L-9.309-47.681L-9.309-46.208L-8.133-46.208L-8.133-45.911L-9.309-45.911L-9.309-43.736Q-9.309-43.415-9.190-43.187Q-9.071-42.958-8.789-42.958Q-8.610-42.958-8.492-43.081Q-8.375-43.204-8.323-43.384Q-8.270-43.564-8.270-43.736L-8.270-44.208L-7.989-44.208L-7.989-43.720Q-7.989-43.466-8.094-43.226Q-8.200-42.986-8.397-42.833Q-8.594-42.681-8.852-42.681Q-9.168-42.681-9.420-42.804Q-9.672-42.927-9.811-43.161Q-9.950-43.396-9.950-43.720M-7.270-44.513Q-7.270-44.993-7.037-45.409Q-6.805-45.825-6.395-46.075Q-5.985-46.325-5.508-46.325Q-4.778-46.325-4.379-45.884Q-3.981-45.443-3.981-44.712Q-3.981-44.607-4.075-44.583L-6.524-44.583L-6.524-44.513Q-6.524-44.103-6.403-43.747Q-6.282-43.392-6.010-43.175Q-5.739-42.958-5.309-42.958Q-4.946-42.958-4.649-43.187Q-4.352-43.415-4.250-43.767Q-4.242-43.814-4.157-43.829L-4.075-43.829Q-3.981-43.802-3.981-43.720Q-3.981-43.712-3.989-43.681Q-4.051-43.454-4.190-43.271Q-4.328-43.087-4.520-42.954Q-4.711-42.822-4.930-42.751Q-5.149-42.681-5.387-42.681Q-5.758-42.681-6.096-42.818Q-6.434-42.954-6.701-43.206Q-6.969-43.458-7.119-43.798Q-7.270-44.138-7.270-44.513M-6.516-44.822L-4.555-44.822Q-4.555-45.126-4.657-45.417Q-4.758-45.708-4.975-45.890Q-5.192-46.072-5.508-46.072Q-5.809-46.072-6.039-45.884Q-6.270-45.697-6.393-45.405Q-6.516-45.114-6.516-44.822",[1025],[1000,5631,5633],{"transform":5632},"translate(121.886 31.81)",[1010,5634],{"d":5635,"fill":1002,"stroke":1002,"className":5636,"style":1183},"M-36.469-42.888L-41.782-42.888Q-41.860-42.900-41.909-42.948Q-41.957-42.997-41.957-43.072Q-41.957-43.146-41.909-43.195Q-41.860-43.243-41.782-43.255L-36.469-43.255Q-36.301-43.224-36.301-43.072Q-36.301-42.919-36.469-42.888M-36.469-44.575L-41.782-44.575Q-41.860-44.587-41.909-44.636Q-41.957-44.685-41.957-44.759Q-41.957-44.833-41.909-44.882Q-41.860-44.931-41.782-44.943L-36.469-44.943Q-36.301-44.911-36.301-44.759Q-36.301-44.607-36.469-44.575M-36.469-46.263L-41.782-46.263Q-41.860-46.275-41.909-46.323Q-41.957-46.372-41.957-46.447Q-41.957-46.521-41.909-46.570Q-41.860-46.618-41.782-46.630L-36.469-46.630Q-36.301-46.599-36.301-46.447Q-36.301-46.294-36.469-46.263",[1025],[1233,5638,5640],{"className":5639},[1236],"The contrapositive flips a hard claim about the whole array into an easy one about a single line of code; both arrows assert the same implication.",[925,5642,5644],{"id":5643},"deliverable-4-complexity-in-brief","Deliverable 4 — complexity, in brief",[381,5646,5647,5648,5651,5652,5667,5668,5689,5690,5723,5724,5833],{},"The fourth deliverable asks ",[495,5649,5650],{},"how many steps"," the algorithm takes as a function of\nthe input size ",[398,5653,5655],{"className":5654},[401],[398,5656,5658],{"className":5657,"ariaHidden":406},[405],[398,5659,5661,5664],{"className":5660},[410],[398,5662],{"className":5663,"style":1477},[414],[398,5665,1447],{"className":5666},[419,1298],". For ",[398,5669,5671],{"className":5670},[401],[398,5672,5674],{"className":5673,"ariaHidden":406},[405],[398,5675,5677,5680],{"className":5676},[410],[398,5678],{"className":5679,"style":2131},[414],[398,5681,5683],{"className":5682},[2135,2136],[398,5684,5686],{"className":5685},[419,2140],[398,5687,2144],{"className":5688},[419],", the seed and the final return cost a\nconstant; the loop runs ",[398,5691,5693],{"className":5692},[401],[398,5694,5696,5714],{"className":5695,"ariaHidden":406},[405],[398,5697,5699,5702,5705,5708,5711],{"className":5698},[410],[398,5700],{"className":5701,"style":2338},[414],[398,5703,1447],{"className":5704},[419,1298],[398,5706],{"className":5707,"style":425},[424],[398,5709,2342],{"className":5710},[429],[398,5712],{"className":5713,"style":425},[424],[398,5715,5717,5720],{"className":5716},[410],[398,5718],{"className":5719,"style":440},[414],[398,5721,588],{"className":5722},[419]," times, doing a comparison and at most one\nassignment each pass. If each line costs some machine-dependent constant\n",[398,5725,5727],{"className":5726},[401],[398,5728,5730],{"className":5729,"ariaHidden":406},[405],[398,5731,5733,5737,5778,5781,5784,5824,5827,5830],{"className":5732},[410],[398,5734],{"className":5735,"style":5736},[414],"height:0.625em;vertical-align:-0.1944em;",[398,5738,5740,5744],{"className":5739},[419],[398,5741,5743],{"className":5742},[419,1298],"c",[398,5745,5747],{"className":5746},[1302],[398,5748,5750,5770],{"className":5749},[1306,1307],[398,5751,5753,5767],{"className":5752},[1311],[398,5754,5756],{"className":5755,"style":1316},[1315],[398,5757,5758,5761],{"style":1319},[398,5759],{"className":5760,"style":1324},[1323],[398,5762,5764],{"className":5763},[1328,1329,1330,1331],[398,5765,588],{"className":5766},[419,1331],[398,5768,1339],{"className":5769},[1338],[398,5771,5773],{"className":5772},[1311],[398,5774,5776],{"className":5775,"style":1346},[1315],[398,5777],{},[398,5779,1353],{"className":5780},[1352],[398,5782],{"className":5783,"style":1357},[424],[398,5785,5787,5790],{"className":5786},[419],[398,5788,5743],{"className":5789},[419,1298],[398,5791,5793],{"className":5792},[1302],[398,5794,5796,5816],{"className":5795},[1306,1307],[398,5797,5799,5813],{"className":5798},[1311],[398,5800,5802],{"className":5801,"style":1316},[1315],[398,5803,5804,5807],{"style":1319},[398,5805],{"className":5806,"style":1324},[1323],[398,5808,5810],{"className":5809},[1328,1329,1330,1331],[398,5811,600],{"className":5812},[419,1331],[398,5814,1339],{"className":5815},[1338],[398,5817,5819],{"className":5818},[1311],[398,5820,5822],{"className":5821,"style":1346},[1315],[398,5823],{},[398,5825,1353],{"className":5826},[1352],[398,5828],{"className":5829,"style":1357},[424],[398,5831,1407],{"className":5832},[1284],", the total is",[398,5835,5837],{"className":5836},[5143],[398,5838,5840],{"className":5839},[401],[398,5841,5843,5899,5920,5984,6042,6104],{"className":5842,"ariaHidden":406},[405],[398,5844,5846,5850,5890,5893,5896],{"className":5845},[410],[398,5847],{"className":5848,"style":5849},[414],"height:0.7333em;vertical-align:-0.15em;",[398,5851,5853,5856],{"className":5852},[419],[398,5854,5743],{"className":5855},[419,1298],[398,5857,5859],{"className":5858},[1302],[398,5860,5862,5882],{"className":5861},[1306,1307],[398,5863,5865,5879],{"className":5864},[1311],[398,5866,5868],{"className":5867,"style":1316},[1315],[398,5869,5870,5873],{"style":1319},[398,5871],{"className":5872,"style":1324},[1323],[398,5874,5876],{"className":5875},[1328,1329,1330,1331],[398,5877,588],{"className":5878},[419,1331],[398,5880,1339],{"className":5881},[1338],[398,5883,5885],{"className":5884},[1311],[398,5886,5888],{"className":5887,"style":1346},[1315],[398,5889],{},[398,5891],{"className":5892,"style":425},[424],[398,5894,468],{"className":5895},[429],[398,5897],{"className":5898,"style":425},[424],[398,5900,5902,5905,5908,5911,5914,5917],{"className":5901},[410],[398,5903],{"className":5904,"style":1280},[414],[398,5906,665],{"className":5907},[1288],[398,5909,1447],{"className":5910},[419,1298],[398,5912],{"className":5913,"style":425},[424],[398,5915,2342],{"className":5916},[429],[398,5918],{"className":5919,"style":425},[424],[398,5921,5923,5926,5929,5932,5935,5975,5978,5981],{"className":5922},[410],[398,5924],{"className":5925,"style":1280},[414],[398,5927,588],{"className":5928},[419],[398,5930,4833],{"className":5931},[1462],[398,5933,665],{"className":5934},[1288],[398,5936,5938,5941],{"className":5937},[419],[398,5939,5743],{"className":5940},[419,1298],[398,5942,5944],{"className":5943},[1302],[398,5945,5947,5967],{"className":5946},[1306,1307],[398,5948,5950,5964],{"className":5949},[1311],[398,5951,5953],{"className":5952,"style":1316},[1315],[398,5954,5955,5958],{"style":1319},[398,5956],{"className":5957,"style":1324},[1323],[398,5959,5961],{"className":5960},[1328,1329,1330,1331],[398,5962,600],{"className":5963},[419,1331],[398,5965,1339],{"className":5966},[1338],[398,5968,5970],{"className":5969},[1311],[398,5971,5973],{"className":5972,"style":1346},[1315],[398,5974],{},[398,5976],{"className":5977,"style":425},[424],[398,5979,468],{"className":5980},[429],[398,5982],{"className":5983,"style":425},[424],[398,5985,5987,5990,6030,6033,6036,6039],{"className":5986},[410],[398,5988],{"className":5989,"style":1280},[414],[398,5991,5993,5996],{"className":5992},[419],[398,5994,5743],{"className":5995},[419,1298],[398,5997,5999],{"className":5998},[1302],[398,6000,6002,6022],{"className":6001},[1306,1307],[398,6003,6005,6019],{"className":6004},[1311],[398,6006,6008],{"className":6007,"style":1316},[1315],[398,6009,6010,6013],{"style":1319},[398,6011],{"className":6012,"style":1324},[1323],[398,6014,6016],{"className":6015},[1328,1329,1330,1331],[398,6017,890],{"className":6018},[419,1331],[398,6020,1339],{"className":6021},[1338],[398,6023,6025],{"className":6024},[1311],[398,6026,6028],{"className":6027,"style":1346},[1315],[398,6029],{},[398,6031,4833],{"className":6032},[1462],[398,6034],{"className":6035,"style":425},[424],[398,6037,468],{"className":6038},[429],[398,6040],{"className":6041,"style":425},[424],[398,6043,6045,6049,6089,6092,6095,6098,6101],{"className":6044},[410],[398,6046],{"className":6047,"style":6048},[414],"height:0.5806em;vertical-align:-0.15em;",[398,6050,6052,6055],{"className":6051},[419],[398,6053,5743],{"className":6054},[419,1298],[398,6056,6058],{"className":6057},[1302],[398,6059,6061,6081],{"className":6060},[1306,1307],[398,6062,6064,6078],{"className":6063},[1311],[398,6065,6067],{"className":6066,"style":1316},[1315],[398,6068,6069,6072],{"style":1319},[398,6070],{"className":6071,"style":1324},[1323],[398,6073,6075],{"className":6074},[1328,1329,1330,1331],[398,6076,2984],{"className":6077},[419,1331],[398,6079,1339],{"className":6080},[1338],[398,6082,6084],{"className":6083},[1311],[398,6085,6087],{"className":6086,"style":1346},[1315],[398,6088],{},[398,6090],{"className":6091,"style":1772},[424],[398,6093],{"className":6094,"style":1772},[424],[398,6096,634],{"className":6097},[1776],[398,6099],{"className":6100,"style":1772},[424],[398,6102],{"className":6103,"style":1772},[424],[398,6105,6107,6110,6115,6118,6121,6124],{"className":6106},[410],[398,6108],{"className":6109,"style":1280},[414],[398,6111,6114],{"className":6112,"style":6113},[419,1298],"margin-right:0.0278em;","O",[398,6116,665],{"className":6117},[1288],[398,6119,1447],{"className":6120},[419,1298],[398,6122,4833],{"className":6123},[1462],[398,6125,1353],{"className":6126},[1352],[381,6128,6129,6130,6133,6134,6159],{},"a ",[490,6131,6132],{},"linear"," running time: double the array and you roughly double the work. The\npoint of the ",[398,6135,6137],{"className":6136},[401],[398,6138,6140],{"className":6139,"ariaHidden":406},[405],[398,6141,6143,6146,6149,6152,6156],{"className":6142},[410],[398,6144],{"className":6145,"style":1280},[414],[398,6147,6114],{"className":6148,"style":6113},[419,1298],[398,6150,665],{"className":6151},[1288],[398,6153,6155],{"className":6154},[419],"⋅",[398,6157,4833],{"className":6158},[1462]," is that it throws away the machine-specific constants and\nkeeps only the growth rate.",[381,6161,6162,6163,6166,6167,6170,6171,6318,6319,6322,6323,6338,6339,6372],{},"That insertion sort, by contrast, is not always so cheap is exactly why ",[867,6164,6165],{},"fast","\nneeds care. On an array already in reverse order, every new element sifts past\n",[495,6168,6169],{},"all"," its predecessors, costing ",[398,6172,6174],{"className":6173},[401],[398,6175,6177,6195,6213,6231,6252,6273],{"className":6176,"ariaHidden":406},[405],[398,6178,6180,6183,6186,6189,6192],{"className":6179},[410],[398,6181],{"className":6182,"style":415},[414],[398,6184,588],{"className":6185},[419],[398,6187],{"className":6188,"style":425},[424],[398,6190,468],{"className":6191},[429],[398,6193],{"className":6194,"style":425},[424],[398,6196,6198,6201,6204,6207,6210],{"className":6197},[410],[398,6199],{"className":6200,"style":415},[414],[398,6202,600],{"className":6203},[419],[398,6205],{"className":6206,"style":425},[424],[398,6208,468],{"className":6209},[429],[398,6211],{"className":6212,"style":425},[424],[398,6214,6216,6219,6222,6225,6228],{"className":6215},[410],[398,6217],{"className":6218,"style":2338},[414],[398,6220,1860],{"className":6221},[1284],[398,6223],{"className":6224,"style":425},[424],[398,6226,468],{"className":6227},[429],[398,6229],{"className":6230,"style":425},[424],[398,6232,6234,6237,6240,6243,6246,6249],{"className":6233},[410],[398,6235],{"className":6236,"style":1280},[414],[398,6238,665],{"className":6239},[1288],[398,6241,1447],{"className":6242},[419,1298],[398,6244],{"className":6245,"style":425},[424],[398,6247,2342],{"className":6248},[429],[398,6250],{"className":6251,"style":425},[424],[398,6253,6255,6258,6261,6264,6267,6270],{"className":6254},[410],[398,6256],{"className":6257,"style":1280},[414],[398,6259,588],{"className":6260},[419],[398,6262,4833],{"className":6263},[1462],[398,6265],{"className":6266,"style":1772},[424],[398,6268,634],{"className":6269},[1776],[398,6271],{"className":6272,"style":1772},[424],[398,6274,6276,6279],{"className":6275},[410],[398,6277],{"className":6278,"style":1280},[414],[398,6280,6282,6286,6289,6292,6295,6298,6301,6304,6307,6310,6314],{"className":6281},[1284],[398,6283,6285],{"className":6284,"style":1290},[1288,1289],"⌊",[398,6287,1447],{"className":6288},[419,1298],[398,6290,665],{"className":6291},[1288],[398,6293,1447],{"className":6294},[419,1298],[398,6296],{"className":6297,"style":425},[424],[398,6299,2342],{"className":6300},[429],[398,6302],{"className":6303,"style":425},[424],[398,6305,588],{"className":6306},[419],[398,6308,4833],{"className":6309},[1462],[398,6311,6313],{"className":6312},[419],"\u002F2",[398,6315,6317],{"className":6316,"style":1290},[1462,1289],"⌋","\ncomparisons, which is ",[490,6320,6321],{},"quadratic"," in ",[398,6324,6326],{"className":6325},[401],[398,6327,6329],{"className":6328,"ariaHidden":406},[405],[398,6330,6332,6335],{"className":6331},[410],[398,6333],{"className":6334,"style":1477},[414],[398,6336,1447],{"className":6337},[419,1298],". On an already-sorted array it does\nonly ",[398,6340,6342],{"className":6341},[401],[398,6343,6345,6363],{"className":6344,"ariaHidden":406},[405],[398,6346,6348,6351,6354,6357,6360],{"className":6347},[410],[398,6349],{"className":6350,"style":2338},[414],[398,6352,1447],{"className":6353},[419,1298],[398,6355],{"className":6356,"style":425},[424],[398,6358,2342],{"className":6359},[429],[398,6361],{"className":6362,"style":425},[424],[398,6364,6366,6369],{"className":6365},[410],[398,6367],{"className":6368,"style":440},[414],[398,6370,588],{"className":6371},[419]," comparisons, which is linear: the same algorithm, wildly different\ncosts.",[987,6374,6376,6601],{"className":6375},[990,991],[993,6377,6381],{"xmlns":995,"width":6378,"height":6379,"viewBox":6380},"363.306","105.602","-75 -75 272.480 79.201",[1000,6382,6383,6416,6428,6440,6452,6464,6493,6526,6537,6548,6559,6570,6593],{"stroke":1002,"style":1003},[1000,6384,6385,6392,6398,6404,6410],{"stroke":1015,"fontFamily":1194,"fontSize":1195},[1000,6386,6388],{"transform":6387},"translate(-101.742 -17.917)",[1010,6389],{"d":6390,"fill":1002,"stroke":1002,"className":6391,"style":1183},"M50.943-45.051L49.873-47.907Q49.806-48.086 49.676-48.129Q49.545-48.172 49.287-48.172L49.287-48.469L50.967-48.469L50.967-48.172Q50.517-48.172 50.517-47.973Q50.521-47.958 50.523-47.940Q50.525-47.922 50.525-47.907L51.318-45.813L52.029-47.723Q51.994-47.817 51.994-47.862Q51.994-47.907 51.959-47.907Q51.892-48.086 51.762-48.129Q51.631-48.172 51.377-48.172L51.377-48.469L52.967-48.469L52.967-48.172Q52.517-48.172 52.517-47.973Q52.521-47.954 52.523-47.936Q52.525-47.918 52.525-47.907L53.357-45.692L54.111-47.692Q54.135-47.750 54.135-47.821Q54.135-47.981 53.998-48.077Q53.861-48.172 53.693-48.172L53.693-48.469L55.080-48.469L55.080-48.172Q54.846-48.172 54.668-48.045Q54.490-47.918 54.408-47.692L53.424-45.051Q53.369-44.942 53.256-44.942L53.197-44.942Q53.084-44.942 53.041-45.051L52.181-47.325L51.326-45.051Q51.287-44.942 51.166-44.942L51.111-44.942Q50.998-44.942 50.943-45.051",[1025],[1000,6393,6394],{"transform":6387},[1010,6395],{"d":6396,"fill":1002,"stroke":1002,"className":6397,"style":1183},"M55.260-46.715Q55.260-47.219 55.516-47.651Q55.772-48.083 56.208-48.334Q56.643-48.586 57.143-48.586Q57.530-48.586 57.872-48.442Q58.213-48.297 58.475-48.036Q58.737-47.774 58.879-47.438Q59.022-47.102 59.022-46.715Q59.022-46.223 58.758-45.813Q58.495-45.403 58.065-45.172Q57.635-44.942 57.143-44.942Q56.651-44.942 56.217-45.174Q55.784-45.407 55.522-45.815Q55.260-46.223 55.260-46.715M57.143-45.219Q57.600-45.219 57.852-45.442Q58.104-45.665 58.192-46.016Q58.280-46.368 58.280-46.813Q58.280-47.243 58.186-47.581Q58.092-47.918 57.838-48.125Q57.584-48.333 57.143-48.333Q56.495-48.333 56.251-47.916Q56.006-47.500 56.006-46.813Q56.006-46.368 56.094-46.016Q56.182-45.665 56.434-45.442Q56.686-45.219 57.143-45.219M61.514-45.020L59.534-45.020L59.534-45.317Q59.803-45.317 59.971-45.362Q60.139-45.407 60.139-45.579L60.139-47.715Q60.139-47.930 60.077-48.026Q60.014-48.122 59.897-48.143Q59.780-48.165 59.534-48.165L59.534-48.461L60.702-48.547L60.702-47.762Q60.780-47.973 60.932-48.159Q61.084-48.344 61.284-48.446Q61.483-48.547 61.709-48.547Q61.956-48.547 62.147-48.403Q62.338-48.258 62.338-48.028Q62.338-47.872 62.233-47.762Q62.127-47.653 61.971-47.653Q61.815-47.653 61.706-47.762Q61.596-47.872 61.596-48.028Q61.596-48.188 61.702-48.293Q61.377-48.293 61.163-48.065Q60.948-47.836 60.852-47.497Q60.756-47.157 60.756-46.852L60.756-45.579Q60.756-45.411 60.983-45.364Q61.209-45.317 61.514-45.317L61.514-45.020M62.862-45.028L62.862-46.250Q62.862-46.278 62.893-46.309Q62.924-46.340 62.948-46.340L63.053-46.340Q63.124-46.340 63.139-46.278Q63.202-45.958 63.340-45.717Q63.479-45.477 63.711-45.336Q63.944-45.196 64.252-45.196Q64.491-45.196 64.700-45.256Q64.909-45.317 65.045-45.465Q65.182-45.614 65.182-45.860Q65.182-46.114 64.971-46.280Q64.760-46.446 64.491-46.500L63.870-46.614Q63.463-46.692 63.163-46.948Q62.862-47.204 62.862-47.579Q62.862-47.946 63.063-48.168Q63.264-48.391 63.588-48.489Q63.913-48.586 64.252-48.586Q64.717-48.586 65.014-48.379L65.237-48.563Q65.260-48.586 65.292-48.586L65.342-48.586Q65.374-48.586 65.401-48.559Q65.428-48.532 65.428-48.500L65.428-47.516Q65.428-47.485 65.403-47.456Q65.377-47.426 65.342-47.426L65.237-47.426Q65.202-47.426 65.174-47.454Q65.147-47.481 65.147-47.516Q65.147-47.915 64.895-48.135Q64.643-48.356 64.245-48.356Q63.889-48.356 63.606-48.233Q63.323-48.110 63.323-47.805Q63.323-47.586 63.524-47.454Q63.725-47.321 63.971-47.278L64.596-47.165Q65.026-47.075 65.334-46.778Q65.643-46.481 65.643-46.067Q65.643-45.497 65.245-45.219Q64.846-44.942 64.252-44.942Q63.702-44.942 63.350-45.278L63.053-44.965Q63.030-44.942 62.995-44.942L62.948-44.942Q62.924-44.942 62.893-44.973Q62.862-45.004 62.862-45.028M66.795-45.981L66.795-48.172L66.092-48.172L66.092-48.426Q66.448-48.426 66.690-48.659Q66.932-48.891 67.043-49.239Q67.155-49.586 67.155-49.942L67.436-49.942L67.436-48.469L68.612-48.469L68.612-48.172L67.436-48.172L67.436-45.997Q67.436-45.676 67.555-45.448Q67.674-45.219 67.956-45.219Q68.135-45.219 68.252-45.342Q68.370-45.465 68.422-45.645Q68.475-45.825 68.475-45.997L68.475-46.469L68.756-46.469L68.756-45.981Q68.756-45.727 68.651-45.487Q68.545-45.247 68.348-45.094Q68.151-44.942 67.893-44.942Q67.577-44.942 67.325-45.065Q67.073-45.188 66.934-45.422Q66.795-45.657 66.795-45.981",[1025],[1000,6399,6400],{"transform":6387},[1010,6401],{"d":6402,"fill":1002,"stroke":1002,"className":6403,"style":1183},"M72.357-46.747Q72.357-47.243 72.607-47.668Q72.857-48.094 73.277-48.340Q73.697-48.586 74.197-48.586Q74.736-48.586 75.127-48.461Q75.517-48.336 75.517-47.922Q75.517-47.817 75.467-47.725Q75.416-47.633 75.324-47.583Q75.232-47.532 75.123-47.532Q75.017-47.532 74.926-47.583Q74.834-47.633 74.783-47.725Q74.732-47.817 74.732-47.922Q74.732-48.145 74.900-48.250Q74.678-48.309 74.205-48.309Q73.908-48.309 73.693-48.170Q73.478-48.032 73.347-47.801Q73.217-47.571 73.158-47.301Q73.099-47.032 73.099-46.747Q73.099-46.352 73.232-46.002Q73.365-45.653 73.637-45.436Q73.908-45.219 74.306-45.219Q74.681-45.219 74.957-45.436Q75.232-45.653 75.334-46.012Q75.349-46.075 75.412-46.075L75.517-46.075Q75.553-46.075 75.578-46.047Q75.603-46.020 75.603-45.981L75.603-45.958Q75.471-45.477 75.086-45.209Q74.701-44.942 74.197-44.942Q73.834-44.942 73.500-45.079Q73.166-45.215 72.906-45.465Q72.646-45.715 72.502-46.051Q72.357-46.387 72.357-46.747M76.189-45.852Q76.189-46.336 76.592-46.631Q76.994-46.926 77.545-47.045Q78.096-47.165 78.588-47.165L78.588-47.454Q78.588-47.680 78.472-47.887Q78.357-48.094 78.160-48.213Q77.963-48.333 77.732-48.333Q77.306-48.333 77.021-48.227Q77.092-48.200 77.138-48.145Q77.185-48.090 77.211-48.020Q77.236-47.950 77.236-47.875Q77.236-47.770 77.185-47.678Q77.135-47.586 77.043-47.536Q76.951-47.485 76.846-47.485Q76.740-47.485 76.648-47.536Q76.556-47.586 76.506-47.678Q76.455-47.770 76.455-47.875Q76.455-48.293 76.844-48.440Q77.232-48.586 77.732-48.586Q78.064-48.586 78.418-48.456Q78.771-48.325 79-48.071Q79.228-47.817 79.228-47.469L79.228-45.668Q79.228-45.536 79.301-45.426Q79.373-45.317 79.502-45.317Q79.627-45.317 79.695-45.422Q79.763-45.528 79.763-45.668L79.763-46.180L80.045-46.180L80.045-45.668Q80.045-45.465 79.928-45.307Q79.810-45.149 79.629-45.065Q79.447-44.981 79.244-44.981Q79.013-44.981 78.861-45.153Q78.709-45.325 78.678-45.555Q78.517-45.274 78.209-45.108Q77.900-44.942 77.549-44.942Q77.037-44.942 76.613-45.165Q76.189-45.387 76.189-45.852M76.877-45.852Q76.877-45.567 77.103-45.381Q77.330-45.196 77.623-45.196Q77.869-45.196 78.094-45.313Q78.318-45.430 78.453-45.633Q78.588-45.836 78.588-46.090L78.588-46.922Q78.322-46.922 78.037-46.868Q77.752-46.813 77.480-46.684Q77.209-46.555 77.043-46.348Q76.877-46.141 76.877-45.852M80.381-45.028L80.381-46.250Q80.381-46.278 80.412-46.309Q80.443-46.340 80.467-46.340L80.572-46.340Q80.642-46.340 80.658-46.278Q80.721-45.958 80.859-45.717Q80.998-45.477 81.230-45.336Q81.463-45.196 81.771-45.196Q82.010-45.196 82.219-45.256Q82.428-45.317 82.564-45.465Q82.701-45.614 82.701-45.860Q82.701-46.114 82.490-46.280Q82.279-46.446 82.010-46.500L81.388-46.614Q80.982-46.692 80.681-46.948Q80.381-47.204 80.381-47.579Q80.381-47.946 80.582-48.168Q80.783-48.391 81.107-48.489Q81.431-48.586 81.771-48.586Q82.236-48.586 82.533-48.379L82.756-48.563Q82.779-48.586 82.810-48.586L82.861-48.586Q82.892-48.586 82.920-48.559Q82.947-48.532 82.947-48.500L82.947-47.516Q82.947-47.485 82.922-47.456Q82.896-47.426 82.861-47.426L82.756-47.426Q82.721-47.426 82.693-47.454Q82.666-47.481 82.666-47.516Q82.666-47.915 82.414-48.135Q82.162-48.356 81.763-48.356Q81.408-48.356 81.125-48.233Q80.842-48.110 80.842-47.805Q80.842-47.586 81.043-47.454Q81.244-47.321 81.490-47.278L82.115-47.165Q82.545-47.075 82.853-46.778Q83.162-46.481 83.162-46.067Q83.162-45.497 82.763-45.219Q82.365-44.942 81.771-44.942Q81.221-44.942 80.869-45.278L80.572-44.965Q80.549-44.942 80.513-44.942L80.467-44.942Q80.443-44.942 80.412-44.973Q80.381-45.004 80.381-45.028M83.689-46.774Q83.689-47.254 83.922-47.670Q84.154-48.086 84.564-48.336Q84.974-48.586 85.451-48.586Q86.181-48.586 86.580-48.145Q86.978-47.704 86.978-46.973Q86.978-46.868 86.885-46.844L84.435-46.844L84.435-46.774Q84.435-46.364 84.556-46.008Q84.678-45.653 84.949-45.436Q85.221-45.219 85.650-45.219Q86.013-45.219 86.310-45.448Q86.607-45.676 86.709-46.028Q86.717-46.075 86.803-46.090L86.885-46.090Q86.978-46.063 86.978-45.981Q86.978-45.973 86.971-45.942Q86.908-45.715 86.769-45.532Q86.631-45.348 86.439-45.215Q86.248-45.083 86.029-45.012Q85.810-44.942 85.572-44.942Q85.201-44.942 84.863-45.079Q84.525-45.215 84.258-45.467Q83.990-45.719 83.840-46.059Q83.689-46.399 83.689-46.774M84.443-47.083L86.404-47.083Q86.404-47.387 86.303-47.678Q86.201-47.969 85.984-48.151Q85.767-48.333 85.451-48.333Q85.150-48.333 84.920-48.145Q84.689-47.958 84.566-47.666Q84.443-47.375 84.443-47.083",[1025],[1000,6405,6406],{"transform":6387},[1010,6407],{"d":6408,"fill":1002,"stroke":1002,"className":6409,"style":1183},"M92.685-43.028Q92.072-43.485 91.670-44.120Q91.267-44.754 91.072-45.500Q90.877-46.247 90.877-47.020Q90.877-47.793 91.072-48.540Q91.267-49.286 91.670-49.920Q92.072-50.555 92.685-51.012Q92.697-51.016 92.705-51.018Q92.713-51.020 92.724-51.020L92.802-51.020Q92.841-51.020 92.867-50.993Q92.892-50.965 92.892-50.922Q92.892-50.872 92.861-50.852Q92.353-50.399 92.031-49.776Q91.709-49.153 91.568-48.458Q91.427-47.762 91.427-47.020Q91.427-46.286 91.566-45.586Q91.705-44.887 92.029-44.262Q92.353-43.637 92.861-43.188Q92.892-43.168 92.892-43.118Q92.892-43.075 92.867-43.047Q92.841-43.020 92.802-43.020L92.724-43.020Q92.716-43.024 92.707-43.026Q92.697-43.028 92.685-43.028M95.619-45.020L93.638-45.020L93.638-45.317Q93.908-45.317 94.076-45.362Q94.244-45.407 94.244-45.579L94.244-47.715Q94.244-47.930 94.181-48.026Q94.119-48.122 94.002-48.143Q93.884-48.165 93.638-48.165L93.638-48.461L94.806-48.547L94.806-47.762Q94.884-47.973 95.037-48.159Q95.189-48.344 95.388-48.446Q95.588-48.547 95.814-48.547Q96.060-48.547 96.252-48.403Q96.443-48.258 96.443-48.028Q96.443-47.872 96.338-47.762Q96.232-47.653 96.076-47.653Q95.920-47.653 95.810-47.762Q95.701-47.872 95.701-48.028Q95.701-48.188 95.806-48.293Q95.482-48.293 95.267-48.065Q95.052-47.836 94.957-47.497Q94.861-47.157 94.861-46.852L94.861-45.579Q94.861-45.411 95.088-45.364Q95.314-45.317 95.619-45.317L95.619-45.020M96.923-46.774Q96.923-47.254 97.156-47.670Q97.388-48.086 97.798-48.336Q98.209-48.586 98.685-48.586Q99.416-48.586 99.814-48.145Q100.213-47.704 100.213-46.973Q100.213-46.868 100.119-46.844L97.670-46.844L97.670-46.774Q97.670-46.364 97.791-46.008Q97.912-45.653 98.183-45.436Q98.455-45.219 98.884-45.219Q99.248-45.219 99.545-45.448Q99.841-45.676 99.943-46.028Q99.951-46.075 100.037-46.090L100.119-46.090Q100.213-46.063 100.213-45.981Q100.213-45.973 100.205-45.942Q100.142-45.715 100.004-45.532Q99.865-45.348 99.673-45.215Q99.482-45.083 99.263-45.012Q99.045-44.942 98.806-44.942Q98.435-44.942 98.097-45.079Q97.759-45.215 97.492-45.467Q97.224-45.719 97.074-46.059Q96.923-46.399 96.923-46.774M97.677-47.083L99.638-47.083Q99.638-47.387 99.537-47.678Q99.435-47.969 99.218-48.151Q99.002-48.333 98.685-48.333Q98.384-48.333 98.154-48.145Q97.923-47.958 97.800-47.666Q97.677-47.375 97.677-47.083M102.502-45.051L101.279-47.907Q101.197-48.083 101.052-48.127Q100.908-48.172 100.638-48.172L100.638-48.469L102.349-48.469L102.349-48.172Q101.927-48.172 101.927-47.989Q101.927-47.954 101.943-47.907L102.888-45.715L103.728-47.692Q103.767-47.770 103.767-47.860Q103.767-48 103.662-48.086Q103.556-48.172 103.416-48.172L103.416-48.469L104.767-48.469L104.767-48.172Q104.244-48.172 104.029-47.692L102.904-45.051Q102.841-44.942 102.736-44.942L102.670-44.942Q102.556-44.942 102.502-45.051",[1025],[1000,6411,6412],{"transform":6387},[1010,6413],{"d":6414,"fill":1002,"stroke":1002,"className":6415,"style":1183},"M104.952-46.774Q104.952-47.254 105.185-47.670Q105.417-48.086 105.827-48.336Q106.237-48.586 106.714-48.586Q107.444-48.586 107.843-48.145Q108.241-47.704 108.241-46.973Q108.241-46.868 108.148-46.844L105.698-46.844L105.698-46.774Q105.698-46.364 105.819-46.008Q105.941-45.653 106.212-45.436Q106.484-45.219 106.913-45.219Q107.276-45.219 107.573-45.448Q107.870-45.676 107.972-46.028Q107.980-46.075 108.066-46.090L108.148-46.090Q108.241-46.063 108.241-45.981Q108.241-45.973 108.234-45.942Q108.171-45.715 108.032-45.532Q107.894-45.348 107.702-45.215Q107.511-45.083 107.292-45.012Q107.073-44.942 106.835-44.942Q106.464-44.942 106.126-45.079Q105.788-45.215 105.521-45.467Q105.253-45.719 105.103-46.059Q104.952-46.399 104.952-46.774M105.706-47.083L107.667-47.083Q107.667-47.387 107.566-47.678Q107.464-47.969 107.247-48.151Q107.030-48.333 106.714-48.333Q106.413-48.333 106.183-48.145Q105.952-47.958 105.829-47.666Q105.706-47.375 105.706-47.083M110.737-45.020L108.757-45.020L108.757-45.317Q109.026-45.317 109.194-45.362Q109.362-45.407 109.362-45.579L109.362-47.715Q109.362-47.930 109.300-48.026Q109.237-48.122 109.120-48.143Q109.003-48.165 108.757-48.165L108.757-48.461L109.925-48.547L109.925-47.762Q110.003-47.973 110.155-48.159Q110.308-48.344 110.507-48.446Q110.706-48.547 110.933-48.547Q111.179-48.547 111.370-48.403Q111.562-48.258 111.562-48.028Q111.562-47.872 111.456-47.762Q111.351-47.653 111.194-47.653Q111.038-47.653 110.929-47.762Q110.819-47.872 110.819-48.028Q110.819-48.188 110.925-48.293Q110.601-48.293 110.386-48.065Q110.171-47.836 110.075-47.497Q109.980-47.157 109.980-46.852L109.980-45.579Q109.980-45.411 110.206-45.364Q110.433-45.317 110.737-45.317L110.737-45.020M112.085-45.028L112.085-46.250Q112.085-46.278 112.116-46.309Q112.148-46.340 112.171-46.340L112.276-46.340Q112.347-46.340 112.362-46.278Q112.425-45.958 112.564-45.717Q112.702-45.477 112.935-45.336Q113.167-45.196 113.476-45.196Q113.714-45.196 113.923-45.256Q114.132-45.317 114.269-45.465Q114.405-45.614 114.405-45.860Q114.405-46.114 114.194-46.280Q113.984-46.446 113.714-46.500L113.093-46.614Q112.687-46.692 112.386-46.948Q112.085-47.204 112.085-47.579Q112.085-47.946 112.286-48.168Q112.487-48.391 112.812-48.489Q113.136-48.586 113.476-48.586Q113.941-48.586 114.237-48.379L114.460-48.563Q114.484-48.586 114.515-48.586L114.566-48.586Q114.597-48.586 114.624-48.559Q114.651-48.532 114.651-48.500L114.651-47.516Q114.651-47.485 114.626-47.456Q114.601-47.426 114.566-47.426L114.460-47.426Q114.425-47.426 114.398-47.454Q114.370-47.481 114.370-47.516Q114.370-47.915 114.118-48.135Q113.866-48.356 113.468-48.356Q113.112-48.356 112.829-48.233Q112.546-48.110 112.546-47.805Q112.546-47.586 112.747-47.454Q112.948-47.321 113.194-47.278L113.819-47.165Q114.249-47.075 114.558-46.778Q114.866-46.481 114.866-46.067Q114.866-45.497 114.468-45.219Q114.069-44.942 113.476-44.942Q112.925-44.942 112.573-45.278L112.276-44.965Q112.253-44.942 112.218-44.942L112.171-44.942Q112.148-44.942 112.116-44.973Q112.085-45.004 112.085-45.028M115.394-46.774Q115.394-47.254 115.626-47.670Q115.859-48.086 116.269-48.336Q116.679-48.586 117.155-48.586Q117.886-48.586 118.284-48.145Q118.683-47.704 118.683-46.973Q118.683-46.868 118.589-46.844L116.140-46.844L116.140-46.774Q116.140-46.364 116.261-46.008Q116.382-45.653 116.653-45.436Q116.925-45.219 117.355-45.219Q117.718-45.219 118.015-45.448Q118.312-45.676 118.413-46.028Q118.421-46.075 118.507-46.090L118.589-46.090Q118.683-46.063 118.683-45.981Q118.683-45.973 118.675-45.942Q118.612-45.715 118.474-45.532Q118.335-45.348 118.144-45.215Q117.952-45.083 117.734-45.012Q117.515-44.942 117.276-44.942Q116.905-44.942 116.568-45.079Q116.230-45.215 115.962-45.467Q115.694-45.719 115.544-46.059Q115.394-46.399 115.394-46.774M116.148-47.083L118.109-47.083Q118.109-47.387 118.007-47.678Q117.905-47.969 117.689-48.151Q117.472-48.333 117.155-48.333Q116.855-48.333 116.624-48.145Q116.394-47.958 116.271-47.666Q116.148-47.375 116.148-47.083M121.284-46.469L119.030-46.469L119.030-47.020L121.284-47.020L121.284-46.469M122.046-45.028L122.046-46.250Q122.046-46.278 122.077-46.309Q122.109-46.340 122.132-46.340L122.237-46.340Q122.308-46.340 122.323-46.278Q122.386-45.958 122.525-45.717Q122.663-45.477 122.896-45.336Q123.128-45.196 123.437-45.196Q123.675-45.196 123.884-45.256Q124.093-45.317 124.230-45.465Q124.366-45.614 124.366-45.860Q124.366-46.114 124.155-46.280Q123.944-46.446 123.675-46.500L123.054-46.614Q122.648-46.692 122.347-46.948Q122.046-47.204 122.046-47.579Q122.046-47.946 122.247-48.168Q122.448-48.391 122.773-48.489Q123.097-48.586 123.437-48.586Q123.901-48.586 124.198-48.379L124.421-48.563Q124.444-48.586 124.476-48.586L124.526-48.586Q124.558-48.586 124.585-48.559Q124.612-48.532 124.612-48.500L124.612-47.516Q124.612-47.485 124.587-47.456Q124.562-47.426 124.526-47.426L124.421-47.426Q124.386-47.426 124.359-47.454Q124.331-47.481 124.331-47.516Q124.331-47.915 124.079-48.135Q123.827-48.356 123.429-48.356Q123.073-48.356 122.790-48.233Q122.507-48.110 122.507-47.805Q122.507-47.586 122.708-47.454Q122.909-47.321 123.155-47.278L123.780-47.165Q124.210-47.075 124.519-46.778Q124.827-46.481 124.827-46.067Q124.827-45.497 124.429-45.219Q124.030-44.942 123.437-44.942Q122.886-44.942 122.534-45.278L122.237-44.965Q122.214-44.942 122.179-44.942L122.132-44.942Q122.109-44.942 122.077-44.973Q122.046-45.004 122.046-45.028M125.355-46.715Q125.355-47.219 125.610-47.651Q125.866-48.083 126.302-48.334Q126.737-48.586 127.237-48.586Q127.624-48.586 127.966-48.442Q128.308-48.297 128.569-48.036Q128.831-47.774 128.974-47.438Q129.116-47.102 129.116-46.715Q129.116-46.223 128.853-45.813Q128.589-45.403 128.159-45.172Q127.730-44.942 127.237-44.942Q126.745-44.942 126.312-45.174Q125.878-45.407 125.616-45.815Q125.355-46.223 125.355-46.715M127.237-45.219Q127.694-45.219 127.946-45.442Q128.198-45.665 128.286-46.016Q128.374-46.368 128.374-46.813Q128.374-47.243 128.280-47.581Q128.187-47.918 127.933-48.125Q127.679-48.333 127.237-48.333Q126.589-48.333 126.345-47.916Q126.101-47.500 126.101-46.813Q126.101-46.368 126.189-46.016Q126.276-45.665 126.528-45.442Q126.780-45.219 127.237-45.219M131.609-45.020L129.628-45.020L129.628-45.317Q129.898-45.317 130.066-45.362Q130.234-45.407 130.234-45.579L130.234-47.715Q130.234-47.930 130.171-48.026Q130.109-48.122 129.991-48.143Q129.874-48.165 129.628-48.165L129.628-48.461L130.796-48.547L130.796-47.762Q130.874-47.973 131.026-48.159Q131.179-48.344 131.378-48.446Q131.577-48.547 131.804-48.547Q132.050-48.547 132.241-48.403Q132.433-48.258 132.433-48.028Q132.433-47.872 132.327-47.762Q132.222-47.653 132.066-47.653Q131.909-47.653 131.800-47.762Q131.691-47.872 131.691-48.028Q131.691-48.188 131.796-48.293Q131.472-48.293 131.257-48.065Q131.042-47.836 130.946-47.497Q130.851-47.157 130.851-46.852L130.851-45.579Q130.851-45.411 131.077-45.364Q131.304-45.317 131.609-45.317L131.609-45.020M133.538-45.981L133.538-48.172L132.835-48.172L132.835-48.426Q133.191-48.426 133.433-48.659Q133.675-48.891 133.786-49.239Q133.898-49.586 133.898-49.942L134.179-49.942L134.179-48.469L135.355-48.469L135.355-48.172L134.179-48.172L134.179-45.997Q134.179-45.676 134.298-45.448Q134.417-45.219 134.698-45.219Q134.878-45.219 134.995-45.342Q135.112-45.465 135.165-45.645Q135.218-45.825 135.218-45.997L135.218-46.469L135.499-46.469L135.499-45.981Q135.499-45.727 135.394-45.487Q135.288-45.247 135.091-45.094Q134.894-44.942 134.636-44.942Q134.319-44.942 134.068-45.065Q133.816-45.188 133.677-45.422Q133.538-45.657 133.538-45.981M136.218-46.774Q136.218-47.254 136.450-47.670Q136.683-48.086 137.093-48.336Q137.503-48.586 137.980-48.586Q138.710-48.586 139.109-48.145Q139.507-47.704 139.507-46.973Q139.507-46.868 139.413-46.844L136.964-46.844L136.964-46.774Q136.964-46.364 137.085-46.008Q137.206-45.653 137.478-45.436Q137.749-45.219 138.179-45.219Q138.542-45.219 138.839-45.448Q139.136-45.676 139.237-46.028Q139.245-46.075 139.331-46.090L139.413-46.090Q139.507-46.063 139.507-45.981Q139.507-45.973 139.499-45.942Q139.437-45.715 139.298-45.532Q139.159-45.348 138.968-45.215Q138.776-45.083 138.558-45.012Q138.339-44.942 138.101-44.942Q137.730-44.942 137.392-45.079Q137.054-45.215 136.786-45.467Q136.519-45.719 136.368-46.059Q136.218-46.399 136.218-46.774M136.972-47.083L138.933-47.083Q138.933-47.387 138.831-47.678Q138.730-47.969 138.513-48.151Q138.296-48.333 137.980-48.333Q137.679-48.333 137.448-48.145Q137.218-47.958 137.095-47.666Q136.972-47.375 136.972-47.083M141.812-44.942Q141.331-44.942 140.923-45.186Q140.515-45.430 140.276-45.844Q140.038-46.258 140.038-46.747Q140.038-47.239 140.296-47.655Q140.554-48.071 140.985-48.309Q141.417-48.547 141.909-48.547Q142.530-48.547 142.980-48.110L142.980-49.739Q142.980-49.954 142.917-50.049Q142.855-50.145 142.737-50.166Q142.620-50.188 142.374-50.188L142.374-50.485L143.597-50.571L143.597-45.762Q143.597-45.551 143.659-45.456Q143.722-45.360 143.839-45.338Q143.956-45.317 144.206-45.317L144.206-45.020L142.956-44.942L142.956-45.426Q142.491-44.942 141.812-44.942M141.878-45.196Q142.218-45.196 142.511-45.387Q142.804-45.579 142.956-45.875L142.956-47.708Q142.808-47.981 142.546-48.137Q142.284-48.293 141.972-48.293Q141.347-48.293 141.064-47.846Q140.780-47.399 140.780-46.739Q140.780-46.094 141.032-45.645Q141.284-45.196 141.878-45.196M145.116-43.020L145.034-43.020Q144.999-43.020 144.974-43.049Q144.948-43.079 144.948-43.118Q144.948-43.168 144.980-43.188Q145.366-43.524 145.650-43.973Q145.933-44.422 146.099-44.922Q146.265-45.422 146.339-45.940Q146.413-46.458 146.413-47.020Q146.413-47.590 146.339-48.106Q146.265-48.622 146.099-49.118Q145.933-49.614 145.653-50.061Q145.374-50.508 144.980-50.852Q144.948-50.872 144.948-50.922Q144.948-50.961 144.974-50.991Q144.999-51.020 145.034-51.020L145.116-51.020Q145.128-51.020 145.138-51.018Q145.148-51.016 145.155-51.012Q145.769-50.555 146.171-49.920Q146.573-49.286 146.769-48.540Q146.964-47.793 146.964-47.020Q146.964-46.247 146.769-45.500Q146.573-44.754 146.171-44.120Q145.769-43.485 145.155-43.028Q145.144-43.028 145.136-43.026Q145.128-43.024 145.116-43.020",[1025],[1000,6417,6418,6421],{"fill":1006},[1010,6419],{"d":6420},"M-65.403-35.773h18.494v-18.494h-18.494Z",[1000,6422,6424],{"transform":6423},"translate(-107.588 2.9)",[1010,6425],{"d":6426,"fill":1002,"stroke":1002,"className":6427,"style":1026},"M53.026-45.020L49.576-45.020L49.576-45.253Q49.576-45.266 49.607-45.297L51.061-46.874Q51.527-47.371 51.780-47.676Q52.033-47.982 52.224-48.393Q52.415-48.804 52.415-49.243Q52.415-49.832 52.092-50.265Q51.769-50.698 51.189-50.698Q50.925-50.698 50.679-50.588Q50.433-50.478 50.257-50.291Q50.081-50.104 49.985-49.854L50.064-49.854Q50.266-49.854 50.409-49.718Q50.552-49.582 50.552-49.366Q50.552-49.160 50.409-49.021Q50.266-48.883 50.064-48.883Q49.862-48.883 49.719-49.026Q49.576-49.168 49.576-49.366Q49.576-49.828 49.813-50.201Q50.051-50.575 50.451-50.794Q50.850-51.014 51.299-51.014Q51.822-51.014 52.276-50.799Q52.731-50.583 53.004-50.184Q53.276-49.784 53.276-49.243Q53.276-48.848 53.105-48.494Q52.933-48.140 52.668-47.861Q52.402-47.582 51.951-47.197Q51.501-46.813 51.422-46.738L50.398-45.776L51.215-45.776Q51.866-45.776 52.303-45.787Q52.740-45.798 52.771-45.820Q52.841-45.903 52.896-46.143Q52.951-46.382 52.991-46.650L53.276-46.650",[1025],[1000,6429,6430,6433],{"fill":1006},[1010,6431],{"d":6432},"M-46.51-35.773h18.495v-18.494h-18.494Z",[1000,6434,6436],{"transform":6435},"translate(-88.693 2.9)",[1010,6437],{"d":6438,"fill":1002,"stroke":1002,"className":6439,"style":1026},"M50.020-45.741L49.976-45.741Q50.178-45.424 50.565-45.266Q50.952-45.108 51.378-45.108Q51.914-45.108 52.153-45.543Q52.393-45.978 52.393-46.558Q52.393-47.138 52.147-47.578Q51.901-48.017 51.369-48.017L50.749-48.017Q50.723-48.017 50.690-48.046Q50.657-48.074 50.657-48.096L50.657-48.197Q50.657-48.228 50.686-48.252Q50.714-48.276 50.749-48.276L51.268-48.316Q51.734-48.316 51.980-48.788Q52.226-49.261 52.226-49.779Q52.226-50.206 52.013-50.480Q51.800-50.755 51.378-50.755Q51.035-50.755 50.710-50.625Q50.385-50.496 50.200-50.241L50.226-50.241Q50.429-50.241 50.565-50.100Q50.701-49.959 50.701-49.762Q50.701-49.564 50.567-49.430Q50.433-49.296 50.235-49.296Q50.033-49.296 49.895-49.430Q49.756-49.564 49.756-49.762Q49.756-50.351 50.259-50.682Q50.763-51.014 51.378-51.014Q51.756-51.014 52.158-50.874Q52.560-50.733 52.828-50.454Q53.096-50.175 53.096-49.779Q53.096-49.230 52.742-48.793Q52.389-48.355 51.848-48.171Q52.239-48.092 52.584-47.868Q52.929-47.644 53.140-47.303Q53.351-46.962 53.351-46.567Q53.351-46.185 53.188-45.862Q53.026-45.539 52.734-45.303Q52.441-45.068 52.094-44.945Q51.747-44.822 51.378-44.822Q50.930-44.822 50.499-44.983Q50.068-45.143 49.787-45.470Q49.506-45.798 49.506-46.255Q49.506-46.470 49.653-46.613Q49.800-46.756 50.020-46.756Q50.231-46.756 50.376-46.611Q50.521-46.466 50.521-46.255Q50.521-46.044 50.374-45.892Q50.226-45.741 50.020-45.741",[1025],[1000,6441,6442,6445],{"fill":1006},[1010,6443],{"d":6444},"M-27.615-35.773H-9.12v-18.494h-18.494Z",[1000,6446,6448],{"transform":6447},"translate(-69.799 2.9)",[1010,6449],{"d":6450,"fill":1002,"stroke":1002,"className":6451,"style":1026},"M51.817-46.497L49.378-46.497L49.378-46.813L52.204-50.961Q52.248-51.014 52.314-51.014L52.468-51.014Q52.507-51.014 52.540-50.981Q52.573-50.948 52.573-50.904L52.573-46.813L53.474-46.813L53.474-46.497L52.573-46.497L52.573-45.631Q52.573-45.336 53.474-45.336L53.474-45.020L50.921-45.020L50.921-45.336Q51.281-45.336 51.549-45.391Q51.817-45.446 51.817-45.631L51.817-46.497M51.874-49.986L49.712-46.813L51.874-46.813",[1025],[1000,6453,6454,6457],{"fill":1006,"stroke":1007,"style":1008},[1010,6455],{"d":6456},"M-8.32-35.773h18.494v-18.494H-8.321Z",[1000,6458,6460],{"transform":6459},"translate(-50.505 2.9)",[1010,6461],{"d":6462,"fill":1002,"stroke":1002,"className":6463,"style":1026},"M53.026-45.020L49.994-45.020L49.994-45.336Q51.145-45.336 51.145-45.631L51.145-50.355Q50.657-50.122 49.936-50.122L49.936-50.438Q51.066-50.438 51.628-51.014L51.773-51.014Q51.808-51.014 51.841-50.981Q51.874-50.948 51.874-50.913L51.874-45.631Q51.874-45.336 53.026-45.336",[1025],[1000,6465,6466,6469,6472],{"fill":3457,"stroke":3457,"style":1145},[1010,6467],{"fill":1015,"d":6468},"M.927-35.173c0 22.762-57.083 22.362-57.083 3.726",[1010,6470],{"d":6471},"m-56.156-34.434-1.577 4.17 1.577-1.383 1.576 1.382Z",[1000,6473,6474,6481,6487],{"fill":3457,"stroke":1015,"fontFamily":1194,"fontSize":1195},[1000,6475,6477],{"transform":6476},"translate(-96.992 36.007)",[1010,6478],{"d":6479,"fill":3457,"stroke":3457,"className":6480,"style":1183},"M49.400-45.028L49.400-46.250Q49.400-46.278 49.431-46.309Q49.463-46.340 49.486-46.340L49.592-46.340Q49.662-46.340 49.678-46.278Q49.740-45.958 49.879-45.717Q50.017-45.477 50.250-45.336Q50.482-45.196 50.791-45.196Q51.029-45.196 51.238-45.256Q51.447-45.317 51.584-45.465Q51.721-45.614 51.721-45.860Q51.721-46.114 51.510-46.280Q51.299-46.446 51.029-46.500L50.408-46.614Q50.002-46.692 49.701-46.948Q49.400-47.204 49.400-47.579Q49.400-47.946 49.601-48.168Q49.803-48.391 50.127-48.489Q50.451-48.586 50.791-48.586Q51.256-48.586 51.553-48.379L51.775-48.563Q51.799-48.586 51.830-48.586L51.881-48.586Q51.912-48.586 51.939-48.559Q51.967-48.532 51.967-48.500L51.967-47.516Q51.967-47.485 51.941-47.456Q51.916-47.426 51.881-47.426L51.775-47.426Q51.740-47.426 51.713-47.454Q51.685-47.481 51.685-47.516Q51.685-47.915 51.433-48.135Q51.181-48.356 50.783-48.356Q50.428-48.356 50.144-48.233Q49.861-48.110 49.861-47.805Q49.861-47.586 50.062-47.454Q50.264-47.321 50.510-47.278L51.135-47.165Q51.564-47.075 51.873-46.778Q52.181-46.481 52.181-46.067Q52.181-45.497 51.783-45.219Q51.385-44.942 50.791-44.942Q50.240-44.942 49.889-45.278L49.592-44.965Q49.568-44.942 49.533-44.942L49.486-44.942Q49.463-44.942 49.431-44.973Q49.400-45.004 49.400-45.028M54.568-45.020L52.791-45.020L52.791-45.317Q53.064-45.317 53.232-45.364Q53.400-45.411 53.400-45.579L53.400-47.715Q53.400-47.930 53.344-48.026Q53.287-48.122 53.174-48.143Q53.060-48.165 52.814-48.165L52.814-48.461L54.014-48.547L54.014-45.579Q54.014-45.411 54.160-45.364Q54.306-45.317 54.568-45.317L54.568-45.020M53.127-49.942Q53.127-50.133 53.262-50.264Q53.396-50.395 53.592-50.395Q53.713-50.395 53.816-50.333Q53.920-50.270 53.982-50.166Q54.045-50.063 54.045-49.942Q54.045-49.747 53.914-49.612Q53.783-49.477 53.592-49.477Q53.392-49.477 53.260-49.610Q53.127-49.743 53.127-49.942M57.135-45.020L55.150-45.020L55.150-45.317Q55.424-45.317 55.592-45.364Q55.760-45.411 55.760-45.579L55.760-48.172L55.119-48.172L55.119-48.469L55.760-48.469L55.760-49.403Q55.760-49.668 55.877-49.905Q55.994-50.141 56.187-50.305Q56.381-50.469 56.629-50.561Q56.877-50.653 57.142-50.653Q57.428-50.653 57.652-50.495Q57.877-50.336 57.877-50.059Q57.877-49.903 57.771-49.793Q57.666-49.684 57.502-49.684Q57.346-49.684 57.236-49.793Q57.127-49.903 57.127-50.059Q57.127-50.266 57.287-50.372Q57.189-50.395 57.096-50.395Q56.865-50.395 56.693-50.239Q56.521-50.083 56.435-49.846Q56.349-49.610 56.349-49.387L56.349-48.469L57.318-48.469L57.318-48.172L56.373-48.172L56.373-45.579Q56.373-45.411 56.599-45.364Q56.826-45.317 57.135-45.317L57.135-45.020M58.287-45.981L58.287-48.172L57.584-48.172L57.584-48.426Q57.939-48.426 58.181-48.659Q58.424-48.891 58.535-49.239Q58.646-49.586 58.646-49.942L58.928-49.942L58.928-48.469L60.103-48.469L60.103-48.172L58.928-48.172L58.928-45.997Q58.928-45.676 59.047-45.448Q59.166-45.219 59.447-45.219Q59.627-45.219 59.744-45.342Q59.861-45.465 59.914-45.645Q59.967-45.825 59.967-45.997L59.967-46.469L60.248-46.469L60.248-45.981Q60.248-45.727 60.142-45.487Q60.037-45.247 59.840-45.094Q59.642-44.942 59.385-44.942Q59.068-44.942 58.816-45.065Q58.564-45.188 58.426-45.422Q58.287-45.657 58.287-45.981M61.010-45.028L61.010-46.250Q61.010-46.278 61.041-46.309Q61.072-46.340 61.096-46.340L61.201-46.340Q61.271-46.340 61.287-46.278Q61.349-45.958 61.488-45.717Q61.627-45.477 61.859-45.336Q62.092-45.196 62.400-45.196Q62.639-45.196 62.848-45.256Q63.056-45.317 63.193-45.465Q63.330-45.614 63.330-45.860Q63.330-46.114 63.119-46.280Q62.908-46.446 62.639-46.500L62.017-46.614Q61.611-46.692 61.310-46.948Q61.010-47.204 61.010-47.579Q61.010-47.946 61.211-48.168Q61.412-48.391 61.736-48.489Q62.060-48.586 62.400-48.586Q62.865-48.586 63.162-48.379L63.385-48.563Q63.408-48.586 63.439-48.586L63.490-48.586Q63.521-48.586 63.549-48.559Q63.576-48.532 63.576-48.500L63.576-47.516Q63.576-47.485 63.551-47.456Q63.525-47.426 63.490-47.426L63.385-47.426Q63.349-47.426 63.322-47.454Q63.295-47.481 63.295-47.516Q63.295-47.915 63.043-48.135Q62.791-48.356 62.392-48.356Q62.037-48.356 61.754-48.233Q61.471-48.110 61.471-47.805Q61.471-47.586 61.672-47.454Q61.873-47.321 62.119-47.278L62.744-47.165Q63.174-47.075 63.482-46.778Q63.791-46.481 63.791-46.067Q63.791-45.497 63.392-45.219Q62.994-44.942 62.400-44.942Q61.849-44.942 61.498-45.278L61.201-44.965Q61.178-44.942 61.142-44.942L61.096-44.942Q61.072-44.942 61.041-44.973Q61.010-45.004 61.010-45.028",[1025],[1000,6482,6483],{"transform":6476},[1010,6484],{"d":6485,"fill":3457,"stroke":3457,"className":6486,"style":1183},"M69.043-43.469L67.188-43.469L67.188-43.762Q67.457-43.762 67.625-43.807Q67.793-43.852 67.793-44.028L67.793-47.852Q67.793-48.059 67.637-48.112Q67.481-48.165 67.188-48.165L67.188-48.461L68.410-48.547L68.410-48.083Q68.641-48.305 68.955-48.426Q69.270-48.547 69.609-48.547Q70.082-48.547 70.486-48.301Q70.891-48.055 71.123-47.639Q71.356-47.223 71.356-46.747Q71.356-46.372 71.207-46.043Q71.059-45.715 70.789-45.463Q70.520-45.211 70.176-45.077Q69.832-44.942 69.473-44.942Q69.184-44.942 68.912-45.063Q68.641-45.184 68.434-45.395L68.434-44.028Q68.434-43.852 68.602-43.807Q68.770-43.762 69.043-43.762L69.043-43.469M68.434-47.684L68.434-45.844Q68.586-45.555 68.848-45.375Q69.109-45.196 69.418-45.196Q69.703-45.196 69.926-45.334Q70.149-45.473 70.301-45.704Q70.453-45.934 70.531-46.206Q70.609-46.477 70.609-46.747Q70.609-47.079 70.484-47.436Q70.359-47.793 70.111-48.030Q69.863-48.266 69.516-48.266Q69.192-48.266 68.897-48.110Q68.602-47.954 68.434-47.684M71.977-45.852Q71.977-46.336 72.379-46.631Q72.781-46.926 73.332-47.045Q73.883-47.165 74.375-47.165L74.375-47.454Q74.375-47.680 74.260-47.887Q74.145-48.094 73.947-48.213Q73.750-48.333 73.520-48.333Q73.094-48.333 72.809-48.227Q72.879-48.200 72.926-48.145Q72.973-48.090 72.998-48.020Q73.024-47.950 73.024-47.875Q73.024-47.770 72.973-47.678Q72.922-47.586 72.830-47.536Q72.738-47.485 72.633-47.485Q72.527-47.485 72.436-47.536Q72.344-47.586 72.293-47.678Q72.242-47.770 72.242-47.875Q72.242-48.293 72.631-48.440Q73.020-48.586 73.520-48.586Q73.852-48.586 74.205-48.456Q74.559-48.325 74.787-48.071Q75.016-47.817 75.016-47.469L75.016-45.668Q75.016-45.536 75.088-45.426Q75.160-45.317 75.289-45.317Q75.414-45.317 75.483-45.422Q75.551-45.528 75.551-45.668L75.551-46.180L75.832-46.180L75.832-45.668Q75.832-45.465 75.715-45.307Q75.598-45.149 75.416-45.065Q75.234-44.981 75.031-44.981Q74.801-44.981 74.649-45.153Q74.496-45.325 74.465-45.555Q74.305-45.274 73.996-45.108Q73.688-44.942 73.336-44.942Q72.824-44.942 72.401-45.165Q71.977-45.387 71.977-45.852M72.664-45.852Q72.664-45.567 72.891-45.381Q73.117-45.196 73.410-45.196Q73.656-45.196 73.881-45.313Q74.106-45.430 74.240-45.633Q74.375-45.836 74.375-46.090L74.375-46.922Q74.109-46.922 73.824-46.868Q73.539-46.813 73.268-46.684Q72.996-46.555 72.830-46.348Q72.664-46.141 72.664-45.852M76.168-45.028L76.168-46.250Q76.168-46.278 76.199-46.309Q76.231-46.340 76.254-46.340L76.359-46.340Q76.430-46.340 76.445-46.278Q76.508-45.958 76.647-45.717Q76.785-45.477 77.018-45.336Q77.250-45.196 77.559-45.196Q77.797-45.196 78.006-45.256Q78.215-45.317 78.352-45.465Q78.488-45.614 78.488-45.860Q78.488-46.114 78.277-46.280Q78.067-46.446 77.797-46.500L77.176-46.614Q76.770-46.692 76.469-46.948Q76.168-47.204 76.168-47.579Q76.168-47.946 76.369-48.168Q76.570-48.391 76.895-48.489Q77.219-48.586 77.559-48.586Q78.024-48.586 78.320-48.379L78.543-48.563Q78.567-48.586 78.598-48.586L78.649-48.586Q78.680-48.586 78.707-48.559Q78.734-48.532 78.734-48.500L78.734-47.516Q78.734-47.485 78.709-47.456Q78.684-47.426 78.649-47.426L78.543-47.426Q78.508-47.426 78.481-47.454Q78.453-47.481 78.453-47.516Q78.453-47.915 78.201-48.135Q77.949-48.356 77.551-48.356Q77.195-48.356 76.912-48.233Q76.629-48.110 76.629-47.805Q76.629-47.586 76.830-47.454Q77.031-47.321 77.277-47.278L77.902-47.165Q78.332-47.075 78.641-46.778Q78.949-46.481 78.949-46.067Q78.949-45.497 78.551-45.219Q78.152-44.942 77.559-44.942Q77.008-44.942 76.656-45.278L76.359-44.965Q76.336-44.942 76.301-44.942L76.254-44.942Q76.231-44.942 76.199-44.973Q76.168-45.004 76.168-45.028M80.102-45.981L80.102-48.172L79.399-48.172L79.399-48.426Q79.754-48.426 79.996-48.659Q80.238-48.891 80.350-49.239Q80.461-49.586 80.461-49.942L80.742-49.942L80.742-48.469L81.918-48.469L81.918-48.172L80.742-48.172L80.742-45.997Q80.742-45.676 80.861-45.448Q80.981-45.219 81.262-45.219Q81.442-45.219 81.559-45.342Q81.676-45.465 81.729-45.645Q81.781-45.825 81.781-45.997L81.781-46.469L82.063-46.469L82.063-45.981Q82.063-45.727 81.957-45.487Q81.852-45.247 81.654-45.094Q81.457-44.942 81.199-44.942Q80.883-44.942 80.631-45.065Q80.379-45.188 80.240-45.422Q80.102-45.657 80.102-45.981",[1025],[1000,6488,6489],{"transform":6476},[1010,6490],{"d":6491,"fill":3457,"stroke":3457,"className":6492,"style":1183},"M86.179-45.653Q86.370-45.379 86.726-45.252Q87.081-45.125 87.464-45.125Q87.800-45.125 88.009-45.311Q88.218-45.497 88.314-45.790Q88.409-46.083 88.409-46.395Q88.409-46.719 88.312-47.014Q88.214-47.309 88.001-47.493Q87.788-47.676 87.456-47.676L86.890-47.676Q86.859-47.676 86.829-47.706Q86.800-47.735 86.800-47.762L86.800-47.844Q86.800-47.879 86.829-47.905Q86.859-47.930 86.890-47.930L87.370-47.965Q87.656-47.965 87.853-48.170Q88.050-48.375 88.146-48.670Q88.241-48.965 88.241-49.243Q88.241-49.622 88.042-49.860Q87.843-50.098 87.464-50.098Q87.144-50.098 86.855-49.991Q86.566-49.883 86.402-49.661Q86.581-49.661 86.704-49.534Q86.827-49.407 86.827-49.235Q86.827-49.063 86.702-48.938Q86.577-48.813 86.402-48.813Q86.230-48.813 86.105-48.938Q85.980-49.063 85.980-49.235Q85.980-49.602 86.204-49.850Q86.429-50.098 86.769-50.219Q87.109-50.340 87.464-50.340Q87.812-50.340 88.175-50.219Q88.538-50.098 88.786-49.848Q89.034-49.598 89.034-49.243Q89.034-48.758 88.716-48.375Q88.398-47.993 87.921-47.821Q88.472-47.711 88.872-47.325Q89.273-46.938 89.273-46.403Q89.273-45.946 89.009-45.590Q88.745-45.235 88.323-45.043Q87.902-44.852 87.464-44.852Q87.054-44.852 86.661-44.987Q86.269-45.122 86.003-45.407Q85.738-45.692 85.738-46.110Q85.738-46.305 85.870-46.434Q86.003-46.563 86.195-46.563Q86.320-46.563 86.423-46.504Q86.527-46.446 86.589-46.340Q86.652-46.235 86.652-46.110Q86.652-45.915 86.517-45.784Q86.382-45.653 86.179-45.653",[1025],[1000,6494,6495,6502,6508,6514,6520],{"stroke":1015,"fontFamily":1194,"fontSize":1195},[1000,6496,6498],{"transform":6497},"translate(46.212 -17.917)",[1010,6499],{"d":6500,"fill":1002,"stroke":1002,"className":6501,"style":1183},"M50.271-45.020L49.990-45.020L49.990-49.739Q49.990-49.954 49.928-50.049Q49.865-50.145 49.748-50.166Q49.631-50.188 49.385-50.188L49.385-50.485L50.607-50.571L50.607-48.083Q51.084-48.547 51.783-48.547Q52.264-48.547 52.672-48.303Q53.080-48.059 53.316-47.645Q53.553-47.231 53.553-46.747Q53.553-46.372 53.404-46.043Q53.256-45.715 52.986-45.463Q52.717-45.211 52.373-45.077Q52.029-44.942 51.670-44.942Q51.349-44.942 51.051-45.090Q50.752-45.239 50.545-45.500L50.271-45.020M50.631-47.692L50.631-45.852Q50.783-45.555 51.043-45.375Q51.303-45.196 51.615-45.196Q52.041-45.196 52.308-45.415Q52.576-45.633 52.691-45.979Q52.806-46.325 52.806-46.747Q52.806-47.395 52.558-47.844Q52.310-48.293 51.713-48.293Q51.377-48.293 51.088-48.135Q50.799-47.977 50.631-47.692",[1025],[1000,6503,6504],{"transform":6497},[1010,6505],{"d":6506,"fill":1002,"stroke":1002,"className":6507,"style":1183},"M54.315-46.774Q54.315-47.254 54.548-47.670Q54.780-48.086 55.190-48.336Q55.600-48.586 56.077-48.586Q56.807-48.586 57.206-48.145Q57.604-47.704 57.604-46.973Q57.604-46.868 57.511-46.844L55.061-46.844L55.061-46.774Q55.061-46.364 55.182-46.008Q55.304-45.653 55.575-45.436Q55.847-45.219 56.276-45.219Q56.639-45.219 56.936-45.448Q57.233-45.676 57.335-46.028Q57.343-46.075 57.429-46.090L57.511-46.090Q57.604-46.063 57.604-45.981Q57.604-45.973 57.597-45.942Q57.534-45.715 57.395-45.532Q57.257-45.348 57.065-45.215Q56.874-45.083 56.655-45.012Q56.436-44.942 56.198-44.942Q55.827-44.942 55.489-45.079Q55.151-45.215 54.884-45.467Q54.616-45.719 54.466-46.059Q54.315-46.399 54.315-46.774M55.069-47.083L57.030-47.083Q57.030-47.387 56.929-47.678Q56.827-47.969 56.610-48.151Q56.393-48.333 56.077-48.333Q55.776-48.333 55.546-48.145Q55.315-47.958 55.192-47.666Q55.069-47.375 55.069-47.083M58.136-45.028L58.136-46.250Q58.136-46.278 58.167-46.309Q58.198-46.340 58.222-46.340L58.327-46.340Q58.397-46.340 58.413-46.278Q58.475-45.958 58.614-45.717Q58.753-45.477 58.985-45.336Q59.218-45.196 59.526-45.196Q59.764-45.196 59.973-45.256Q60.182-45.317 60.319-45.465Q60.456-45.614 60.456-45.860Q60.456-46.114 60.245-46.280Q60.034-46.446 59.764-46.500L59.143-46.614Q58.737-46.692 58.436-46.948Q58.136-47.204 58.136-47.579Q58.136-47.946 58.337-48.168Q58.538-48.391 58.862-48.489Q59.186-48.586 59.526-48.586Q59.991-48.586 60.288-48.379L60.511-48.563Q60.534-48.586 60.565-48.586L60.616-48.586Q60.647-48.586 60.675-48.559Q60.702-48.532 60.702-48.500L60.702-47.516Q60.702-47.485 60.677-47.456Q60.651-47.426 60.616-47.426L60.511-47.426Q60.475-47.426 60.448-47.454Q60.421-47.481 60.421-47.516Q60.421-47.915 60.169-48.135Q59.917-48.356 59.518-48.356Q59.163-48.356 58.880-48.233Q58.597-48.110 58.597-47.805Q58.597-47.586 58.798-47.454Q58.999-47.321 59.245-47.278L59.870-47.165Q60.300-47.075 60.608-46.778Q60.917-46.481 60.917-46.067Q60.917-45.497 60.518-45.219Q60.120-44.942 59.526-44.942Q58.975-44.942 58.624-45.278L58.327-44.965Q58.304-44.942 58.268-44.942L58.222-44.942Q58.198-44.942 58.167-44.973Q58.136-45.004 58.136-45.028M62.069-45.981L62.069-48.172L61.366-48.172L61.366-48.426Q61.722-48.426 61.964-48.659Q62.206-48.891 62.317-49.239Q62.429-49.586 62.429-49.942L62.710-49.942L62.710-48.469L63.886-48.469L63.886-48.172L62.710-48.172L62.710-45.997Q62.710-45.676 62.829-45.448Q62.948-45.219 63.229-45.219Q63.409-45.219 63.526-45.342Q63.643-45.465 63.696-45.645Q63.749-45.825 63.749-45.997L63.749-46.469L64.030-46.469L64.030-45.981Q64.030-45.727 63.925-45.487Q63.819-45.247 63.622-45.094Q63.425-44.942 63.167-44.942Q62.850-44.942 62.598-45.065Q62.347-45.188 62.208-45.422Q62.069-45.657 62.069-45.981",[1025],[1000,6509,6510],{"transform":6497},[1010,6511],{"d":6512,"fill":1002,"stroke":1002,"className":6513,"style":1183},"M67.628-46.747Q67.628-47.243 67.878-47.668Q68.128-48.094 68.548-48.340Q68.968-48.586 69.468-48.586Q70.007-48.586 70.398-48.461Q70.788-48.336 70.788-47.922Q70.788-47.817 70.738-47.725Q70.687-47.633 70.595-47.583Q70.503-47.532 70.394-47.532Q70.288-47.532 70.197-47.583Q70.105-47.633 70.054-47.725Q70.003-47.817 70.003-47.922Q70.003-48.145 70.171-48.250Q69.949-48.309 69.476-48.309Q69.179-48.309 68.964-48.170Q68.749-48.032 68.618-47.801Q68.488-47.571 68.429-47.301Q68.370-47.032 68.370-46.747Q68.370-46.352 68.503-46.002Q68.636-45.653 68.908-45.436Q69.179-45.219 69.577-45.219Q69.952-45.219 70.228-45.436Q70.503-45.653 70.605-46.012Q70.620-46.075 70.683-46.075L70.788-46.075Q70.824-46.075 70.849-46.047Q70.874-46.020 70.874-45.981L70.874-45.958Q70.742-45.477 70.357-45.209Q69.972-44.942 69.468-44.942Q69.105-44.942 68.771-45.079Q68.437-45.215 68.177-45.465Q67.917-45.715 67.773-46.051Q67.628-46.387 67.628-46.747M71.460-45.852Q71.460-46.336 71.863-46.631Q72.265-46.926 72.816-47.045Q73.367-47.165 73.859-47.165L73.859-47.454Q73.859-47.680 73.743-47.887Q73.628-48.094 73.431-48.213Q73.234-48.333 73.003-48.333Q72.577-48.333 72.292-48.227Q72.363-48.200 72.409-48.145Q72.456-48.090 72.482-48.020Q72.507-47.950 72.507-47.875Q72.507-47.770 72.456-47.678Q72.406-47.586 72.314-47.536Q72.222-47.485 72.117-47.485Q72.011-47.485 71.919-47.536Q71.827-47.586 71.777-47.678Q71.726-47.770 71.726-47.875Q71.726-48.293 72.115-48.440Q72.503-48.586 73.003-48.586Q73.335-48.586 73.689-48.456Q74.042-48.325 74.271-48.071Q74.499-47.817 74.499-47.469L74.499-45.668Q74.499-45.536 74.572-45.426Q74.644-45.317 74.773-45.317Q74.898-45.317 74.966-45.422Q75.034-45.528 75.034-45.668L75.034-46.180L75.316-46.180L75.316-45.668Q75.316-45.465 75.199-45.307Q75.081-45.149 74.900-45.065Q74.718-44.981 74.515-44.981Q74.284-44.981 74.132-45.153Q73.980-45.325 73.949-45.555Q73.788-45.274 73.480-45.108Q73.171-44.942 72.820-44.942Q72.308-44.942 71.884-45.165Q71.460-45.387 71.460-45.852M72.148-45.852Q72.148-45.567 72.374-45.381Q72.601-45.196 72.894-45.196Q73.140-45.196 73.365-45.313Q73.589-45.430 73.724-45.633Q73.859-45.836 73.859-46.090L73.859-46.922Q73.593-46.922 73.308-46.868Q73.023-46.813 72.751-46.684Q72.480-46.555 72.314-46.348Q72.148-46.141 72.148-45.852M75.652-45.028L75.652-46.250Q75.652-46.278 75.683-46.309Q75.714-46.340 75.738-46.340L75.843-46.340Q75.913-46.340 75.929-46.278Q75.992-45.958 76.130-45.717Q76.269-45.477 76.501-45.336Q76.734-45.196 77.042-45.196Q77.281-45.196 77.490-45.256Q77.699-45.317 77.835-45.465Q77.972-45.614 77.972-45.860Q77.972-46.114 77.761-46.280Q77.550-46.446 77.281-46.500L76.659-46.614Q76.253-46.692 75.952-46.948Q75.652-47.204 75.652-47.579Q75.652-47.946 75.853-48.168Q76.054-48.391 76.378-48.489Q76.702-48.586 77.042-48.586Q77.507-48.586 77.804-48.379L78.027-48.563Q78.050-48.586 78.081-48.586L78.132-48.586Q78.163-48.586 78.191-48.559Q78.218-48.532 78.218-48.500L78.218-47.516Q78.218-47.485 78.193-47.456Q78.167-47.426 78.132-47.426L78.027-47.426Q77.992-47.426 77.964-47.454Q77.937-47.481 77.937-47.516Q77.937-47.915 77.685-48.135Q77.433-48.356 77.034-48.356Q76.679-48.356 76.396-48.233Q76.113-48.110 76.113-47.805Q76.113-47.586 76.314-47.454Q76.515-47.321 76.761-47.278L77.386-47.165Q77.816-47.075 78.124-46.778Q78.433-46.481 78.433-46.067Q78.433-45.497 78.034-45.219Q77.636-44.942 77.042-44.942Q76.492-44.942 76.140-45.278L75.843-44.965Q75.820-44.942 75.784-44.942L75.738-44.942Q75.714-44.942 75.683-44.973Q75.652-45.004 75.652-45.028M78.960-46.774Q78.960-47.254 79.193-47.670Q79.425-48.086 79.835-48.336Q80.245-48.586 80.722-48.586Q81.452-48.586 81.851-48.145Q82.249-47.704 82.249-46.973Q82.249-46.868 82.156-46.844L79.706-46.844L79.706-46.774Q79.706-46.364 79.827-46.008Q79.949-45.653 80.220-45.436Q80.492-45.219 80.921-45.219Q81.284-45.219 81.581-45.448Q81.878-45.676 81.980-46.028Q81.988-46.075 82.074-46.090L82.156-46.090Q82.249-46.063 82.249-45.981Q82.249-45.973 82.242-45.942Q82.179-45.715 82.040-45.532Q81.902-45.348 81.710-45.215Q81.519-45.083 81.300-45.012Q81.081-44.942 80.843-44.942Q80.472-44.942 80.134-45.079Q79.796-45.215 79.529-45.467Q79.261-45.719 79.111-46.059Q78.960-46.399 78.960-46.774M79.714-47.083L81.675-47.083Q81.675-47.387 81.574-47.678Q81.472-47.969 81.255-48.151Q81.038-48.333 80.722-48.333Q80.421-48.333 80.191-48.145Q79.960-47.958 79.837-47.666Q79.714-47.375 79.714-47.083",[1025],[1000,6515,6516],{"transform":6497},[1010,6517],{"d":6518,"fill":1002,"stroke":1002,"className":6519,"style":1183},"M87.956-43.028Q87.343-43.485 86.941-44.120Q86.538-44.754 86.343-45.500Q86.148-46.247 86.148-47.020Q86.148-47.793 86.343-48.540Q86.538-49.286 86.941-49.920Q87.343-50.555 87.956-51.012Q87.968-51.016 87.976-51.018Q87.984-51.020 87.995-51.020L88.073-51.020Q88.112-51.020 88.138-50.993Q88.163-50.965 88.163-50.922Q88.163-50.872 88.132-50.852Q87.624-50.399 87.302-49.776Q86.980-49.153 86.839-48.458Q86.698-47.762 86.698-47.020Q86.698-46.286 86.837-45.586Q86.976-44.887 87.300-44.262Q87.624-43.637 88.132-43.188Q88.163-43.168 88.163-43.118Q88.163-43.075 88.138-43.047Q88.112-43.020 88.073-43.020L87.995-43.020Q87.987-43.024 87.978-43.026Q87.968-43.028 87.956-43.028M88.980-45.852Q88.980-46.336 89.382-46.631Q89.784-46.926 90.335-47.045Q90.886-47.165 91.378-47.165L91.378-47.454Q91.378-47.680 91.263-47.887Q91.148-48.094 90.950-48.213Q90.753-48.333 90.523-48.333Q90.097-48.333 89.812-48.227Q89.882-48.200 89.929-48.145Q89.976-48.090 90.001-48.020Q90.026-47.950 90.026-47.875Q90.026-47.770 89.976-47.678Q89.925-47.586 89.833-47.536Q89.741-47.485 89.636-47.485Q89.530-47.485 89.439-47.536Q89.347-47.586 89.296-47.678Q89.245-47.770 89.245-47.875Q89.245-48.293 89.634-48.440Q90.023-48.586 90.523-48.586Q90.855-48.586 91.208-48.456Q91.562-48.325 91.790-48.071Q92.019-47.817 92.019-47.469L92.019-45.668Q92.019-45.536 92.091-45.426Q92.163-45.317 92.292-45.317Q92.417-45.317 92.485-45.422Q92.554-45.528 92.554-45.668L92.554-46.180L92.835-46.180L92.835-45.668Q92.835-45.465 92.718-45.307Q92.601-45.149 92.419-45.065Q92.237-44.981 92.034-44.981Q91.804-44.981 91.651-45.153Q91.499-45.325 91.468-45.555Q91.308-45.274 90.999-45.108Q90.691-44.942 90.339-44.942Q89.827-44.942 89.403-45.165Q88.980-45.387 88.980-45.852M89.667-45.852Q89.667-45.567 89.894-45.381Q90.120-45.196 90.413-45.196Q90.659-45.196 90.884-45.313Q91.109-45.430 91.243-45.633Q91.378-45.836 91.378-46.090L91.378-46.922Q91.112-46.922 90.827-46.868Q90.542-46.813 90.271-46.684Q89.999-46.555 89.833-46.348Q89.667-46.141 89.667-45.852M95.042-45.020L93.210-45.020L93.210-45.317Q93.484-45.317 93.651-45.364Q93.819-45.411 93.819-45.579L93.819-49.739Q93.819-49.954 93.757-50.049Q93.694-50.145 93.575-50.166Q93.456-50.188 93.210-50.188L93.210-50.485L94.433-50.571L94.433-45.579Q94.433-45.411 94.601-45.364Q94.769-45.317 95.042-45.317L95.042-45.020M97.495-45.020L95.515-45.020L95.515-45.317Q95.784-45.317 95.952-45.362Q96.120-45.407 96.120-45.579L96.120-47.715Q96.120-47.930 96.058-48.026Q95.995-48.122 95.878-48.143Q95.761-48.165 95.515-48.165L95.515-48.461L96.683-48.547L96.683-47.762Q96.761-47.973 96.913-48.159Q97.066-48.344 97.265-48.446Q97.464-48.547 97.691-48.547Q97.937-48.547 98.128-48.403Q98.319-48.258 98.319-48.028Q98.319-47.872 98.214-47.762Q98.109-47.653 97.952-47.653Q97.796-47.653 97.687-47.762Q97.577-47.872 97.577-48.028Q97.577-48.188 97.683-48.293Q97.359-48.293 97.144-48.065Q96.929-47.836 96.833-47.497Q96.737-47.157 96.737-46.852L96.737-45.579Q96.737-45.411 96.964-45.364Q97.191-45.317 97.495-45.317L97.495-45.020M98.800-46.774Q98.800-47.254 99.032-47.670Q99.265-48.086 99.675-48.336Q100.085-48.586 100.562-48.586Q101.292-48.586 101.691-48.145Q102.089-47.704 102.089-46.973Q102.089-46.868 101.995-46.844L99.546-46.844L99.546-46.774Q99.546-46.364 99.667-46.008Q99.788-45.653 100.060-45.436Q100.331-45.219 100.761-45.219Q101.124-45.219 101.421-45.448Q101.718-45.676 101.819-46.028Q101.827-46.075 101.913-46.090L101.995-46.090Q102.089-46.063 102.089-45.981Q102.089-45.973 102.081-45.942Q102.019-45.715 101.880-45.532Q101.741-45.348 101.550-45.215Q101.359-45.083 101.140-45.012Q100.921-44.942 100.683-44.942Q100.312-44.942 99.974-45.079Q99.636-45.215 99.368-45.467Q99.101-45.719 98.950-46.059Q98.800-46.399 98.800-46.774M99.554-47.083L101.515-47.083Q101.515-47.387 101.413-47.678Q101.312-47.969 101.095-48.151Q100.878-48.333 100.562-48.333Q100.261-48.333 100.030-48.145Q99.800-47.958 99.677-47.666Q99.554-47.375 99.554-47.083M102.675-45.852Q102.675-46.336 103.077-46.631Q103.480-46.926 104.030-47.045Q104.581-47.165 105.073-47.165L105.073-47.454Q105.073-47.680 104.958-47.887Q104.843-48.094 104.646-48.213Q104.448-48.333 104.218-48.333Q103.792-48.333 103.507-48.227Q103.577-48.200 103.624-48.145Q103.671-48.090 103.696-48.020Q103.722-47.950 103.722-47.875Q103.722-47.770 103.671-47.678Q103.620-47.586 103.528-47.536Q103.437-47.485 103.331-47.485Q103.226-47.485 103.134-47.536Q103.042-47.586 102.991-47.678Q102.941-47.770 102.941-47.875Q102.941-48.293 103.329-48.440Q103.718-48.586 104.218-48.586Q104.550-48.586 104.903-48.456Q105.257-48.325 105.485-48.071Q105.714-47.817 105.714-47.469L105.714-45.668Q105.714-45.536 105.786-45.426Q105.859-45.317 105.987-45.317Q106.112-45.317 106.181-45.422Q106.249-45.528 106.249-45.668L106.249-46.180L106.530-46.180L106.530-45.668Q106.530-45.465 106.413-45.307Q106.296-45.149 106.114-45.065Q105.933-44.981 105.730-44.981Q105.499-44.981 105.347-45.153Q105.194-45.325 105.163-45.555Q105.003-45.274 104.694-45.108Q104.386-44.942 104.034-44.942Q103.523-44.942 103.099-45.165Q102.675-45.387 102.675-45.852M103.362-45.852Q103.362-45.567 103.589-45.381Q103.816-45.196 104.109-45.196Q104.355-45.196 104.579-45.313Q104.804-45.430 104.939-45.633Q105.073-45.836 105.073-46.090L105.073-46.922Q104.808-46.922 104.523-46.868Q104.237-46.813 103.966-46.684Q103.694-46.555 103.528-46.348Q103.362-46.141 103.362-45.852M108.640-44.942Q108.159-44.942 107.751-45.186Q107.343-45.430 107.105-45.844Q106.866-46.258 106.866-46.747Q106.866-47.239 107.124-47.655Q107.382-48.071 107.814-48.309Q108.245-48.547 108.737-48.547Q109.359-48.547 109.808-48.110L109.808-49.739Q109.808-49.954 109.745-50.049Q109.683-50.145 109.566-50.166Q109.448-50.188 109.202-50.188L109.202-50.485L110.425-50.571L110.425-45.762Q110.425-45.551 110.487-45.456Q110.550-45.360 110.667-45.338Q110.784-45.317 111.034-45.317L111.034-45.020L109.784-44.942L109.784-45.426Q109.319-44.942 108.640-44.942M108.706-45.196Q109.046-45.196 109.339-45.387Q109.632-45.579 109.784-45.875L109.784-47.708Q109.636-47.981 109.374-48.137Q109.112-48.293 108.800-48.293Q108.175-48.293 107.892-47.846Q107.609-47.399 107.609-46.739Q107.609-46.094 107.860-45.645Q108.112-45.196 108.706-45.196M111.960-43.723Q112.073-43.645 112.249-43.645Q112.538-43.645 112.759-43.858Q112.980-44.071 113.105-44.372L113.394-45.020L112.120-47.907Q112.038-48.083 111.894-48.127Q111.749-48.172 111.480-48.172L111.480-48.469L113.198-48.469L113.198-48.172Q112.776-48.172 112.776-47.989Q112.776-47.977 112.792-47.907L113.730-45.782L114.562-47.692Q114.601-47.782 114.601-47.860Q114.601-48 114.499-48.086Q114.398-48.172 114.257-48.172L114.257-48.469L115.609-48.469L115.609-48.172Q115.355-48.172 115.161-48.047Q114.968-47.922 114.862-47.692L113.417-44.372Q113.304-44.118 113.138-43.895Q112.972-43.672 112.743-43.530Q112.515-43.387 112.249-43.387Q111.952-43.387 111.712-43.579Q111.472-43.770 111.472-44.059Q111.472-44.215 111.577-44.317Q111.683-44.418 111.831-44.418Q111.937-44.418 112.017-44.372Q112.097-44.325 112.144-44.247Q112.191-44.168 112.191-44.059Q112.191-43.938 112.130-43.850Q112.069-43.762 111.960-43.723",[1025],[1000,6521,6522],{"transform":6497},[1010,6523],{"d":6524,"fill":1002,"stroke":1002,"className":6525,"style":1183},"M118.919-45.028L118.919-46.250Q118.919-46.278 118.951-46.309Q118.982-46.340 119.005-46.340L119.111-46.340Q119.181-46.340 119.197-46.278Q119.259-45.958 119.398-45.717Q119.536-45.477 119.769-45.336Q120.001-45.196 120.310-45.196Q120.548-45.196 120.757-45.256Q120.966-45.317 121.103-45.465Q121.240-45.614 121.240-45.860Q121.240-46.114 121.029-46.280Q120.818-46.446 120.548-46.500L119.927-46.614Q119.521-46.692 119.220-46.948Q118.919-47.204 118.919-47.579Q118.919-47.946 119.120-48.168Q119.322-48.391 119.646-48.489Q119.970-48.586 120.310-48.586Q120.775-48.586 121.072-48.379L121.294-48.563Q121.318-48.586 121.349-48.586L121.400-48.586Q121.431-48.586 121.458-48.559Q121.486-48.532 121.486-48.500L121.486-47.516Q121.486-47.485 121.460-47.456Q121.435-47.426 121.400-47.426L121.294-47.426Q121.259-47.426 121.232-47.454Q121.204-47.481 121.204-47.516Q121.204-47.915 120.952-48.135Q120.701-48.356 120.302-48.356Q119.947-48.356 119.663-48.233Q119.380-48.110 119.380-47.805Q119.380-47.586 119.581-47.454Q119.783-47.321 120.029-47.278L120.654-47.165Q121.083-47.075 121.392-46.778Q121.701-46.481 121.701-46.067Q121.701-45.497 121.302-45.219Q120.904-44.942 120.310-44.942Q119.759-44.942 119.408-45.278L119.111-44.965Q119.087-44.942 119.052-44.942L119.005-44.942Q118.982-44.942 118.951-44.973Q118.919-45.004 118.919-45.028M122.228-46.715Q122.228-47.219 122.484-47.651Q122.740-48.083 123.175-48.334Q123.611-48.586 124.111-48.586Q124.497-48.586 124.839-48.442Q125.181-48.297 125.443-48.036Q125.704-47.774 125.847-47.438Q125.990-47.102 125.990-46.715Q125.990-46.223 125.726-45.813Q125.462-45.403 125.033-45.172Q124.603-44.942 124.111-44.942Q123.618-44.942 123.185-45.174Q122.751-45.407 122.490-45.815Q122.228-46.223 122.228-46.715M124.111-45.219Q124.568-45.219 124.820-45.442Q125.072-45.665 125.159-46.016Q125.247-46.368 125.247-46.813Q125.247-47.243 125.154-47.581Q125.060-47.918 124.806-48.125Q124.552-48.333 124.111-48.333Q123.462-48.333 123.218-47.916Q122.974-47.500 122.974-46.813Q122.974-46.368 123.062-46.016Q123.150-45.665 123.402-45.442Q123.654-45.219 124.111-45.219M128.482-45.020L126.501-45.020L126.501-45.317Q126.771-45.317 126.939-45.362Q127.107-45.407 127.107-45.579L127.107-47.715Q127.107-47.930 127.044-48.026Q126.982-48.122 126.865-48.143Q126.747-48.165 126.501-48.165L126.501-48.461L127.669-48.547L127.669-47.762Q127.747-47.973 127.900-48.159Q128.052-48.344 128.251-48.446Q128.451-48.547 128.677-48.547Q128.923-48.547 129.115-48.403Q129.306-48.258 129.306-48.028Q129.306-47.872 129.201-47.762Q129.095-47.653 128.939-47.653Q128.783-47.653 128.673-47.762Q128.564-47.872 128.564-48.028Q128.564-48.188 128.669-48.293Q128.345-48.293 128.130-48.065Q127.915-47.836 127.820-47.497Q127.724-47.157 127.724-46.852L127.724-45.579Q127.724-45.411 127.951-45.364Q128.177-45.317 128.482-45.317L128.482-45.020M130.411-45.981L130.411-48.172L129.708-48.172L129.708-48.426Q130.064-48.426 130.306-48.659Q130.548-48.891 130.659-49.239Q130.771-49.586 130.771-49.942L131.052-49.942L131.052-48.469L132.228-48.469L132.228-48.172L131.052-48.172L131.052-45.997Q131.052-45.676 131.171-45.448Q131.290-45.219 131.572-45.219Q131.751-45.219 131.868-45.342Q131.986-45.465 132.038-45.645Q132.091-45.825 132.091-45.997L132.091-46.469L132.372-46.469L132.372-45.981Q132.372-45.727 132.267-45.487Q132.161-45.247 131.964-45.094Q131.767-44.942 131.509-44.942Q131.193-44.942 130.941-45.065Q130.689-45.188 130.550-45.422Q130.411-45.657 130.411-45.981M133.091-46.774Q133.091-47.254 133.324-47.670Q133.556-48.086 133.966-48.336Q134.376-48.586 134.853-48.586Q135.583-48.586 135.982-48.145Q136.380-47.704 136.380-46.973Q136.380-46.868 136.286-46.844L133.837-46.844L133.837-46.774Q133.837-46.364 133.958-46.008Q134.079-45.653 134.351-45.436Q134.622-45.219 135.052-45.219Q135.415-45.219 135.712-45.448Q136.009-45.676 136.111-46.028Q136.118-46.075 136.204-46.090L136.286-46.090Q136.380-46.063 136.380-45.981Q136.380-45.973 136.372-45.942Q136.310-45.715 136.171-45.532Q136.033-45.348 135.841-45.215Q135.650-45.083 135.431-45.012Q135.212-44.942 134.974-44.942Q134.603-44.942 134.265-45.079Q133.927-45.215 133.659-45.467Q133.392-45.719 133.242-46.059Q133.091-46.399 133.091-46.774M133.845-47.083L135.806-47.083Q135.806-47.387 135.704-47.678Q135.603-47.969 135.386-48.151Q135.169-48.333 134.853-48.333Q134.552-48.333 134.322-48.145Q134.091-47.958 133.968-47.666Q133.845-47.375 133.845-47.083M138.685-44.942Q138.204-44.942 137.796-45.186Q137.388-45.430 137.150-45.844Q136.911-46.258 136.911-46.747Q136.911-47.239 137.169-47.655Q137.427-48.071 137.859-48.309Q138.290-48.547 138.783-48.547Q139.404-48.547 139.853-48.110L139.853-49.739Q139.853-49.954 139.790-50.049Q139.728-50.145 139.611-50.166Q139.493-50.188 139.247-50.188L139.247-50.485L140.470-50.571L140.470-45.762Q140.470-45.551 140.533-45.456Q140.595-45.360 140.712-45.338Q140.829-45.317 141.079-45.317L141.079-45.020L139.829-44.942L139.829-45.426Q139.365-44.942 138.685-44.942M138.751-45.196Q139.091-45.196 139.384-45.387Q139.677-45.579 139.829-45.875L139.829-47.708Q139.681-47.981 139.419-48.137Q139.158-48.293 138.845-48.293Q138.220-48.293 137.937-47.846Q137.654-47.399 137.654-46.739Q137.654-46.094 137.906-45.645Q138.158-45.196 138.751-45.196M141.990-43.020L141.908-43.020Q141.872-43.020 141.847-43.049Q141.822-43.079 141.822-43.118Q141.822-43.168 141.853-43.188Q142.240-43.524 142.523-43.973Q142.806-44.422 142.972-44.922Q143.138-45.422 143.212-45.940Q143.286-46.458 143.286-47.020Q143.286-47.590 143.212-48.106Q143.138-48.622 142.972-49.118Q142.806-49.614 142.527-50.061Q142.247-50.508 141.853-50.852Q141.822-50.872 141.822-50.922Q141.822-50.961 141.847-50.991Q141.872-51.020 141.908-51.020L141.990-51.020Q142.001-51.020 142.011-51.018Q142.021-51.016 142.029-51.012Q142.642-50.555 143.044-49.920Q143.447-49.286 143.642-48.540Q143.837-47.793 143.837-47.020Q143.837-46.247 143.642-45.500Q143.447-44.754 143.044-44.120Q142.642-43.485 142.029-43.028Q142.017-43.028 142.009-43.026Q142.001-43.024 141.990-43.020",[1025],[1000,6527,6528,6531],{"fill":1006},[1010,6529],{"d":6530},"M82.55-35.773h18.495v-18.494H82.551Z",[1000,6532,6534],{"transform":6533},"translate(40.367 2.9)",[1010,6535],{"d":6462,"fill":1002,"stroke":1002,"className":6536,"style":1026},[1025],[1000,6538,6539,6542],{"fill":1006},[1010,6540],{"d":6541},"M101.445-35.773h18.494v-18.494h-18.494Z",[1000,6543,6545],{"transform":6544},"translate(59.26 2.9)",[1010,6546],{"d":6426,"fill":1002,"stroke":1002,"className":6547,"style":1026},[1025],[1000,6549,6550,6553],{"fill":1006},[1010,6551],{"d":6552},"M120.34-35.773h18.494v-18.494h-18.495Z",[1000,6554,6556],{"transform":6555},"translate(78.155 2.9)",[1010,6557],{"d":6438,"fill":1002,"stroke":1002,"className":6558,"style":1026},[1025],[1000,6560,6561,6564],{"fill":1006,"stroke":1007,"style":1008},[1010,6562],{"d":6563},"M139.634-35.773h18.494v-18.494h-18.494Z",[1000,6565,6567],{"transform":6566},"translate(97.45 2.9)",[1010,6568],{"d":6450,"fill":1002,"stroke":1002,"className":6569,"style":1026},[1025],[1000,6571,6572],{"fill":1007,"stroke":1007},[1000,6573,6574,6581,6587],{"fill":1007,"stroke":1015,"fontFamily":1194,"fontSize":1195},[1000,6575,6577],{"transform":6576},"translate(82.714 41.063)",[1010,6578],{"d":6579,"fill":1007,"stroke":1007,"className":6580,"style":1183},"M49.400-45.028L49.400-46.250Q49.400-46.278 49.431-46.309Q49.463-46.340 49.486-46.340L49.592-46.340Q49.662-46.340 49.678-46.278Q49.740-45.958 49.879-45.717Q50.017-45.477 50.250-45.336Q50.482-45.196 50.791-45.196Q51.029-45.196 51.238-45.256Q51.447-45.317 51.584-45.465Q51.721-45.614 51.721-45.860Q51.721-46.114 51.510-46.280Q51.299-46.446 51.029-46.500L50.408-46.614Q50.002-46.692 49.701-46.948Q49.400-47.204 49.400-47.579Q49.400-47.946 49.601-48.168Q49.803-48.391 50.127-48.489Q50.451-48.586 50.791-48.586Q51.256-48.586 51.553-48.379L51.775-48.563Q51.799-48.586 51.830-48.586L51.881-48.586Q51.912-48.586 51.939-48.559Q51.967-48.532 51.967-48.500L51.967-47.516Q51.967-47.485 51.941-47.456Q51.916-47.426 51.881-47.426L51.775-47.426Q51.740-47.426 51.713-47.454Q51.685-47.481 51.685-47.516Q51.685-47.915 51.433-48.135Q51.181-48.356 50.783-48.356Q50.428-48.356 50.144-48.233Q49.861-48.110 49.861-47.805Q49.861-47.586 50.062-47.454Q50.264-47.321 50.510-47.278L51.135-47.165Q51.564-47.075 51.873-46.778Q52.181-46.481 52.181-46.067Q52.181-45.497 51.783-45.219Q51.385-44.942 50.791-44.942Q50.240-44.942 49.889-45.278L49.592-44.965Q49.568-44.942 49.533-44.942L49.486-44.942Q49.463-44.942 49.431-44.973Q49.400-45.004 49.400-45.028M53.334-45.981L53.334-48.172L52.631-48.172L52.631-48.426Q52.986-48.426 53.228-48.659Q53.471-48.891 53.582-49.239Q53.693-49.586 53.693-49.942L53.974-49.942L53.974-48.469L55.150-48.469L55.150-48.172L53.974-48.172L53.974-45.997Q53.974-45.676 54.094-45.448Q54.213-45.219 54.494-45.219Q54.674-45.219 54.791-45.342Q54.908-45.465 54.961-45.645Q55.014-45.825 55.014-45.997L55.014-46.469L55.295-46.469L55.295-45.981Q55.295-45.727 55.189-45.487Q55.084-45.247 54.887-45.094Q54.689-44.942 54.431-44.942Q54.115-44.942 53.863-45.065Q53.611-45.188 53.473-45.422Q53.334-45.657 53.334-45.981M56.111-45.852Q56.111-46.336 56.514-46.631Q56.916-46.926 57.467-47.045Q58.017-47.165 58.510-47.165L58.510-47.454Q58.510-47.680 58.394-47.887Q58.279-48.094 58.082-48.213Q57.885-48.333 57.654-48.333Q57.228-48.333 56.943-48.227Q57.014-48.200 57.060-48.145Q57.107-48.090 57.133-48.020Q57.158-47.950 57.158-47.875Q57.158-47.770 57.107-47.678Q57.056-47.586 56.965-47.536Q56.873-47.485 56.767-47.485Q56.662-47.485 56.570-47.536Q56.478-47.586 56.428-47.678Q56.377-47.770 56.377-47.875Q56.377-48.293 56.765-48.440Q57.154-48.586 57.654-48.586Q57.986-48.586 58.340-48.456Q58.693-48.325 58.922-48.071Q59.150-47.817 59.150-47.469L59.150-45.668Q59.150-45.536 59.223-45.426Q59.295-45.317 59.424-45.317Q59.549-45.317 59.617-45.422Q59.685-45.528 59.685-45.668L59.685-46.180L59.967-46.180L59.967-45.668Q59.967-45.465 59.849-45.307Q59.732-45.149 59.551-45.065Q59.369-44.981 59.166-44.981Q58.935-44.981 58.783-45.153Q58.631-45.325 58.599-45.555Q58.439-45.274 58.131-45.108Q57.822-44.942 57.471-44.942Q56.959-44.942 56.535-45.165Q56.111-45.387 56.111-45.852M56.799-45.852Q56.799-45.567 57.025-45.381Q57.252-45.196 57.545-45.196Q57.791-45.196 58.015-45.313Q58.240-45.430 58.375-45.633Q58.510-45.836 58.510-46.090L58.510-46.922Q58.244-46.922 57.959-46.868Q57.674-46.813 57.402-46.684Q57.131-46.555 56.965-46.348Q56.799-46.141 56.799-45.852",[1025],[1000,6582,6583],{"transform":6576},[1010,6584],{"d":6585,"fill":1007,"stroke":1007,"className":6586,"style":1183},"M60.447-43.723Q60.561-43.645 60.736-43.645Q61.025-43.645 61.246-43.858Q61.467-44.071 61.592-44.372L61.881-45.020L60.607-47.907Q60.525-48.083 60.381-48.127Q60.236-48.172 59.967-48.172L59.967-48.469L61.686-48.469L61.686-48.172Q61.264-48.172 61.264-47.989Q61.264-47.977 61.279-47.907L62.217-45.782L63.049-47.692Q63.088-47.782 63.088-47.860Q63.088-48 62.986-48.086Q62.885-48.172 62.744-48.172L62.744-48.469L64.096-48.469L64.096-48.172Q63.842-48.172 63.648-48.047Q63.455-47.922 63.350-47.692L61.904-44.372Q61.791-44.118 61.625-43.895Q61.459-43.672 61.230-43.530Q61.002-43.387 60.736-43.387Q60.439-43.387 60.199-43.579Q59.959-43.770 59.959-44.059Q59.959-44.215 60.064-44.317Q60.170-44.418 60.318-44.418Q60.424-44.418 60.504-44.372Q60.584-44.325 60.631-44.247Q60.678-44.168 60.678-44.059Q60.678-43.938 60.617-43.850Q60.557-43.762 60.447-43.723M64.553-45.028L64.553-46.250Q64.553-46.278 64.584-46.309Q64.615-46.340 64.639-46.340L64.744-46.340Q64.814-46.340 64.830-46.278Q64.893-45.958 65.031-45.717Q65.170-45.477 65.402-45.336Q65.635-45.196 65.943-45.196Q66.182-45.196 66.391-45.256Q66.600-45.317 66.736-45.465Q66.873-45.614 66.873-45.860Q66.873-46.114 66.662-46.280Q66.451-46.446 66.182-46.500L65.561-46.614Q65.154-46.692 64.853-46.948Q64.553-47.204 64.553-47.579Q64.553-47.946 64.754-48.168Q64.955-48.391 65.279-48.489Q65.603-48.586 65.943-48.586Q66.408-48.586 66.705-48.379L66.928-48.563Q66.951-48.586 66.982-48.586L67.033-48.586Q67.064-48.586 67.092-48.559Q67.119-48.532 67.119-48.500L67.119-47.516Q67.119-47.485 67.094-47.456Q67.068-47.426 67.033-47.426L66.928-47.426Q66.893-47.426 66.865-47.454Q66.838-47.481 66.838-47.516Q66.838-47.915 66.586-48.135Q66.334-48.356 65.936-48.356Q65.580-48.356 65.297-48.233Q65.014-48.110 65.014-47.805Q65.014-47.586 65.215-47.454Q65.416-47.321 65.662-47.278L66.287-47.165Q66.717-47.075 67.025-46.778Q67.334-46.481 67.334-46.067Q67.334-45.497 66.936-45.219Q66.537-44.942 65.943-44.942Q65.393-44.942 65.041-45.278L64.744-44.965Q64.721-44.942 64.686-44.942L64.639-44.942Q64.615-44.942 64.584-44.973Q64.553-45.004 64.553-45.028",[1025],[1000,6588,6589],{"transform":6576},[1010,6590],{"d":6591,"fill":1007,"stroke":1007,"className":6592,"style":1183},"M72.585-43.469L70.730-43.469L70.730-43.762Q70.999-43.762 71.167-43.807Q71.335-43.852 71.335-44.028L71.335-47.852Q71.335-48.059 71.179-48.112Q71.023-48.165 70.730-48.165L70.730-48.461L71.952-48.547L71.952-48.083Q72.183-48.305 72.497-48.426Q72.812-48.547 73.151-48.547Q73.624-48.547 74.028-48.301Q74.433-48.055 74.665-47.639Q74.898-47.223 74.898-46.747Q74.898-46.372 74.749-46.043Q74.601-45.715 74.331-45.463Q74.062-45.211 73.718-45.077Q73.374-44.942 73.015-44.942Q72.726-44.942 72.454-45.063Q72.183-45.184 71.976-45.395L71.976-44.028Q71.976-43.852 72.144-43.807Q72.312-43.762 72.585-43.762L72.585-43.469M71.976-47.684L71.976-45.844Q72.128-45.555 72.390-45.375Q72.651-45.196 72.960-45.196Q73.245-45.196 73.468-45.334Q73.691-45.473 73.843-45.704Q73.995-45.934 74.073-46.206Q74.151-46.477 74.151-46.747Q74.151-47.079 74.026-47.436Q73.901-47.793 73.653-48.030Q73.405-48.266 73.058-48.266Q72.734-48.266 72.439-48.110Q72.144-47.954 71.976-47.684M76.105-45.973L76.105-47.715Q76.105-47.930 76.042-48.026Q75.980-48.122 75.860-48.143Q75.741-48.165 75.495-48.165L75.495-48.461L76.741-48.547L76.741-45.997L76.741-45.973Q76.741-45.661 76.796-45.499Q76.851-45.336 77.001-45.266Q77.151-45.196 77.472-45.196Q77.901-45.196 78.175-45.534Q78.448-45.872 78.448-46.317L78.448-47.715Q78.448-47.930 78.386-48.026Q78.323-48.122 78.204-48.143Q78.085-48.165 77.839-48.165L77.839-48.461L79.085-48.547L79.085-45.762Q79.085-45.551 79.148-45.456Q79.210-45.360 79.329-45.338Q79.448-45.317 79.694-45.317L79.694-45.020L78.472-44.942L78.472-45.563Q78.304-45.274 78.023-45.108Q77.741-44.942 77.421-44.942Q76.105-44.942 76.105-45.973M80.765-45.981L80.765-48.172L80.062-48.172L80.062-48.426Q80.417-48.426 80.659-48.659Q80.901-48.891 81.013-49.239Q81.124-49.586 81.124-49.942L81.405-49.942L81.405-48.469L82.581-48.469L82.581-48.172L81.405-48.172L81.405-45.997Q81.405-45.676 81.525-45.448Q81.644-45.219 81.925-45.219Q82.105-45.219 82.222-45.342Q82.339-45.465 82.392-45.645Q82.444-45.825 82.444-45.997L82.444-46.469L82.726-46.469L82.726-45.981Q82.726-45.727 82.620-45.487Q82.515-45.247 82.318-45.094Q82.120-44.942 81.862-44.942Q81.546-44.942 81.294-45.065Q81.042-45.188 80.903-45.422Q80.765-45.657 80.765-45.981",[1025],[1000,6594,6595,6598],{"fill":1007,"stroke":1007,"style":1145},[1010,6596],{"fill":1015,"d":6597},"M148.88-12.41v-18.637",[1010,6599],{"d":6600},"m148.88-34.034-1.576 4.17 1.577-1.383 1.576 1.382Z",[1233,6602,6604],{"className":6603},[1236],"Why the same Insertion-Sort costs so differently: a reverse-sorted input forces every new element past its whole prefix, while a sorted input shifts nothing.",[381,6606,6607,6608,643,6623,6639,6640,6656,6657,6660],{},"Defining ",[398,6609,6611],{"className":6610},[401],[398,6612,6614],{"className":6613,"ariaHidden":406},[405],[398,6615,6617,6620],{"className":6616},[410],[398,6618],{"className":6619,"style":3074},[414],[398,6621,6114],{"className":6622,"style":6113},[419,1298],[398,6624,6626],{"className":6625},[401],[398,6627,6629],{"className":6628,"ariaHidden":406},[405],[398,6630,6632,6635],{"className":6631},[410],[398,6633],{"className":6634,"style":3074},[414],[398,6636,6638],{"className":6637},[419],"Ω",", and ",[398,6641,6643],{"className":6642},[401],[398,6644,6646],{"className":6645,"ariaHidden":406},[405],[398,6647,6649,6652],{"className":6648},[410],[398,6650],{"className":6651,"style":3074},[414],[398,6653,6655],{"className":6654},[419],"Θ"," precisely, and measuring this growth\nindependently of the machine, is the subject of\n",[385,6658,6659],{"href":17},"asymptotic analysis"," in the next\nlesson.",[925,6662,6664],{"id":6663},"takeaways","Takeaways",[895,6666,6667,6676,6704,6790,6826,6919],{},[898,6668,6669,6670,6672,6673,510],{},"An algorithm is ",[495,6671,497],{},": a finite, mechanical, input-to-output procedure that must be\n",[490,6674,6675],{},"correct on every instance",[898,6677,6678,6679,6681,6682,6703],{},"Every algorithm comes with ",[490,6680,934],{},": high-level idea, pseudocode,\nproof of correctness, and complexity analysis. ",[398,6683,6685],{"className":6684},[401],[398,6686,6688],{"className":6687,"ariaHidden":406},[405],[398,6689,6691,6694],{"className":6690},[410],[398,6692],{"className":6693,"style":2131},[414],[398,6695,6697],{"className":6696},[2135,2136],[398,6698,6700],{"className":6699},[419,2140],[398,6701,2144],{"className":6702},[419]," shows all\nfour at full size.",[898,6705,6706,6707,6709,6710,6713,6714,6756,6757,510],{},"Specify the ",[490,6708,1254],{}," (legal inputs → required outputs) before the\n",[490,6711,6712],{},"method",". That is also what tells you to seed ",[398,6715,6717],{"className":6716},[401],[398,6718,6720,6738],{"className":6719,"ariaHidden":406},[405],[398,6721,6723,6726,6729,6732,6735],{"className":6722},[410],[398,6724],{"className":6725,"style":1477},[414],[398,6727,2170],{"className":6728},[419,1298],[398,6730],{"className":6731,"style":1772},[424],[398,6733,4023],{"className":6734},[1776],[398,6736],{"className":6737,"style":1772},[424],[398,6739,6741,6744,6747,6750,6753],{"className":6740},[410],[398,6742],{"className":6743,"style":1280},[414],[398,6745,1977],{"className":6746},[419,1298],[398,6748,1981],{"className":6749},[1288],[398,6751,588],{"className":6752},[419],[398,6754,1992],{"className":6755},[1462]," and require\n",[398,6758,6760],{"className":6759},[401],[398,6761,6763,6781],{"className":6762,"ariaHidden":406},[405],[398,6764,6766,6769,6772,6775,6778],{"className":6765},[410],[398,6767],{"className":6768,"style":1856},[414],[398,6770,1447],{"className":6771},[419,1298],[398,6773],{"className":6774,"style":1772},[424],[398,6776,2015],{"className":6777},[1776],[398,6779],{"className":6780,"style":1772},[424],[398,6782,6784,6787],{"className":6783},[410],[398,6785],{"className":6786,"style":440},[414],[398,6788,588],{"className":6789},[419],[898,6791,6792,6793,6795,6796,6814,6815,6818,6819,6822,6823,6825],{},"Pseudocode is for humans to reason about; a ",[490,6794,3769],{}," (",[867,6797,6798,6813],{},[398,6799,6801],{"className":6800},[401],[398,6802,6804],{"className":6803,"ariaHidden":406},[405],[398,6805,6807,6810],{"className":6806},[410],[398,6808],{"className":6809,"style":1477},[414],[398,6811,2170],{"className":6812},[419,1298]," only ever grows, to a value actually in the array",") turns ",[867,6816,6817],{},"it looks right"," into a proof\nby ",[490,6820,6821],{},"initialization, maintenance, termination",". Pin down ",[495,6824,4731],{}," moment your\ninvariant describes.",[898,6827,6828,6829,2607,6831,6918],{},"For yes\u002Fno algorithms, prove each direction separately, and use the\n",[490,6830,5138],{},[398,6832,6834],{"className":6833},[401],[398,6835,6837,6858,6879,6903],{"className":6836,"ariaHidden":406},[405],[398,6838,6840,6843,6846,6849,6852,6855],{"className":6839},[410],[398,6841],{"className":6842,"style":1280},[414],[398,6844,665],{"className":6845},[1288],[398,6847,381],{"className":6848},[419,1298],[398,6850],{"className":6851,"style":1772},[424],[398,6853,5168],{"className":6854},[1776],[398,6856],{"className":6857,"style":1772},[424],[398,6859,6861,6864,6867,6870,6873,6876],{"className":6860},[410],[398,6862],{"className":6863,"style":1280},[414],[398,6865,867],{"className":6866,"style":2670},[419,1298],[398,6868,4833],{"className":6869},[1462],[398,6871],{"className":6872,"style":1772},[424],[398,6874,5193],{"className":6875},[1776],[398,6877],{"className":6878,"style":1772},[424],[398,6880,6882,6885,6888,6891,6894,6897,6900],{"className":6881},[410],[398,6883],{"className":6884,"style":1280},[414],[398,6886,665],{"className":6887},[1288],[398,6889,5212],{"className":6890},[419],[398,6892,867],{"className":6893,"style":2670},[419,1298],[398,6895],{"className":6896,"style":1772},[424],[398,6898,5168],{"className":6899},[1776],[398,6901],{"className":6902,"style":1772},[424],[398,6904,6906,6909,6912,6915],{"className":6905},[410],[398,6907],{"className":6908,"style":1280},[414],[398,6910,5212],{"className":6911},[419],[398,6913,381],{"className":6914},[419,1298],[398,6916,4833],{"className":6917},[1462]," to\npick the easier statement.",[898,6920,6921],{},"Correctness and efficiency are separate questions: an algorithm can win one\nand lose the other.",[6923,6924,6927,6932],"section",{"className":6925,"dataFootnotes":376},[6926],"footnotes",[925,6928,6931],{"className":6929,"id":863},[6930],"sr-only","Footnotes",[937,6933,6934,6954,6969],{},[898,6935,6937,643,6940,6943,6944,2607,6947],{"id":6936},"user-content-fn-erickson",[490,6938,6939],{},"Erickson",[495,6941,6942],{},"Algorithms",", Ch. 0 — Introduction: an algorithm as a procedure mechanical enough that ",[867,6945,6946],{},"a rock could follow it.",[385,6948,6953],{"href":6949,"ariaLabel":6950,"className":6951,"dataFootnoteBackref":376},"#user-content-fnref-erickson","Back to reference 1",[6952],"data-footnote-backref","↩",[898,6955,6957,6960,6961,6963,6964],{"id":6956},"user-content-fn-clrs",[490,6958,6959],{},"CLRS",", Ch. 1 — The Role of Algorithms (§1.1): the operational ",[867,6962,869],{}," framing. ",[385,6965,6953],{"href":6966,"ariaLabel":6967,"className":6968,"dataFootnoteBackref":376},"#user-content-fnref-clrs","Back to reference 2",[6952],[898,6970,6972,643,6975,6978,6979,6981,6982],{"id":6971},"user-content-fn-skiena",[490,6973,6974],{},"Skiena",[495,6976,6977],{},"The Algorithm Design Manual",", §1.1–1.3 — Introduction to Algorithm Design: an algorithm must be correct on ",[495,6980,906],{}," instance. ",[385,6983,6953],{"href":6984,"ariaLabel":6985,"className":6986,"dataFootnoteBackref":376},"#user-content-fnref-skiena","Back to reference 3",[6952],[6988,6989,6990],"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);}html pre.shiki code .sdxpw, html code.shiki .sdxpw{--shiki-default:#505050;--shiki-dark-mode:#A0A0A0}html pre.shiki code .sat3U, html code.shiki .sat3U{--shiki-default:#FF8C00;--shiki-dark-mode:#FFC799}html pre.shiki code .s3i95, html code.shiki .s3i95{--shiki-default:#000000;--shiki-dark-mode:#FFF}",{"title":376,"searchDepth":18,"depth":18,"links":6992},[6993,6994,6995,6996,6997,6998,7001,7002,7003],{"id":927,"depth":18,"text":928},{"id":1247,"depth":18,"text":1248},{"id":2114,"depth":18,"text":2115},{"id":2232,"depth":18,"text":2233},{"id":3035,"depth":18,"text":3036},{"id":3646,"depth":18,"text":3647,"children":6999},[7000],{"id":4784,"depth":24,"text":4785},{"id":5643,"depth":18,"text":5644},{"id":6663,"depth":18,"text":6664},{"id":863,"depth":18,"text":6931},"You have already met dozens of algorithms without being told that's what\nthey were. Merge sort,\nquicksort, binary search, linear\nsearch, breadth-first\nsearch; even the rote\nprocedures for multiplying (374×285) or adding\n(724+1366) two integers by hand; even tidying a room by a fixed set of\nrules. What unites them is captured by a simple working definition:","md",{"moduleNumber":6,"lessonNumber":6,"order":7007},101,[7009,7013,7016,7019],{"title":7010,"slug":7011,"difficulty":7012},"Two Sum","two-sum","Easy",{"title":7014,"slug":7015,"difficulty":7012},"Fizz Buzz","fizz-buzz",{"title":7017,"slug":7018,"difficulty":7012},"Palindrome Number","palindrome-number",{"title":7020,"slug":7021,"difficulty":7022},"Reverse Integer","reverse-integer","Medium","---\ntitle: What Is an Algorithm?\nmodule: Foundations\nmoduleNumber: 1\nlessonNumber: 1\norder: 101\nsummary: >\n  An algorithm is a finite, mechanical recipe that transforms inputs into\n  outputs. We pin down what counts as an algorithm, how we write one down, and\n  the three things we always ask of it: is it correct, is it fast, and can we\n  prove it.\ntopics: [Foundations, Correctness & Induction]\nsources:\n  - book: Erickson\n    ref: \"Ch. 0 — Introduction\"\n  - book: CLRS\n    ref: \"Ch. 1 — The Role of Algorithms\"\n  - book: Skiena\n    ref: \"§1.1–1.3 — Introduction to Algorithm Design\"\npractice:\n  - title: 'Two Sum'\n    slug: two-sum\n    difficulty: Easy\n  - title: 'Fizz Buzz'\n    slug: fizz-buzz\n    difficulty: Easy\n  - title: 'Palindrome Number'\n    slug: palindrome-number\n    difficulty: Easy\n  - title: 'Reverse Integer'\n    slug: reverse-integer\n    difficulty: Medium\n---\n\nYou have already met dozens of algorithms without being told that's what\nthey were. [Merge sort](\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort),\n[quicksort](\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort), binary search, linear\nsearch, [breadth-first\nsearch](\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal); even the rote\nprocedures for multiplying ($374 \\times 285$) or adding\n($724 + 1366$) two integers by hand; even tidying a room by a fixed set of\nrules. What unites them is captured by a simple working definition:\n\n> **Definition (Algorithm).** An algorithm is _a precise recipe of steps for solving a computational\n> problem_, where a _computational problem_ is anything with\n> a notion of an **input** and a corresponding **output**.\n\n```py [fib.py] {2,3}\ndef fib(n: int) -> int:\n  if n \u003C= 1:\n    return n\n  return fib(n-1) + fib(n-2)\n\ndef fib2(n: int) -> int:\n  M = [0, 1]\n  for i in range(1, n):\n    M.append(M[-1] + M[-2])\n  return M[-1]\n```\n\n```hs [fib.hs]\nfib :: Int -> Int\nfib 0 = 0\nfib 1 = 1\nfib n = fib (n - 1) + fib (n - 2)\n\nfib2 :: Int -> Int\nfib2 n\n  | n \u003C= 1    = n\n  | otherwise = fib2 (n - 1) + fib2 (n - 2)\n```\n\nThat definition is deliberately blunt. Erickson sharpens it the same way: an\nalgorithm is a procedure a _rock_ could follow, where every step is so\nmechanical that no intelligence, intuition, or luck is required to carry it\nout.[^erickson] CLRS frames it operationally: a \"well-defined computational\nprocedure\" that takes a value (or set of values) as input and produces a value\nas output.[^clrs] Skiena adds the engineer's caveat: it must work _correctly on\nevery instance_, not merely on the examples we happen to test.[^skiena]\n\nThree demands run through all of these, and through this entire course:\n\n- **Correctness.** The algorithm produces the right output on _every_ valid\n  input. One counterexample is enough to sink it.\n- **Efficiency.** It uses few resources (time, space) as the input grows.\n- **Provability.** We can _argue_, rather than assert, that the first two hold.\n\n## Communicating an algorithm\n\nHaving an algorithm in your head is not enough; you must convey it so that\nsomeone else can run it, trust it, and predict its cost. In this course every\nalgorithm comes with **four deliverables**, and you should reach for all four\nby reflex:\n\n1. **High-level idea.** One or two sentences of plain English.\n2. **Pseudocode.** The steps, precise enough to analyze.\n3. **Proof of correctness.** An argument that it always returns the right\n   answer.\n4. **Complexity analysis.** How its running time (and sometimes space) grows\n   with the input.\n\nThese four are not independent checkboxes; they form a pipeline. The\n**problem spec** fixes what counts as a correct answer; the **idea** and\n**pseudocode** are two resolutions of the same method; the **proof** certifies\nthe pseudocode against the spec; and the **analysis** measures that same\npseudocode. Each deliverable feeds the next.\n\n$$\n% caption: The four deliverables as a pipeline: the problem spec anchors everything; idea\n%          and pseudocode refine the method; proof checks the pseudocode against the spec;\n%          analysis measures the same pseudocode.\n\\begin{tikzpicture}[\n    box\u002F.style={draw, rounded corners, minimum height=8mm, inner sep=2.6mm, font=\\small, align=center},\n    lbl\u002F.style={font=\\footnotesize},\n    >={Stealth[length=2.4mm]}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\useasboundingbox (-2.6,-2.5) rectangle (12.3,1.0);\n  \\node[box, fill=acc!15, draw=acc, very thick] (spec) at (0,0) {problem\\\\spec};\n  \\node[box] (idea) at (3.0,0) {high-level\\\\idea};\n  \\node[box] (code) at (6.1,0) {pseudo-\\\\code};\n  \\node[box] (ana) at (9.4,0) {complexity\\\\analysis};\n  \\node[box, fill=acc!15] (proof) at (6.1,-2.0) {proof of\\\\correctness};\n  \\draw[->, thick] (spec) -- (idea);\n  \\draw[->, thick] (idea) -- (code);\n  \\draw[->, thick] (code) -- (ana);\n  \\draw[->, thick] (code) -- (proof) node[midway, right, lbl] {certify};\n  \\draw[->, thick] (spec.south) .. controls +(0,-1.4) and +(-1.6,0) .. (proof.west)\n    node[pos=0.62, below, lbl] {defines correct};\n  \\node[lbl, above=0.5mm of idea] {\\itshape what};\n  \\node[lbl, above=0.5mm of ana] {\\itshape how fast};\n\\end{tikzpicture}\n$$\n\nWe will build a complete example of all four below. First, two preliminaries:\nwhat exactly the algorithm is _for_, and how we write it down.\n\n\n## Specifying the problem\n\nBefore writing an algorithm we must agree on the **problem** it solves: the set\nof legal inputs and, for each, the required output. A problem is a relation\nbetween inputs and outputs; an _instance_ is one particular input. For sorting:\n\n> **Input:** a sequence $\\vector{a_1, a_2, \\dots, a_n}$ of $n$ numbers.\n> **Output:** a permutation $\\vector{a'_1, a'_2, \\dots, a'_n}$ of the input such\n> that $a'_1 \\le a'_2 \\le \\cdots \\le a'_n$.\n\nNotice what the specification _hides_: it says nothing about _how_ to reorder\nthe numbers, only _what_ the result must satisfy. That separation of **what**\nfrom **how** is what algorithm design turns on.\n\nOur running example will be a smaller, more concrete problem:\n\n> **Input:** an array $A[1..n]$ of numbers, with $n \\ge 1$.\n> **Output:** the maximum value $\\max\\set{A[1], \\dots, A[n]}$.\n\nIt is simple enough that you can see the whole algorithm at once, yet rich\nenough to demand all four deliverables, including a proof that is more subtle\nthan it first looks.\n\n## Deliverable 1 — the high-level idea\n\nBefore any pseudocode, say what you intend to do in plain words. For\n$\\textsc{Find-Max}$:\n\n> **Remark (High-level idea).** Keep track of the largest value $x$ seen so far.\n> Sweep through the array left to right;\n> whenever you meet an element bigger than $x$, update $x$ to it.\n>\n> When the sweep ends, $x$ is the maximum.\n\nThat sentence is the _whole_ algorithm. Everything that follows makes\nit precise and proves it works.\n\n## Deliverable 2 — the pseudocode\n\nWe describe algorithms in **pseudocode**: precise enough to analyze, free of the\nsyntactic noise of any real language. The high-level idea translates directly:\n\n```algorithm\ncaption: $\\textsc{Find-Max}(A)$ — return the largest element of $A[1..n]$\nnumber: 1\n$x \\gets A[1]$ \u002F\u002F largest value seen so far\nfor $i \\gets 2$ to $n$ do\n  if $A[i] > x$ then\n    $x \\gets A[i]$\nreturn $x$\n```\n\nTwo small but real design choices deserve attention. We seed $x$ with $A[1]$\nrather than with $-\\infty$ or $0$. This is why the specification insisted\n$n \\ge 1$, so that $A[1]$ exists and \"the maximum\" is well defined. The loop\nstarts at $i = 2$, since $A[1]$ has already been accounted for by the seed.\n\nAs a second specimen of pseudocode, here is the classic insertion sort, which\nsorts $A[1..n]$ in place by growing a sorted prefix one element at a time. We\nwill return to it when we study sorting; for now it shows what _nested_ loops\nand an **in-place** rearrangement look like on the page.\n\n```algorithm\ncaption: $\\textsc{Insertion-Sort}(A)$ — sort $A[1..n]$ in increasing order\nnumber: 2\nfor $j \\gets 2$ to $n$ do\n  $key \\gets A[j]$\n  $i \\gets j - 1$ \u002F\u002F insert into sorted prefix\n  while $i > 0$ and $A[i] > key$ do\n    $A[i + 1] \\gets A[i]$\n    $i \\gets i - 1$\n  $A[i + 1] \\gets key$\nreturn $A$\n```\n\nThe outer loop walks a marker $j$ from left to right; everything _before_ $j$ is\nalready sorted. Each pass lifts $A[j]$ out as $key$, slides the larger\nsorted-prefix elements one slot right, and drops $key$ into the gap that opens\nup — exactly how you would tidy a hand of playing cards. The trace below shows\nthe sorted prefix (shaded) absorbing one new element per row.\n\n$$\n% caption: Insertion-Sort on $\\langle 5,2,4,1\\rangle$: each row is the array after one\n%          pass of $j$; the shaded prefix is sorted, and the outlined cell is the $key$\n%          just inserted.\n\\begin{tikzpicture}[\n    cell\u002F.style={draw, minimum size=7mm, font=\\small},\n    lbl\u002F.style={font=\\footnotesize},\n    every node\u002F.style={font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[lbl] at (-2.1,0) {start};\n  \\node[cell, fill=acc!15] (r0a) at (0,0) {5};\n  \\node[cell, right=0mm of r0a] (r0b) {2};\n  \\node[cell, right=0mm of r0b] (r0c) {4};\n  \\node[cell, right=0mm of r0c] (r0d) {1};\n  \\node[lbl] at (-2.1,-1.1) {$j=2$};\n  \\node[cell, fill=acc!15] (r1a) at (0,-1.1) {2};\n  \\node[cell, fill=acc!15, very thick, right=0mm of r1a] (r1b) {5};\n  \\node[cell, right=0mm of r1b] (r1c) {4};\n  \\node[cell, right=0mm of r1c] (r1d) {1};\n  \\node[lbl] at (-2.1,-2.2) {$j=3$};\n  \\node[cell, fill=acc!15] (r2a) at (0,-2.2) {2};\n  \\node[cell, fill=acc!15, very thick, right=0mm of r2a] (r2b) {4};\n  \\node[cell, fill=acc!15, right=0mm of r2b] (r2c) {5};\n  \\node[cell, right=0mm of r2c] (r2d) {1};\n  \\node[lbl] at (-2.1,-3.3) {$j=4$};\n  \\node[cell, fill=acc!15, very thick] (r3a) at (0,-3.3) {1};\n  \\node[cell, fill=acc!15, right=0mm of r3a] (r3b) {2};\n  \\node[cell, fill=acc!15, right=0mm of r3b] (r3c) {4};\n  \\node[cell, fill=acc!15, right=0mm of r3c] (r3d) {5};\n  \\node[lbl, right=4mm of r3d] {sorted};\n\\end{tikzpicture}\n$$\n\n## A picture of the idea\n\nHere is $\\textsc{Find-Max}$ mid-sweep on $A = \\vector{3, 7, 2, 9, 5}$. The cursor\n$i$ has just reached $A[4] = 9$; everything to its left has been scanned, and\n$x$ holds the largest value among $A[1..3]$. Since $A[4] > x$, the **if** fires\nand $x$ is updated to $9$.\n\n$$\n% caption: Find-Max mid-sweep over a five-cell array, updating $x$ at the cursor $i$.\n\\begin{tikzpicture}[\n    cell\u002F.style={draw, minimum size=8mm, font=\\small},\n    every node\u002F.style={font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[cell] (a1) {3};\n  \\node[cell, right=0mm of a1] (a2) {7};\n  \\node[cell, right=0mm of a2] (a3) {2};\n  \\node[cell, right=0mm of a3, fill=acc!15, draw=acc, very thick] (a4) {9};\n  \\node[cell, right=0mm of a4] (a5) {5};\n  \\node[below=1pt of a1] {$1$};\n  \\node[below=1pt of a2] {$2$};\n  \\node[below=1pt of a3] {$3$};\n  \\node[below=1pt of a4] {$4$};\n  \\node[below=1pt of a5] {$5$};\n  \\draw[-{Stealth[]}, thick] ($(a4.north)+(0,7mm)$) -- ($(a4.north)+(0,2mm)$)\n    node[above=6mm] {$i$};\n  \\node[draw, rounded corners, below=9mm of a2] (x) {$x = 7$};\n  \\draw[-{Stealth[]}, thick, red!75!black] (x.east) -- (a4.south west);\n  \\node[font=\\footnotesize] at ($(a3.south)+(0,-17mm)$) {$A[i] > x$, so $x$ becomes $9$};\n\\end{tikzpicture}\n$$\n\nThe shaded cell is the element under the cursor; the region to its left\n(positions $1$ through $i-1$) is the part already summarized by $x$.\n\n## Deliverable 3 — proof of correctness\n\nHow do we _know_ $\\textsc{Find-Max}$ works? Erickson's \"a rock could run it\"\nintuition tells us the steps are mechanical, but it does **not** tell us the\nanswer is right. Correctness needs an _argument_.\n\nIt is tempting to argue by contradiction (_suppose $k$ is the true maximum but\n$\\textsc{Find-Max}$ returns something else_), but the clean way is to name what\nthe loop preserves and induct on it. The key observation is\nthat **$x$ is only ever overwritten by a larger value**, so $x$ never decreases\nand never holds anything that wasn't actually in the array. Made precise, that is\na **loop invariant**: a statement true before and after every iteration.\n\n> **Invariant.** At the start of the iteration with cursor $i$, the variable $x$\n> equals $\\max\\set{A[1], \\dots, A[i-1]}$.\n\nWe verify it with the three-part rubric that will recur throughout the course:\n\n- **Initialization.** Before the first iteration $i = 2$, so we must check\n  $x = \\max\\set{A[1]}$. The seed line set $x \\gets A[1]$, and the maximum of a\n  one-element set is that element. ✓\n- **Maintenance.** Assume the invariant holds entering iteration $i$, i.e.\n  $x = \\max\\set{A[1], \\dots, A[i-1]}$. The body sets\n  $x \\gets \\max\\set{x, A[i]}$ (it overwrites $x$ exactly when $A[i] > x$, and\n  leaves it otherwise). Hence after the body\n  $x = \\max\\set{A[1], \\dots, A[i-1], A[i]} = \\max\\set{A[1], \\dots, A[i]}$, which\n  is precisely the invariant for the next cursor value $i + 1$. ✓\n- **Termination.** The loop ends once the cursor would exceed $n$, i.e. with the\n  invariant established for $i - 1 = n$. So $x = \\max\\set{A[1], \\dots, A[n]}$,\n  and $\\textsc{Find-Max}$ returns exactly the value the specification demands. ✓\n\nInitialization, maintenance, termination: that triple drives correctness\nproofs, and we will use it constantly.\n\n> **Watch your indices.** A common slip is to muddle _which_ moment in time a\n> claim about $i$ (or $x$) describes: the value _entering_ an iteration, or the\n> value _after_ the update. State the invariant for one fixed moment (here, the\n> _start_ of the iteration) and stick to it. Most \"buggy proofs\" of correct\n> algorithms are really off-by-one confusions about state.\n\n### Aside: claims and the contrapositive\n\nFor algorithms that answer _yes\u002Fno_ rather than compute a value, the same rigor\ntakes a slightly different shape. Consider $\\textsc{Linear-Search}(A, k)$, which\nreports whether key $k$ occurs in $A$. Correctness splits into two claims:\n\n- **Claim 1.** If $k \\in A$, then $\\textsc{Linear-Search}$ returns `found`.\n- **Claim 2.** If $k \\notin A$, then $\\textsc{Linear-Search}$ returns\n  `not found`.\n\nClaim 1 is direct: if $k$ sits at position $j$, the loop's $j$-th iteration\ntests $A[j] = k$ and returns `found`. Claim 2 is cleaner to prove in its\n**contrapositive** form. The logical identity is worth memorizing:\n\n$$\n(p \\Rightarrow q) \\;\\equiv\\; (\\lnot q \\Rightarrow \\lnot p).\n$$\n\nSo instead of \"if $k \\notin A$ then it returns `not found`,\" we prove the\nequivalent \"if it returns `found` then $k \\in A$,\" which is immediate, since the\nonly way to return `found` is to have just tested $A[j] = k$ for some $j$,\nwitnessing $k \\in A$. Choosing the easier of two logically identical statements\nis a recurring move in correctness proofs.\n\n$$\n% caption: The contrapositive flips a hard claim about the whole array into an easy one\n%          about a single line of code; both arrows assert the same implication.\n\\begin{tikzpicture}[\n    box\u002F.style={draw, rounded corners, minimum height=9mm, inner sep=3mm, font=\\small, align=center},\n    lbl\u002F.style={font=\\footnotesize},\n    every node\u002F.style={font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[box] (p1) at (0,0) {$k \\notin A$};\n  \\node[box, right=24mm of p1] (q1) {returns\\\\ \\texttt{not found}};\n  \\draw[-{Stealth[]}, thick] (p1) -- (q1) node[midway, above, lbl, align=center, fill=white, inner sep=1.5pt] {hard to\\\\prove\\\\directly};\n  \\node[box, fill=acc!15] (q2) at (0,-2.1) {returns\\\\ \\texttt{found}};\n  \\node[box, fill=acc!15, right=24mm of q2] (p2) {$k \\in A$};\n  \\draw[-{Stealth[]}, thick, red!75!black] (q2) -- (p2) node[midway, above, lbl] {immediate};\n  \\node[lbl] at (4.4,-1.05) {$\\equiv$};\n\\end{tikzpicture}\n$$\n\n## Deliverable 4 — complexity, in brief\n\nThe fourth deliverable asks _how many steps_ the algorithm takes as a function of\nthe input size $n$. For $\\textsc{Find-Max}$, the seed and the final return cost a\nconstant; the loop runs $n - 1$ times, doing a comparison and at most one\nassignment each pass. If each line costs some machine-dependent constant\n$c_1, c_2, \\dots$, the total is\n\n$$\nc_1 + (n-1)(c_2 + c_3) + c_4 \\;=\\; O(n),\n$$\n\na **linear** running time: double the array and you roughly double the work. The\npoint of the $O(\\cdot)$ is that it throws away the machine-specific constants and\nkeeps only the growth rate.\n\nThat insertion sort, by contrast, is not always so cheap is exactly why \"fast\"\nneeds care. On an array already in reverse order, every new element sifts past\n_all_ its predecessors, costing $1 + 2 + \\cdots + (n-1) = \\floor{n(n-1)\u002F2}$\ncomparisons, which is **quadratic** in $n$. On an already-sorted array it does\nonly $n - 1$ comparisons, which is linear: the same algorithm, wildly different\ncosts.\n\n$$\n% caption: Why the same Insertion-Sort costs so differently: a reverse-sorted input forces\n%          every new element past its whole prefix, while a sorted input shifts nothing.\n\\begin{tikzpicture}[\n    cell\u002F.style={draw, minimum size=6.5mm, font=\\small},\n    lbl\u002F.style={font=\\footnotesize},\n    every node\u002F.style={font=\\small}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[lbl, anchor=west] at (-3.7,0.7) {worst case (reverse-sorted)};\n  \\node[cell, fill=acc!15] (w1) at (-3.7,0) {2};\n  \\node[cell, fill=acc!15, right=0mm of w1] (w2) {3};\n  \\node[cell, fill=acc!15, right=0mm of w2] (w3) {4};\n  \\node[cell, fill=acc!15, draw=acc, very thick, right=0mm of w3] (w4) {1};\n  \\draw[-{Stealth[]}, thick, red!75!black] (w4.south) .. controls +(0,-8mm) and +(0,-8mm) .. (w1.south)\n    node[midway, below, lbl] {sifts past 3};\n  \\node[lbl, anchor=west] at (1.5,0.7) {best case (already sorted)};\n  \\node[cell, fill=acc!15] (b1) at (1.5,0) {1};\n  \\node[cell, fill=acc!15, right=0mm of b1] (b2) {2};\n  \\node[cell, fill=acc!15, right=0mm of b2] (b3) {3};\n  \\node[cell, fill=acc!15, draw=acc, very thick, right=0mm of b3] (b4) {4};\n  \\node[lbl, acc, below=8mm of b4] (stay) {stays put};\n  \\draw[-{Stealth[]}, thick, acc] (stay) -- (b4.south);\n\\end{tikzpicture}\n$$\n\nDefining $O$, $\\Omega$, and $\\Theta$ precisely, and measuring this growth\nindependently of the machine, is the subject of\n[asymptotic analysis](\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis) in the next\nlesson.\n\n## Takeaways\n\n- An algorithm is _a precise recipe of steps for solving a computational\n  problem_: a finite, mechanical, input-to-output procedure that must be\n  **correct on every instance**.\n- Every algorithm comes with **four deliverables**: high-level idea, pseudocode,\n  proof of correctness, and complexity analysis. $\\textsc{Find-Max}$ shows all\n  four at full size.\n- Specify the **problem** (legal inputs → required outputs) before the\n  **method**. That is also what tells you to seed $x \\gets A[1]$ and require\n  $n \\ge 1$.\n- Pseudocode is for humans to reason about; a **loop invariant** (\"$x$ only ever\n  grows, to a value actually in the array\") turns \"it looks right\" into a proof\n  by **initialization, maintenance, termination**. Pin down _which_ moment your\n  invariant describes.\n- For yes\u002Fno algorithms, prove each direction separately, and use the\n  **contrapositive** $(p \\Rightarrow q) \\equiv (\\lnot q \\Rightarrow \\lnot p)$ to\n  pick the easier statement.\n- Correctness and efficiency are separate questions: an algorithm can win one\n  and lose the other.\n\n[^erickson]: **Erickson**, _Algorithms_, Ch. 0 — Introduction: an algorithm as a procedure mechanical enough that \"a rock could follow it.\"\n[^clrs]: **CLRS**, Ch. 1 — The Role of Algorithms (§1.1): the operational \"well-defined computational procedure\" framing.\n[^skiena]: **Skiena**, _The Algorithm Design Manual_, §1.1–1.3 — Introduction to Algorithm Design: an algorithm must be correct on _every_ instance.\n",{"text":7025,"minutes":7026,"time":7027,"words":7028},"9 min read",8.815,528900,1763,{"title":10,"description":7004},[7031,7033,7035],{"book":6939,"ref":7032},"Ch. 0 — Introduction",{"book":6959,"ref":7034},"Ch. 1 — The Role of Algorithms",{"book":6974,"ref":7036},"§1.1–1.3 — Introduction to Algorithm Design","available","01.algorithms\u002F01.foundations\u002F01.what-is-an-algorithm",[5,13],"yQ9WHxnYs8hYJxCuCN2ehH12lGoItIcMBaxye0dUOpY",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":7028,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":7042,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":7043,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":7044,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":7045,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":7046,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":7047,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":7048,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":7049,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":7050,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":7051,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":7052,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":7053,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":7054,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":7055,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":7056,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":7057,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":7058,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":7059,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":7060,"\u002Falgorithms\u002Fsequences\u002Ftries":7061,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":7062,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":7063,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":7064,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":7065,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":7066,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":7067,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":7068,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":7069,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":7070,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":7071,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":7072,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":7073,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":7074,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":7075,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":7076,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":7077,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":7078,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":7079,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":7080,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":7081,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":7082,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":7083,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":7084,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":7085,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":7086,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":7087,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":7057,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":7088,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":7089,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":7090,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":7091,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":7073,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":7092,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":7093,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":7053,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":7094,"\u002Falgorithms":7095,"\u002Ftheory-of-computation":7096,"\u002Fcomputer-architecture":7096,"\u002Fphysical-computing":7096,"\u002Fdatabases":7096,"\u002Fdeep-learning":7096},2107,1738,2628,1723,2048,1697,1044,1542,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":7098,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":7099,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":7100,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":7101,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":7102,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":7103,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":7104,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":7105,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":7106,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":7107,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":7108,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":7109,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":7110,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":7111,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":7112,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":7113,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":7114,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":7115,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":7116,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":7117,"\u002Falgorithms\u002Fsequences\u002Ftries":7118,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":7119,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":7120,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":7121,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":7122,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":7123,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":7124,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":7125,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":7126,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":7127,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":7128,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":7129,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":7130,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":7131,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":7132,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":7133,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":7134,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":7135,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":7136,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":7137,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":7138,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":7139,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":7140,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":7141,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":7142,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":7143,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":7144,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":7145,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":7146,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":7147,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":7148,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":7149,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":7150,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":7151,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":7152,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":7153,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":7154,"\u002Falgorithms":7155,"\u002Ftheory-of-computation":7157,"\u002Fcomputer-architecture":7160,"\u002Fphysical-computing":7163,"\u002Fdatabases":7166,"\u002Fdeep-learning":7169},{"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":7156,"title":6942,"module":376,"summary":376},"\u002Falgorithms",{"path":7158,"title":7159,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":7161,"title":7162,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":7164,"title":7165,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":7167,"title":7168,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":7170,"title":7171,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781560520733]