[{"data":1,"prerenderedAt":5648},["ShallowReactive",2],{"nav:algorithms":3,"lesson:\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":374,"course-wordcounts":5516,"ref-card-index":5572},[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":131,"blurb":376,"body":377,"description":5478,"extension":5479,"meta":5480,"module":121,"navigation":5482,"path":132,"practice":5483,"rawbody":5500,"readingTime":5501,"seo":5506,"sources":5507,"status":5512,"stem":5513,"summary":134,"topics":5514,"__hash__":5515},"course\u002F01.algorithms\u002F05.sequences\u002F02.monotonic-stacks.md","",{"type":378,"value":379,"toc":5470},"minimark",[380,452,592,597,785,1201,1373,1428,1435,1521,1710,2371,2539,2543,2788,2864,2991,3034,3188,3208,3263,3375,3379,3599,3621,3774,3781,4119,4210,4223,4742,4746,4819,5224,5228,5367,5466],[381,382,383,384,388,389,393,394,398,399,402,403,407,408,407,411,441,442],"p",{},"A plain ",[385,386,387],"a",{"href":78},"stack"," records\nhistory in last-in-first-out order; a ",[390,391,392],"strong",{},"monotonic stack"," records only the\n",[395,396,397],"em",{},"useful"," history. The rule is one extra line: before pushing a new element, pop\nevery element already on the stack that would violate a chosen order, increasing\nor decreasing, and only then push. What survives on the stack is always a sorted\nsequence, and the elements you discard are discarded ",[395,400,401],{},"exactly when they stop\nbeing able to influence any future answer",". That single discipline collapses a\nwhole family of array questions (",[404,405,406],"q",{},"what is the next value to my right larger than me?",", ",[404,409,410],{},"how far back is the last taller bar?",[404,412,413,414,440],{},"what is the maximum of every length-",[415,416,419],"span",{"className":417},[418],"katex",[415,420,424],{"className":421,"ariaHidden":423},[422],"katex-html","true",[415,425,428,433],{"className":426},[427],"base",[415,429],{"className":430,"style":432},[431],"strut","height:0.6944em;",[415,434,439],{"className":435,"style":438},[436,437],"mord","mathnormal","margin-right:0.0315em;","k"," window?",") from quadratic brute force to a single linear\npass.",[443,444,445],"sup",{},[385,446,451],{"href":447,"ariaDescribedBy":448,"dataFootnoteRef":376,"id":450},"#user-content-fn-skiena-sq",[449],"footnote-label","user-content-fnref-skiena-sq","1",[381,453,454,455,472,473,502,503,518,519,587,588,591],{},"The questions all share a shape. For each index ",[415,456,458],{"className":457},[418],[415,459,461],{"className":460,"ariaHidden":423},[422],[415,462,464,468],{"className":463},[427],[415,465],{"className":466,"style":467},[431],"height:0.6595em;",[415,469,471],{"className":470},[436,437],"i"," we want the nearest index to\none side whose value beats ",[415,474,476],{"className":475},[418],[415,477,479],{"className":478,"ariaHidden":423},[422],[415,480,482,486,489,494,497],{"className":481},[427],[415,483],{"className":484,"style":485},[431],"height:1em;vertical-align:-0.25em;",[415,487,385],{"className":488},[436,437],[415,490,493],{"className":491},[492],"mopen","[",[415,495,471],{"className":496},[436,437],[415,498,501],{"className":499},[500],"mclose","]"," in some sense (greater, smaller). Brute force\nre-scans from every ",[415,504,506],{"className":505},[418],[415,507,509],{"className":508,"ariaHidden":423},[422],[415,510,512,515],{"className":511},[427],[415,513],{"className":514,"style":467},[431],[415,516,471],{"className":517},[436,437]," and costs ",[415,520,522],{"className":521},[418],[415,523,525],{"className":524,"ariaHidden":423},[422],[415,526,528,532,536,540,583],{"className":527},[427],[415,529],{"className":530,"style":531},[431],"height:1.0641em;vertical-align:-0.25em;",[415,533,535],{"className":534},[436],"Θ",[415,537,539],{"className":538},[492],"(",[415,541,543,547],{"className":542},[436],[415,544,546],{"className":545},[436,437],"n",[415,548,551],{"className":549},[550],"msupsub",[415,552,555],{"className":553},[554],"vlist-t",[415,556,559],{"className":557},[558],"vlist-r",[415,560,564],{"className":561,"style":563},[562],"vlist","height:0.8141em;",[415,565,567,572],{"style":566},"top:-3.063em;margin-right:0.05em;",[415,568],{"className":569,"style":571},[570],"pstrut","height:2.7em;",[415,573,579],{"className":574},[575,576,577,578],"sizing","reset-size6","size3","mtight",[415,580,582],{"className":581},[436,578],"2",[415,584,586],{"className":585},[500],")",". The monotonic stack avoids the\nre-scan by carrying, at all times, precisely the set of indices ",[395,589,590],{},"whose answer is\nstill unknown",", discharging each one the instant its answer appears.",[593,594,596],"h2",{"id":595},"the-monotonic-stack-next-greater-element","The monotonic stack: next greater element",[381,598,599,600,624,625,654,655,695,696,747,748,751,752,755,756,759,760,784],{},"The canonical task: for each ",[415,601,603],{"className":602},[418],[415,604,606],{"className":605,"ariaHidden":423},[422],[415,607,609,612,615,618,621],{"className":608},[427],[415,610],{"className":611,"style":485},[431],[415,613,385],{"className":614},[436,437],[415,616,493],{"className":617},[492],[415,619,471],{"className":620},[436,437],[415,622,501],{"className":623},[500],", find ",[415,626,628],{"className":627},[418],[415,629,631],{"className":630,"ariaHidden":423},[422],[415,632,634,637,645,648,651],{"className":633},[427],[415,635],{"className":636,"style":485},[431],[415,638,641],{"className":639},[436,640],"text",[415,642,644],{"className":643},[436],"nge",[415,646,539],{"className":647},[492],[415,649,471],{"className":650},[436,437],[415,652,586],{"className":653},[500],", the smallest ",[415,656,658],{"className":657},[418],[415,659,661,686],{"className":660,"ariaHidden":423},[422],[415,662,664,668,673,678,683],{"className":663},[427],[415,665],{"className":666,"style":667},[431],"height:0.854em;vertical-align:-0.1944em;",[415,669,672],{"className":670,"style":671},[436,437],"margin-right:0.0572em;","j",[415,674],{"className":675,"style":677},[676],"mspace","margin-right:0.2778em;",[415,679,682],{"className":680},[681],"mrel",">",[415,684],{"className":685,"style":677},[676],[415,687,689,692],{"className":688},[427],[415,690],{"className":691,"style":467},[431],[415,693,471],{"className":694},[436,437],"\nwith ",[415,697,699],{"className":698},[418],[415,700,702,729],{"className":701,"ariaHidden":423},[422],[415,703,705,708,711,714,717,720,723,726],{"className":704},[427],[415,706],{"className":707,"style":485},[431],[415,709,385],{"className":710},[436,437],[415,712,493],{"className":713},[492],[415,715,672],{"className":716,"style":671},[436,437],[415,718,501],{"className":719},[500],[415,721],{"className":722,"style":677},[676],[415,724,682],{"className":725},[681],[415,727],{"className":728,"style":677},[676],[415,730,732,735,738,741,744],{"className":731},[427],[415,733],{"className":734,"style":485},[431],[415,736,385],{"className":737},[436,437],[415,739,493],{"className":740},[492],[415,742,471],{"className":743},[436,437],[415,745,501],{"className":746},[500]," (or ",[404,749,750],{},"none","). Scan left to right keeping a stack of ",[390,753,754],{},"indices","\nwhose next-greater is still unknown, maintained so their values are ",[390,757,758],{},"strictly\ndecreasing"," from bottom to top. When we reach ",[415,761,763],{"className":762},[418],[415,764,766],{"className":765,"ariaHidden":423},[422],[415,767,769,772,775,778,781],{"className":768},[427],[415,770],{"className":771,"style":485},[431],[415,773,385],{"className":774},[436,437],[415,776,493],{"className":777},[492],[415,779,471],{"className":780},[436,437],[415,782,501],{"className":783},[500],":",[786,787,789],"callout",{"type":788},"lemma",[381,790,791,794,795,988,989,1196,1197,1200],{},[390,792,793],{},"Invariant."," The stack holds indices ",[415,796,798],{"className":797},[418],[415,799,801,864,919,940],{"className":800,"ariaHidden":423},[422],[415,802,804,808,854,857,861],{"className":803},[427],[415,805],{"className":806,"style":807},[431],"height:0.8095em;vertical-align:-0.15em;",[415,809,811,814],{"className":810},[436],[415,812,471],{"className":813},[436,437],[415,815,817],{"className":816},[550],[415,818,821,845],{"className":819},[554,820],"vlist-t2",[415,822,824,840],{"className":823},[558],[415,825,828],{"className":826,"style":827},[562],"height:0.3011em;",[415,829,831,834],{"style":830},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[415,832],{"className":833,"style":571},[570],[415,835,837],{"className":836},[575,576,577,578],[415,838,451],{"className":839},[436,578],[415,841,844],{"className":842},[843],"vlist-s","​",[415,846,848],{"className":847},[558],[415,849,852],{"className":850,"style":851},[562],"height:0.15em;",[415,853],{},[415,855],{"className":856,"style":677},[676],[415,858,860],{"className":859},[681],"\u003C",[415,862],{"className":863,"style":677},[676],[415,865,867,870,910,913,916],{"className":866},[427],[415,868],{"className":869,"style":807},[431],[415,871,873,876],{"className":872},[436],[415,874,471],{"className":875},[436,437],[415,877,879],{"className":878},[550],[415,880,882,902],{"className":881},[554,820],[415,883,885,899],{"className":884},[558],[415,886,888],{"className":887,"style":827},[562],[415,889,890,893],{"style":830},[415,891],{"className":892,"style":571},[570],[415,894,896],{"className":895},[575,576,577,578],[415,897,582],{"className":898},[436,578],[415,900,844],{"className":901},[843],[415,903,905],{"className":904},[558],[415,906,908],{"className":907,"style":851},[562],[415,909],{},[415,911],{"className":912,"style":677},[676],[415,914,860],{"className":915},[681],[415,917],{"className":918,"style":677},[676],[415,920,922,926,931,934,937],{"className":921},[427],[415,923],{"className":924,"style":925},[431],"height:0.5782em;vertical-align:-0.0391em;",[415,927,930],{"className":928},[929],"minner","⋯",[415,932],{"className":933,"style":677},[676],[415,935,860],{"className":936},[681],[415,938],{"className":939,"style":677},[676],[415,941,943,946],{"className":942},[427],[415,944],{"className":945,"style":807},[431],[415,947,949,952],{"className":948},[436],[415,950,471],{"className":951},[436,437],[415,953,955],{"className":954},[550],[415,956,958,980],{"className":957},[554,820],[415,959,961,977],{"className":960},[558],[415,962,965],{"className":963,"style":964},[562],"height:0.1514em;",[415,966,967,970],{"style":830},[415,968],{"className":969,"style":571},[570],[415,971,973],{"className":972},[575,576,577,578],[415,974,976],{"className":975},[436,437,578],"m",[415,978,844],{"className":979},[843],[415,981,983],{"className":982},[558],[415,984,986],{"className":985,"style":851},[562],[415,987],{},", not yet\nresolved, with ",[415,990,992],{"className":991},[418],[415,993,995,1059,1123,1141],{"className":994,"ariaHidden":423},[422],[415,996,998,1001,1004,1007,1047,1050,1053,1056],{"className":997},[427],[415,999],{"className":1000,"style":485},[431],[415,1002,385],{"className":1003},[436,437],[415,1005,493],{"className":1006},[492],[415,1008,1010,1013],{"className":1009},[436],[415,1011,471],{"className":1012},[436,437],[415,1014,1016],{"className":1015},[550],[415,1017,1019,1039],{"className":1018},[554,820],[415,1020,1022,1036],{"className":1021},[558],[415,1023,1025],{"className":1024,"style":827},[562],[415,1026,1027,1030],{"style":830},[415,1028],{"className":1029,"style":571},[570],[415,1031,1033],{"className":1032},[575,576,577,578],[415,1034,451],{"className":1035},[436,578],[415,1037,844],{"className":1038},[843],[415,1040,1042],{"className":1041},[558],[415,1043,1045],{"className":1044,"style":851},[562],[415,1046],{},[415,1048,501],{"className":1049},[500],[415,1051],{"className":1052,"style":677},[676],[415,1054,682],{"className":1055},[681],[415,1057],{"className":1058,"style":677},[676],[415,1060,1062,1065,1068,1071,1111,1114,1117,1120],{"className":1061},[427],[415,1063],{"className":1064,"style":485},[431],[415,1066,385],{"className":1067},[436,437],[415,1069,493],{"className":1070},[492],[415,1072,1074,1077],{"className":1073},[436],[415,1075,471],{"className":1076},[436,437],[415,1078,1080],{"className":1079},[550],[415,1081,1083,1103],{"className":1082},[554,820],[415,1084,1086,1100],{"className":1085},[558],[415,1087,1089],{"className":1088,"style":827},[562],[415,1090,1091,1094],{"style":830},[415,1092],{"className":1093,"style":571},[570],[415,1095,1097],{"className":1096},[575,576,577,578],[415,1098,582],{"className":1099},[436,578],[415,1101,844],{"className":1102},[843],[415,1104,1106],{"className":1105},[558],[415,1107,1109],{"className":1108,"style":851},[562],[415,1110],{},[415,1112,501],{"className":1113},[500],[415,1115],{"className":1116,"style":677},[676],[415,1118,682],{"className":1119},[681],[415,1121],{"className":1122,"style":677},[676],[415,1124,1126,1129,1132,1135,1138],{"className":1125},[427],[415,1127],{"className":1128,"style":925},[431],[415,1130,930],{"className":1131},[929],[415,1133],{"className":1134,"style":677},[676],[415,1136,682],{"className":1137},[681],[415,1139],{"className":1140,"style":677},[676],[415,1142,1144,1147,1150,1153,1193],{"className":1143},[427],[415,1145],{"className":1146,"style":485},[431],[415,1148,385],{"className":1149},[436,437],[415,1151,493],{"className":1152},[492],[415,1154,1156,1159],{"className":1155},[436],[415,1157,471],{"className":1158},[436,437],[415,1160,1162],{"className":1161},[550],[415,1163,1165,1185],{"className":1164},[554,820],[415,1166,1168,1182],{"className":1167},[558],[415,1169,1171],{"className":1170,"style":964},[562],[415,1172,1173,1176],{"style":830},[415,1174],{"className":1175,"style":571},[570],[415,1177,1179],{"className":1178},[575,576,577,578],[415,1180,976],{"className":1181},[436,437,578],[415,1183,844],{"className":1184},[843],[415,1186,1188],{"className":1187},[558],[415,1189,1191],{"className":1190,"style":851},[562],[415,1192],{},[415,1194,501],{"className":1195},[500],". Every index ",[395,1198,1199],{},"not"," on the\nstack has already been assigned its next-greater element.",[381,1202,1203,1204,1228,1229,1253,1254,1292,1293,1317,1318,1356,1357,1372],{},"If ",[415,1205,1207],{"className":1206},[418],[415,1208,1210],{"className":1209,"ariaHidden":423},[422],[415,1211,1213,1216,1219,1222,1225],{"className":1212},[427],[415,1214],{"className":1215,"style":485},[431],[415,1217,385],{"className":1218},[436,437],[415,1220,493],{"className":1221},[492],[415,1223,471],{"className":1224},[436,437],[415,1226,501],{"className":1227},[500]," exceeds the value at the top, then ",[415,1230,1232],{"className":1231},[418],[415,1233,1235],{"className":1234,"ariaHidden":423},[422],[415,1236,1238,1241,1244,1247,1250],{"className":1237},[427],[415,1239],{"className":1240,"style":485},[431],[415,1242,385],{"className":1243},[436,437],[415,1245,493],{"className":1246},[492],[415,1248,471],{"className":1249},[436,437],[415,1251,501],{"className":1252},[500]," is the answer for that top\nindex, the first larger value to its right, so we pop it, record\n",[415,1255,1257],{"className":1256},[418],[415,1258,1260,1283],{"className":1259,"ariaHidden":423},[422],[415,1261,1263,1267,1273,1276,1280],{"className":1262},[427],[415,1264],{"className":1265,"style":1266},[431],"height:0.625em;vertical-align:-0.1944em;",[415,1268,1270],{"className":1269},[436,640],[415,1271,644],{"className":1272},[436],[415,1274],{"className":1275,"style":677},[676],[415,1277,1279],{"className":1278},[681],"=",[415,1281],{"className":1282,"style":677},[676],[415,1284,1286,1289],{"className":1285},[427],[415,1287],{"className":1288,"style":467},[431],[415,1290,471],{"className":1291},[436,437],", and repeat. We keep popping while ",[415,1294,1296],{"className":1295},[418],[415,1297,1299],{"className":1298,"ariaHidden":423},[422],[415,1300,1302,1305,1308,1311,1314],{"className":1301},[427],[415,1303],{"className":1304,"style":485},[431],[415,1306,385],{"className":1307},[436,437],[415,1309,493],{"className":1310},[492],[415,1312,471],{"className":1313},[436,437],[415,1315,501],{"className":1316},[500]," beats the new top; each\npopped index has just found its next-greater. Once the top is ",[415,1319,1321],{"className":1320},[418],[415,1322,1324,1338],{"className":1323,"ariaHidden":423},[422],[415,1325,1327,1331,1335],{"className":1326},[427],[415,1328],{"className":1329,"style":1330},[431],"height:0.7719em;vertical-align:-0.136em;",[415,1332,1334],{"className":1333},[681],"≥",[415,1336],{"className":1337,"style":677},[676],[415,1339,1341,1344,1347,1350,1353],{"className":1340},[427],[415,1342],{"className":1343,"style":485},[431],[415,1345,385],{"className":1346},[436,437],[415,1348,493],{"className":1349},[492],[415,1351,471],{"className":1352},[436,437],[415,1354,501],{"className":1355},[500]," (order\nrestored), we push ",[415,1358,1360],{"className":1359},[418],[415,1361,1363],{"className":1362,"ariaHidden":423},[422],[415,1364,1366,1369],{"className":1365},[427],[415,1367],{"className":1368,"style":467},[431],[415,1370,471],{"className":1371},[436,437],", still unresolved. Anything left on the stack at the end\nhas no greater element to its right.",[1374,1375,1379],"pre",{"className":1376,"code":1377,"language":1378,"meta":376,"style":376},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{Next-Greater}(a[1..n])$ — next strictly-greater element to the right\n$S \\gets$ empty stack of indices\nfor $i \\gets 1$ to $n$ do\n  while $S$ not empty and $a[\\text{top}(S)] \u003C a[i]$ do\n    $j \\gets \\text{pop}(S)$\n    $\\text{nge}[j] \\gets i$ \u002F\u002F $a[i]$: $j$'s next-greater\n  $\\text{push}(S, i)$ \u002F\u002F unresolved\nwhile $S$ not empty do\n  $\\text{nge}[\\text{pop}(S)] \\gets \\text{none}$ \u002F\u002F no greater right\n","algorithm",[1380,1381,1382,1388,1393,1398,1403,1408,1413,1418,1423],"code",{"__ignoreMap":376},[415,1383,1385],{"class":1384,"line":6},"line",[415,1386,1387],{},"caption: $\\textsc{Next-Greater}(a[1..n])$ — next strictly-greater element to the right\n",[415,1389,1390],{"class":1384,"line":18},[415,1391,1392],{},"$S \\gets$ empty stack of indices\n",[415,1394,1395],{"class":1384,"line":24},[415,1396,1397],{},"for $i \\gets 1$ to $n$ do\n",[415,1399,1400],{"class":1384,"line":73},[415,1401,1402],{},"  while $S$ not empty and $a[\\text{top}(S)] \u003C a[i]$ do\n",[415,1404,1405],{"class":1384,"line":102},[415,1406,1407],{},"    $j \\gets \\text{pop}(S)$\n",[415,1409,1410],{"class":1384,"line":108},[415,1411,1412],{},"    $\\text{nge}[j] \\gets i$ \u002F\u002F $a[i]$: $j$'s next-greater\n",[415,1414,1415],{"class":1384,"line":116},[415,1416,1417],{},"  $\\text{push}(S, i)$ \u002F\u002F unresolved\n",[415,1419,1420],{"class":1384,"line":196},[415,1421,1422],{},"while $S$ not empty do\n",[415,1424,1425],{"class":1384,"line":202},[415,1426,1427],{},"  $\\text{nge}[\\text{pop}(S)] \\gets \\text{none}$ \u002F\u002F no greater right\n",[381,1429,1430,1431,1434],{},"The body of the ",[1380,1432,1433],{},"while"," looks as if it could be quadratic, but it is not.",[786,1436,1437],{"type":788},[381,1438,1439,1469,1470,1495,1496,1520],{},[390,1440,1441,1442,1468],{},"Lemma (amortized ",[415,1443,1445],{"className":1444},[418],[415,1446,1448],{"className":1447,"ariaHidden":423},[422],[415,1449,1451,1454,1459,1462,1465],{"className":1450},[427],[415,1452],{"className":1453,"style":485},[431],[415,1455,1458],{"className":1456,"style":1457},[436,437],"margin-right:0.0278em;","O",[415,1460,539],{"className":1461},[492],[415,1463,546],{"className":1464},[436,437],[415,1466,586],{"className":1467},[500],")."," ",[415,1471,1473],{"className":1472},[418],[415,1474,1476],{"className":1475,"ariaHidden":423},[422],[415,1477,1479,1483],{"className":1478},[427],[415,1480],{"className":1481,"style":1482},[431],"height:0.6833em;",[415,1484,1488],{"className":1485},[1486,1487],"enclosing","textsc",[415,1489,1491],{"className":1490},[436,640],[415,1492,1494],{"className":1493},[436],"Next-Greater"," runs in ",[415,1497,1499],{"className":1498},[418],[415,1500,1502],{"className":1501,"ariaHidden":423},[422],[415,1503,1505,1508,1511,1514,1517],{"className":1504},[427],[415,1506],{"className":1507,"style":485},[431],[415,1509,1458],{"className":1510,"style":1457},[436,437],[415,1512,539],{"className":1513},[492],[415,1515,546],{"className":1516},[436,437],[415,1518,586],{"className":1519},[500]," time.",[786,1522,1524],{"type":1523},"proof",[381,1525,1526,1529,1530,1533,1534,1537,1538,1541,1542,1544,1545,1547,1548,1564,1565,1580,1581,1605,1606,1687,1688],{},[390,1527,1528],{},"Proof (aggregate)."," Each index is ",[390,1531,1532],{},"pushed exactly once",", in the single\n",[1380,1535,1536],{},"push"," at the end of the loop body, and is ",[390,1539,1540],{},"popped at most once",", after which\nit never returns to the stack. A ",[1380,1543,1433],{},"-iteration performs one pop, so the\ntotal number of ",[1380,1546,1433],{},"-iterations across the whole run is at most ",[415,1549,1551],{"className":1550},[418],[415,1552,1554],{"className":1553,"ariaHidden":423},[422],[415,1555,1557,1561],{"className":1556},[427],[415,1558],{"className":1559,"style":1560},[431],"height:0.4306em;",[415,1562,546],{"className":1563},[436,437],". The\nouter loop runs ",[415,1566,1568],{"className":1567},[418],[415,1569,1571],{"className":1570,"ariaHidden":423},[422],[415,1572,1574,1577],{"className":1573},[427],[415,1575],{"className":1576,"style":1560},[431],[415,1578,546],{"className":1579},[436,437]," times and does ",[415,1582,1584],{"className":1583},[418],[415,1585,1587],{"className":1586,"ariaHidden":423},[422],[415,1588,1590,1593,1596,1599,1602],{"className":1589},[427],[415,1591],{"className":1592,"style":485},[431],[415,1594,1458],{"className":1595,"style":1457},[436,437],[415,1597,539],{"className":1598},[492],[415,1600,451],{"className":1601},[436],[415,1603,586],{"className":1604},[500]," work besides popping. Total work is\ntherefore ",[415,1607,1609],{"className":1608},[418],[415,1610,1612,1642,1669],{"className":1611,"ariaHidden":423},[422],[415,1613,1615,1618,1621,1624,1627,1630,1634,1639],{"className":1614},[427],[415,1616],{"className":1617,"style":485},[431],[415,1619,1458],{"className":1620,"style":1457},[436,437],[415,1622,539],{"className":1623},[492],[415,1625,546],{"className":1626},[436,437],[415,1628,586],{"className":1629},[500],[415,1631],{"className":1632,"style":1633},[676],"margin-right:0.2222em;",[415,1635,1638],{"className":1636},[1637],"mbin","+",[415,1640],{"className":1641,"style":1633},[676],[415,1643,1645,1648,1651,1654,1657,1660,1663,1666],{"className":1644},[427],[415,1646],{"className":1647,"style":485},[431],[415,1649,1458],{"className":1650,"style":1457},[436,437],[415,1652,539],{"className":1653},[492],[415,1655,546],{"className":1656},[436,437],[415,1658,586],{"className":1659},[500],[415,1661],{"className":1662,"style":677},[676],[415,1664,1279],{"className":1665},[681],[415,1667],{"className":1668,"style":677},[676],[415,1670,1672,1675,1678,1681,1684],{"className":1671},[427],[415,1673],{"className":1674,"style":485},[431],[415,1676,1458],{"className":1677,"style":1457},[436,437],[415,1679,539],{"className":1680},[492],[415,1682,546],{"className":1683},[436,437],[415,1685,586],{"className":1686},[500],", even though an individual step may pop many\nelements. ",[415,1689,1691],{"className":1690},[418],[415,1692,1694],{"className":1693,"ariaHidden":423},[422],[415,1695,1697,1701],{"className":1696},[427],[415,1698],{"className":1699,"style":1700},[431],"height:0.675em;",[415,1702,1705],{"className":1703},[1486,1704],"qed",[415,1706,1709],{"className":1707},[436,1708],"amsrm","□",[1711,1712,1716,2035],"figure",{"className":1713},[1714,1715],"tikz-figure","tikz-diagram-rendered",[1717,1718,1723],"svg",{"xmlns":1719,"width":1720,"height":1721,"viewBox":1722},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","246.041","153.629","-75 -75 184.531 115.221",[1724,1725,1728,1733,1736,1745,1753,1756,1763,1770,1773,1780,1787,1790,1797,1804,1807,1814,1821,1828,1858,1874,1877,1883,1886,1892,1895,1901,1922,1941,1960,1970,1978,2013,2028],"g",{"stroke":1726,"style":1727},"currentColor","stroke-miterlimit:10;stroke-width:.4",[1729,1730],"path",{"fill":1731,"stroke":750,"d":1732},"var(--tk-soft-accent)","M72.39-37.907v-22.761h19.917v22.761Zm19.917-22.761",[1729,1734],{"fill":750,"d":1735},"M-37.153-37.906h22.762V-60.67h-22.762Z",[1724,1737,1739],{"transform":1738},"translate(24.718 2.9)",[1729,1740],{"d":1741,"fill":1726,"stroke":1726,"className":1742,"style":1744},"M-48.895-49.287L-52.345-49.287L-52.345-49.520Q-52.345-49.533-52.314-49.564L-50.860-51.141Q-50.394-51.638-50.141-51.943Q-49.888-52.249-49.697-52.660Q-49.506-53.071-49.506-53.510Q-49.506-54.099-49.829-54.532Q-50.152-54.965-50.732-54.965Q-50.996-54.965-51.242-54.855Q-51.488-54.745-51.664-54.558Q-51.840-54.371-51.936-54.121L-51.857-54.121Q-51.655-54.121-51.512-53.985Q-51.369-53.849-51.369-53.633Q-51.369-53.427-51.512-53.288Q-51.655-53.150-51.857-53.150Q-52.059-53.150-52.202-53.293Q-52.345-53.435-52.345-53.633Q-52.345-54.095-52.108-54.468Q-51.870-54.842-51.470-55.061Q-51.071-55.281-50.622-55.281Q-50.099-55.281-49.645-55.066Q-49.190-54.850-48.917-54.451Q-48.645-54.051-48.645-53.510Q-48.645-53.115-48.816-52.761Q-48.988-52.407-49.253-52.128Q-49.519-51.849-49.970-51.464Q-50.420-51.080-50.499-51.005L-51.523-50.043L-50.706-50.043Q-50.055-50.043-49.618-50.054Q-49.181-50.065-49.150-50.087Q-49.080-50.170-49.025-50.410Q-48.970-50.649-48.930-50.917L-48.645-50.917",[1743],"tikz-text","stroke-width:0.270",[1724,1746,1748],{"transform":1747},"translate(24.905 -14.494)",[1729,1749],{"d":1750,"fill":1726,"stroke":1726,"className":1751,"style":1752},"M-49.208-49.287L-52.001-49.287L-52.001-49.584Q-50.939-49.584-50.939-49.846L-50.939-54.014Q-51.368-53.799-52.048-53.799L-52.048-54.096Q-51.029-54.096-50.513-54.607L-50.368-54.607Q-50.294-54.588-50.275-54.510L-50.275-49.846Q-50.275-49.584-49.208-49.584",[1743],"stroke-width:0.240",[1729,1754],{"fill":750,"d":1755},"M-10.123-37.906h22.762V-60.67h-22.762Z",[1724,1757,1759],{"transform":1758},"translate(51.748 2.9)",[1729,1760],{"d":1761,"fill":1726,"stroke":1726,"className":1762,"style":1744},"M-51.976-50.293Q-51.835-49.880-51.475-49.628Q-51.114-49.375-50.679-49.375Q-50.227-49.375-49.961-49.628Q-49.695-49.880-49.592-50.265Q-49.489-50.649-49.489-51.106Q-49.489-52.807-50.398-52.807Q-50.719-52.807-50.948-52.713Q-51.176-52.618-51.306-52.499Q-51.435-52.381-51.547-52.242Q-51.659-52.104-51.695-52.095L-51.778-52.095Q-51.822-52.095-51.853-52.126Q-51.884-52.157-51.884-52.205L-51.884-55.202Q-51.884-55.233-51.848-55.257Q-51.813-55.281-51.787-55.281L-51.747-55.281Q-51.114-54.991-50.442-54.991Q-49.770-54.991-49.128-55.281L-49.102-55.281Q-49.071-55.281-49.038-55.259Q-49.005-55.237-49.005-55.202L-49.005-55.101Q-49.005-55.097-49.014-55.079Q-49.023-55.061-49.023-55.057Q-49.339-54.662-49.809-54.440Q-50.280-54.218-50.776-54.218Q-51.185-54.218-51.567-54.328L-51.567-52.609Q-51.110-53.066-50.398-53.066Q-49.888-53.066-49.489-52.785Q-49.089-52.504-48.867-52.049Q-48.645-51.594-48.645-51.089Q-48.645-50.539-48.924-50.080Q-49.203-49.621-49.669-49.355Q-50.135-49.089-50.679-49.089Q-51.119-49.089-51.503-49.316Q-51.888-49.542-52.116-49.922Q-52.345-50.302-52.345-50.746Q-52.345-50.939-52.213-51.071Q-52.081-51.203-51.884-51.203Q-51.752-51.203-51.648-51.144Q-51.545-51.084-51.486-50.981Q-51.427-50.878-51.427-50.746Q-51.427-50.548-51.554-50.416Q-51.681-50.285-51.884-50.285Q-51.945-50.285-51.976-50.293",[1743],[1724,1764,1766],{"transform":1765},"translate(51.935 -14.494)",[1729,1767],{"d":1768,"fill":1726,"stroke":1726,"className":1769,"style":1752},"M-49.216-49.287L-52.376-49.287L-52.376-49.494Q-52.376-49.521-52.353-49.553L-51.001-50.951Q-50.622-51.338-50.374-51.627Q-50.126-51.916-49.952-52.273Q-49.779-52.631-49.779-53.021Q-49.779-53.369-49.911-53.662Q-50.044-53.955-50.298-54.133Q-50.552-54.310-50.907-54.310Q-51.267-54.310-51.558-54.115Q-51.849-53.920-51.993-53.592L-51.939-53.592Q-51.755-53.592-51.630-53.471Q-51.505-53.349-51.505-53.158Q-51.505-52.978-51.630-52.849Q-51.755-52.721-51.939-52.721Q-52.118-52.721-52.247-52.849Q-52.376-52.978-52.376-53.158Q-52.376-53.560-52.156-53.896Q-51.935-54.232-51.570-54.420Q-51.204-54.607-50.802-54.607Q-50.322-54.607-49.906-54.420Q-49.489-54.232-49.238-53.871Q-48.986-53.510-48.986-53.021Q-48.986-52.662-49.140-52.359Q-49.294-52.057-49.546-51.797Q-49.798-51.537-50.148-51.252Q-50.497-50.967-50.665-50.814L-51.595-49.974L-50.880-49.974Q-49.505-49.974-49.466-50.014Q-49.396-50.092-49.353-50.277Q-49.310-50.463-49.267-50.752L-48.986-50.752",[1743],[1729,1771],{"fill":750,"d":1772},"M16.907-37.906h22.762V-60.67H16.907Z",[1724,1774,1776],{"transform":1775},"translate(78.778 2.9)",[1729,1777],{"d":1778,"fill":1726,"stroke":1726,"className":1779,"style":1744},"M-51.901-50.008L-51.945-50.008Q-51.743-49.691-51.356-49.533Q-50.969-49.375-50.543-49.375Q-50.007-49.375-49.768-49.810Q-49.528-50.245-49.528-50.825Q-49.528-51.405-49.774-51.845Q-50.020-52.284-50.552-52.284L-51.172-52.284Q-51.198-52.284-51.231-52.313Q-51.264-52.341-51.264-52.363L-51.264-52.464Q-51.264-52.495-51.235-52.519Q-51.207-52.543-51.172-52.543L-50.653-52.583Q-50.187-52.583-49.941-53.055Q-49.695-53.528-49.695-54.046Q-49.695-54.473-49.908-54.747Q-50.121-55.022-50.543-55.022Q-50.886-55.022-51.211-54.892Q-51.536-54.763-51.721-54.508L-51.695-54.508Q-51.492-54.508-51.356-54.367Q-51.220-54.226-51.220-54.029Q-51.220-53.831-51.354-53.697Q-51.488-53.563-51.686-53.563Q-51.888-53.563-52.026-53.697Q-52.165-53.831-52.165-54.029Q-52.165-54.618-51.662-54.949Q-51.158-55.281-50.543-55.281Q-50.165-55.281-49.763-55.141Q-49.361-55-49.093-54.721Q-48.825-54.442-48.825-54.046Q-48.825-53.497-49.179-53.060Q-49.532-52.622-50.073-52.438Q-49.682-52.359-49.337-52.135Q-48.992-51.911-48.781-51.570Q-48.570-51.229-48.570-50.834Q-48.570-50.452-48.733-50.129Q-48.895-49.806-49.187-49.570Q-49.480-49.335-49.827-49.212Q-50.174-49.089-50.543-49.089Q-50.991-49.089-51.422-49.250Q-51.853-49.410-52.134-49.737Q-52.415-50.065-52.415-50.522Q-52.415-50.737-52.268-50.880Q-52.121-51.023-51.901-51.023Q-51.690-51.023-51.545-50.878Q-51.400-50.733-51.400-50.522Q-51.400-50.311-51.547-50.159Q-51.695-50.008-51.901-50.008",[1743],[1724,1781,1783],{"transform":1782},"translate(78.965 -14.494)",[1729,1784],{"d":1785,"fill":1726,"stroke":1726,"className":1786,"style":1752},"M-52.009-49.920Q-51.818-49.646-51.462-49.519Q-51.107-49.392-50.724-49.392Q-50.388-49.392-50.179-49.578Q-49.970-49.764-49.874-50.057Q-49.779-50.349-49.779-50.662Q-49.779-50.986-49.876-51.281Q-49.974-51.576-50.187-51.760Q-50.400-51.943-50.732-51.943L-51.298-51.943Q-51.329-51.943-51.359-51.973Q-51.388-52.002-51.388-52.029L-51.388-52.111Q-51.388-52.146-51.359-52.172Q-51.329-52.197-51.298-52.197L-50.818-52.232Q-50.532-52.232-50.335-52.437Q-50.138-52.642-50.042-52.937Q-49.947-53.232-49.947-53.510Q-49.947-53.889-50.146-54.127Q-50.345-54.365-50.724-54.365Q-51.044-54.365-51.333-54.258Q-51.622-54.150-51.786-53.928Q-51.607-53.928-51.484-53.801Q-51.361-53.674-51.361-53.502Q-51.361-53.330-51.486-53.205Q-51.611-53.080-51.786-53.080Q-51.958-53.080-52.083-53.205Q-52.208-53.330-52.208-53.502Q-52.208-53.869-51.984-54.117Q-51.759-54.365-51.419-54.486Q-51.079-54.607-50.724-54.607Q-50.376-54.607-50.013-54.486Q-49.650-54.365-49.402-54.115Q-49.154-53.865-49.154-53.510Q-49.154-53.025-49.472-52.642Q-49.790-52.260-50.267-52.088Q-49.716-51.978-49.316-51.592Q-48.915-51.205-48.915-50.670Q-48.915-50.213-49.179-49.857Q-49.443-49.502-49.864-49.310Q-50.286-49.119-50.724-49.119Q-51.134-49.119-51.527-49.254Q-51.919-49.389-52.185-49.674Q-52.450-49.959-52.450-50.377Q-52.450-50.572-52.318-50.701Q-52.185-50.830-51.993-50.830Q-51.868-50.830-51.765-50.771Q-51.661-50.713-51.599-50.607Q-51.536-50.502-51.536-50.377Q-51.536-50.182-51.671-50.051Q-51.806-49.920-52.009-49.920",[1743],[1729,1788],{"fill":750,"d":1789},"M43.937-37.906h22.762V-60.67H43.937Z",[1724,1791,1793],{"transform":1792},"translate(105.808 2.9)",[1729,1794],{"d":1795,"fill":1726,"stroke":1726,"className":1796,"style":1744},"M-48.895-49.287L-51.927-49.287L-51.927-49.603Q-50.776-49.603-50.776-49.898L-50.776-54.622Q-51.264-54.389-51.985-54.389L-51.985-54.705Q-50.855-54.705-50.293-55.281L-50.148-55.281Q-50.113-55.281-50.080-55.248Q-50.047-55.215-50.047-55.180L-50.047-49.898Q-50.047-49.603-48.895-49.603",[1743],[1724,1798,1800],{"transform":1799},"translate(105.995 -14.494)",[1729,1801],{"d":1802,"fill":1726,"stroke":1726,"className":1803,"style":1752},"M-50.322-50.599L-52.564-50.599L-52.564-50.896L-49.993-54.553Q-49.954-54.607-49.892-54.607L-49.747-54.607Q-49.697-54.607-49.665-54.576Q-49.634-54.545-49.634-54.494L-49.634-50.896L-48.802-50.896L-48.802-50.599L-49.634-50.599L-49.634-49.846Q-49.634-49.584-48.810-49.584L-48.810-49.287L-51.146-49.287L-51.146-49.584Q-50.322-49.584-50.322-49.846L-50.322-50.599M-50.267-53.701L-52.236-50.896L-50.267-50.896",[1743],[1729,1805],{"fill":750,"d":1806},"M70.967-37.906h22.762V-60.67H70.967Z",[1724,1808,1810],{"transform":1809},"translate(132.838 2.9)",[1729,1811],{"d":1812,"fill":1726,"stroke":1726,"className":1813,"style":1744},"M-50.104-50.764L-52.543-50.764L-52.543-51.080L-49.717-55.228Q-49.673-55.281-49.607-55.281L-49.453-55.281Q-49.414-55.281-49.381-55.248Q-49.348-55.215-49.348-55.171L-49.348-51.080L-48.447-51.080L-48.447-50.764L-49.348-50.764L-49.348-49.898Q-49.348-49.603-48.447-49.603L-48.447-49.287L-51-49.287L-51-49.603Q-50.640-49.603-50.372-49.658Q-50.104-49.713-50.104-49.898L-50.104-50.764M-50.047-54.253L-52.209-51.080L-50.047-51.080",[1743],[1724,1815,1817],{"transform":1816},"translate(133.025 -14.494)",[1729,1818],{"d":1819,"fill":1726,"stroke":1726,"className":1820,"style":1752},"M-51.962-50.166L-52.025-50.166Q-51.884-49.814-51.560-49.603Q-51.236-49.392-50.849-49.392Q-50.255-49.392-50.005-49.826Q-49.755-50.260-49.755-50.896Q-49.755-51.490-49.925-51.937Q-50.095-52.385-50.595-52.385Q-50.892-52.385-51.097-52.305Q-51.302-52.224-51.404-52.133Q-51.505-52.041-51.620-51.908Q-51.736-51.775-51.786-51.760L-51.857-51.760Q-51.943-51.783-51.962-51.861L-51.962-54.510Q-51.931-54.607-51.857-54.607Q-51.841-54.607-51.833-54.605Q-51.825-54.603-51.818-54.599Q-51.232-54.349-50.634-54.349Q-50.052-54.349-49.435-54.607L-49.411-54.607Q-49.368-54.607-49.341-54.582Q-49.314-54.557-49.314-54.517L-49.314-54.439Q-49.314-54.408-49.337-54.385Q-49.634-54.033-50.056-53.836Q-50.478-53.639-50.939-53.639Q-51.286-53.639-51.665-53.744L-51.665-52.248Q-51.447-52.443-51.171-52.541Q-50.896-52.639-50.595-52.639Q-50.138-52.639-49.769-52.391Q-49.400-52.142-49.193-51.738Q-48.986-51.334-48.986-50.889Q-48.986-50.400-49.241-49.992Q-49.497-49.584-49.929-49.351Q-50.361-49.119-50.849-49.119Q-51.243-49.119-51.599-49.310Q-51.954-49.502-52.165-49.836Q-52.376-50.170-52.376-50.584Q-52.376-50.764-52.259-50.877Q-52.142-50.990-51.962-50.990Q-51.845-50.990-51.753-50.937Q-51.661-50.885-51.609-50.793Q-51.556-50.701-51.556-50.584Q-51.556-50.400-51.669-50.283Q-51.782-50.166-51.962-50.166",[1743],[1724,1822,1825],{"stroke":1823,"style":1824},"var(--tk-accent)","stroke-width:1.2",[1729,1826],{"fill":750,"d":1827},"M70.967-37.906H93.73V-60.67H70.967Z",[1724,1829,1830],{"fill":1823,"stroke":1823},[1724,1831,1833,1840,1846,1852],{"fill":1823,"stroke":750,"fontSize":1832},"8",[1724,1834,1836],{"transform":1835},"translate(114.571 18.977)",[1729,1837],{"d":1838,"fill":1823,"stroke":1823,"className":1839,"style":1752},"M-51.939-50.248L-51.939-52.439L-52.642-52.439L-52.642-52.693Q-52.286-52.693-52.044-52.926Q-51.802-53.158-51.691-53.506Q-51.579-53.853-51.579-54.209L-51.298-54.209L-51.298-52.736L-50.122-52.736L-50.122-52.439L-51.298-52.439L-51.298-50.264Q-51.298-49.943-51.179-49.715Q-51.060-49.486-50.779-49.486Q-50.599-49.486-50.482-49.609Q-50.364-49.732-50.312-49.912Q-50.259-50.092-50.259-50.264L-50.259-50.736L-49.978-50.736L-49.978-50.248Q-49.978-49.994-50.083-49.754Q-50.189-49.514-50.386-49.361Q-50.583-49.209-50.841-49.209Q-51.157-49.209-51.409-49.332Q-51.661-49.455-51.800-49.689Q-51.939-49.924-51.939-50.248M-47.251-49.287L-49.232-49.287L-49.232-49.584Q-48.962-49.584-48.794-49.629Q-48.626-49.674-48.626-49.846L-48.626-51.982Q-48.626-52.197-48.689-52.293Q-48.751-52.389-48.868-52.410Q-48.986-52.432-49.232-52.432L-49.232-52.728L-48.064-52.814L-48.064-52.029Q-47.986-52.240-47.833-52.426Q-47.681-52.611-47.482-52.713Q-47.282-52.814-47.056-52.814Q-46.810-52.814-46.618-52.670Q-46.427-52.525-46.427-52.295Q-46.427-52.139-46.532-52.029Q-46.638-51.920-46.794-51.920Q-46.950-51.920-47.060-52.029Q-47.169-52.139-47.169-52.295Q-47.169-52.455-47.064-52.560Q-47.388-52.560-47.603-52.332Q-47.818-52.103-47.913-51.764Q-48.009-51.424-48.009-51.119L-48.009-49.846Q-48.009-49.678-47.782-49.631Q-47.556-49.584-47.251-49.584L-47.251-49.287M-44.087-49.287L-45.864-49.287L-45.864-49.584Q-45.591-49.584-45.423-49.631Q-45.255-49.678-45.255-49.846L-45.255-51.982Q-45.255-52.197-45.312-52.293Q-45.368-52.389-45.482-52.410Q-45.595-52.432-45.841-52.432L-45.841-52.728L-44.642-52.814L-44.642-49.846Q-44.642-49.678-44.495-49.631Q-44.349-49.584-44.087-49.584L-44.087-49.287M-45.529-54.209Q-45.529-54.400-45.394-54.531Q-45.259-54.662-45.064-54.662Q-44.943-54.662-44.839-54.599Q-44.736-54.537-44.673-54.433Q-44.611-54.330-44.611-54.209Q-44.611-54.014-44.741-53.879Q-44.872-53.744-45.064-53.744Q-45.263-53.744-45.396-53.877Q-45.529-54.010-45.529-54.209M-43.587-48.678Q-43.587-48.959-43.376-49.170Q-43.165-49.381-42.880-49.471Q-43.036-49.596-43.114-49.785Q-43.193-49.974-43.193-50.174Q-43.193-50.529-42.962-50.822Q-43.329-51.162-43.329-51.631Q-43.329-51.982-43.126-52.252Q-42.923-52.521-42.603-52.668Q-42.282-52.814-41.939-52.814Q-41.419-52.814-41.048-52.533Q-40.685-52.904-40.138-52.904Q-39.958-52.904-39.831-52.777Q-39.704-52.650-39.704-52.471Q-39.704-52.365-39.782-52.287Q-39.861-52.209-39.970-52.209Q-40.079-52.209-40.156-52.285Q-40.232-52.361-40.232-52.471Q-40.232-52.572-40.193-52.623Q-40.185-52.631-40.181-52.637Q-40.177-52.642-40.177-52.646Q-40.552-52.646-40.872-52.392Q-40.552-52.053-40.552-51.631Q-40.552-51.361-40.669-51.144Q-40.786-50.928-40.991-50.769Q-41.197-50.611-41.439-50.529Q-41.681-50.447-41.939-50.447Q-42.157-50.447-42.370-50.506Q-42.583-50.564-42.779-50.685Q-42.872-50.545-42.872-50.365Q-42.872-50.158-42.736-50.006Q-42.599-49.853-42.392-49.853L-41.697-49.853Q-41.208-49.853-40.796-49.769Q-40.384-49.685-40.105-49.428Q-39.825-49.170-39.825-48.678Q-39.825-48.314-40.146-48.082Q-40.466-47.849-40.907-47.748Q-41.349-47.646-41.704-47.646Q-42.060-47.646-42.503-47.748Q-42.947-47.849-43.267-48.082Q-43.587-48.314-43.587-48.678M-43.083-48.678Q-43.083-48.482-42.939-48.334Q-42.794-48.185-42.581-48.096Q-42.368-48.006-42.128-47.959Q-41.888-47.912-41.704-47.912Q-41.462-47.912-41.132-47.990Q-40.802-48.068-40.566-48.242Q-40.329-48.416-40.329-48.678Q-40.329-49.084-40.739-49.193Q-41.150-49.303-41.712-49.303L-42.392-49.303Q-42.661-49.303-42.872-49.125Q-43.083-48.947-43.083-48.678M-41.939-50.713Q-41.216-50.713-41.216-51.631Q-41.216-52.553-41.939-52.553Q-42.665-52.553-42.665-51.631Q-42.665-50.713-41.939-50.713M-39.341-48.678Q-39.341-48.959-39.130-49.170Q-38.919-49.381-38.634-49.471Q-38.790-49.596-38.868-49.785Q-38.947-49.974-38.947-50.174Q-38.947-50.529-38.716-50.822Q-39.083-51.162-39.083-51.631Q-39.083-51.982-38.880-52.252Q-38.677-52.521-38.357-52.668Q-38.036-52.814-37.693-52.814Q-37.173-52.814-36.802-52.533Q-36.439-52.904-35.892-52.904Q-35.712-52.904-35.585-52.777Q-35.458-52.650-35.458-52.471Q-35.458-52.365-35.536-52.287Q-35.614-52.209-35.724-52.209Q-35.833-52.209-35.909-52.285Q-35.986-52.361-35.986-52.471Q-35.986-52.572-35.947-52.623Q-35.939-52.631-35.935-52.637Q-35.931-52.642-35.931-52.646Q-36.306-52.646-36.626-52.392Q-36.306-52.053-36.306-51.631Q-36.306-51.361-36.423-51.144Q-36.540-50.928-36.745-50.769Q-36.950-50.611-37.193-50.529Q-37.435-50.447-37.693-50.447Q-37.911-50.447-38.124-50.506Q-38.337-50.564-38.532-50.685Q-38.626-50.545-38.626-50.365Q-38.626-50.158-38.489-50.006Q-38.353-49.853-38.146-49.853L-37.450-49.853Q-36.962-49.853-36.550-49.769Q-36.138-49.685-35.859-49.428Q-35.579-49.170-35.579-48.678Q-35.579-48.314-35.900-48.082Q-36.220-47.849-36.661-47.748Q-37.103-47.646-37.458-47.646Q-37.814-47.646-38.257-47.748Q-38.700-47.849-39.021-48.082Q-39.341-48.314-39.341-48.678M-38.837-48.678Q-38.837-48.482-38.693-48.334Q-38.548-48.185-38.335-48.096Q-38.122-48.006-37.882-47.959Q-37.642-47.912-37.458-47.912Q-37.216-47.912-36.886-47.990Q-36.556-48.068-36.320-48.242Q-36.083-48.416-36.083-48.678Q-36.083-49.084-36.493-49.193Q-36.904-49.303-37.466-49.303L-38.146-49.303Q-38.415-49.303-38.626-49.125Q-38.837-48.947-38.837-48.678M-37.693-50.713Q-36.970-50.713-36.970-51.631Q-36.970-52.553-37.693-52.553Q-38.419-52.553-38.419-51.631Q-38.419-50.713-37.693-50.713M-35.095-51.041Q-35.095-51.521-34.863-51.937Q-34.630-52.353-34.220-52.603Q-33.810-52.853-33.333-52.853Q-32.603-52.853-32.204-52.412Q-31.806-51.971-31.806-51.240Q-31.806-51.135-31.900-51.111L-34.349-51.111L-34.349-51.041Q-34.349-50.631-34.228-50.275Q-34.107-49.920-33.835-49.703Q-33.564-49.486-33.134-49.486Q-32.771-49.486-32.474-49.715Q-32.177-49.943-32.075-50.295Q-32.068-50.342-31.982-50.357L-31.900-50.357Q-31.806-50.330-31.806-50.248Q-31.806-50.240-31.814-50.209Q-31.876-49.982-32.015-49.799Q-32.154-49.615-32.345-49.482Q-32.536-49.349-32.755-49.279Q-32.974-49.209-33.212-49.209Q-33.583-49.209-33.921-49.346Q-34.259-49.482-34.527-49.734Q-34.794-49.986-34.945-50.326Q-35.095-50.666-35.095-51.041M-34.341-51.349L-32.380-51.349Q-32.380-51.654-32.482-51.945Q-32.583-52.236-32.800-52.418Q-33.017-52.599-33.333-52.599Q-33.634-52.599-33.864-52.412Q-34.095-52.224-34.218-51.933Q-34.341-51.642-34.341-51.349M-29.310-49.287L-31.290-49.287L-31.290-49.584Q-31.021-49.584-30.853-49.629Q-30.685-49.674-30.685-49.846L-30.685-51.982Q-30.685-52.197-30.747-52.293Q-30.810-52.389-30.927-52.410Q-31.044-52.432-31.290-52.432L-31.290-52.728L-30.122-52.814L-30.122-52.029Q-30.044-52.240-29.892-52.426Q-29.739-52.611-29.540-52.713Q-29.341-52.814-29.114-52.814Q-28.868-52.814-28.677-52.670Q-28.486-52.525-28.486-52.295Q-28.486-52.139-28.591-52.029Q-28.697-51.920-28.853-51.920Q-29.009-51.920-29.118-52.029Q-29.228-52.139-29.228-52.295Q-29.228-52.455-29.122-52.560Q-29.447-52.560-29.661-52.332Q-29.876-52.103-29.972-51.764Q-30.068-51.424-30.068-51.119L-30.068-49.846Q-30.068-49.678-29.841-49.631Q-29.614-49.584-29.310-49.584",[1743],[1724,1841,1842],{"transform":1835},[1729,1843],{"d":1844,"fill":1823,"stroke":1823,"className":1845,"style":1752},"M-24.712-49.889Q-24.712-50.021-24.657-50.174L-23.985-51.904Q-23.895-52.127-23.895-52.310Q-23.895-52.560-24.071-52.560Q-24.376-52.560-24.587-52.252Q-24.797-51.943-24.903-51.560Q-24.915-51.486-24.985-51.486L-25.087-51.486Q-25.122-51.486-25.149-51.521Q-25.176-51.557-25.176-51.584L-25.176-51.615Q-25.055-52.080-24.760-52.447Q-24.465-52.814-24.055-52.814Q-23.848-52.814-23.678-52.732Q-23.508-52.650-23.405-52.496Q-23.301-52.342-23.301-52.135Q-23.301-52.014-23.360-51.846L-24.032-50.119Q-24.118-49.885-24.118-49.713Q-24.118-49.463-23.942-49.463Q-23.629-49.463-23.415-49.781Q-23.200-50.099-23.118-50.463Q-23.090-50.533-23.032-50.533L-22.926-50.533Q-22.887-50.533-22.864-50.504Q-22.840-50.474-22.840-50.439Q-22.840-50.424-22.848-50.408Q-22.926-50.107-23.073-49.840Q-23.219-49.572-23.444-49.391Q-23.669-49.209-23.958-49.209Q-24.274-49.209-24.493-49.396Q-24.712-49.584-24.712-49.889M-23.790-54.127Q-23.790-54.307-23.643-54.445Q-23.497-54.584-23.321-54.584Q-23.184-54.584-23.092-54.496Q-23.001-54.408-23.001-54.271Q-23.001-54.096-23.145-53.955Q-23.290-53.814-23.462-53.814Q-23.594-53.814-23.692-53.906Q-23.790-53.998-23.790-54.127",[1743],[1724,1847,1848],{"transform":1835},[1729,1849],{"d":1850,"fill":1823,"stroke":1823,"className":1851,"style":1752},"M-16.544-50.264L-21.857-50.264Q-21.935-50.271-21.984-50.320Q-22.032-50.369-22.032-50.447Q-22.032-50.517-21.985-50.568Q-21.939-50.619-21.857-50.631L-16.544-50.631Q-16.470-50.619-16.423-50.568Q-16.376-50.517-16.376-50.447Q-16.376-50.369-16.425-50.320Q-16.474-50.271-16.544-50.264M-16.544-51.951L-21.857-51.951Q-21.935-51.959-21.984-52.008Q-22.032-52.057-22.032-52.135Q-22.032-52.205-21.985-52.256Q-21.939-52.307-21.857-52.318L-16.544-52.318Q-16.470-52.307-16.423-52.256Q-16.376-52.205-16.376-52.135Q-16.376-52.057-16.425-52.008Q-16.474-51.959-16.544-51.951",[1743],[1724,1853,1854],{"transform":1835},[1729,1855],{"d":1856,"fill":1823,"stroke":1823,"className":1857,"style":1752},"M-15.054-50.166L-15.117-50.166Q-14.976-49.814-14.652-49.603Q-14.328-49.392-13.941-49.392Q-13.347-49.392-13.097-49.826Q-12.847-50.260-12.847-50.896Q-12.847-51.490-13.017-51.937Q-13.187-52.385-13.687-52.385Q-13.984-52.385-14.189-52.305Q-14.394-52.224-14.496-52.133Q-14.597-52.041-14.712-51.908Q-14.828-51.775-14.878-51.760L-14.949-51.760Q-15.035-51.783-15.054-51.861L-15.054-54.510Q-15.023-54.607-14.949-54.607Q-14.933-54.607-14.925-54.605Q-14.917-54.603-14.910-54.599Q-14.324-54.349-13.726-54.349Q-13.144-54.349-12.527-54.607L-12.503-54.607Q-12.460-54.607-12.433-54.582Q-12.406-54.557-12.406-54.517L-12.406-54.439Q-12.406-54.408-12.429-54.385Q-12.726-54.033-13.148-53.836Q-13.570-53.639-14.031-53.639Q-14.378-53.639-14.757-53.744L-14.757-52.248Q-14.539-52.443-14.263-52.541Q-13.988-52.639-13.687-52.639Q-13.230-52.639-12.861-52.391Q-12.492-52.142-12.285-51.738Q-12.078-51.334-12.078-50.889Q-12.078-50.400-12.333-49.992Q-12.589-49.584-13.021-49.351Q-13.453-49.119-13.941-49.119Q-14.335-49.119-14.691-49.310Q-15.046-49.502-15.257-49.836Q-15.468-50.170-15.468-50.584Q-15.468-50.764-15.351-50.877Q-15.234-50.990-15.054-50.990Q-14.937-50.990-14.845-50.937Q-14.753-50.885-14.701-50.793Q-14.648-50.701-14.648-50.584Q-14.648-50.400-14.761-50.283Q-14.874-50.166-15.054-50.166",[1743],[1724,1859,1861,1868],{"stroke":750,"fontFamily":1860,"fontSize":1832},"cmr8",[1724,1862,1864],{"transform":1863},"translate(-9.468 48.302)",[1729,1865],{"d":1866,"fill":1726,"stroke":1726,"className":1867,"style":1752},"M-52.521-49.295L-52.521-50.517Q-52.521-50.545-52.489-50.576Q-52.458-50.607-52.435-50.607L-52.329-50.607Q-52.259-50.607-52.243-50.545Q-52.181-50.224-52.042-49.984Q-51.904-49.744-51.671-49.603Q-51.439-49.463-51.130-49.463Q-50.892-49.463-50.683-49.523Q-50.474-49.584-50.337-49.732Q-50.200-49.881-50.200-50.127Q-50.200-50.381-50.411-50.547Q-50.622-50.713-50.892-50.767L-51.513-50.881Q-51.919-50.959-52.220-51.215Q-52.521-51.471-52.521-51.846Q-52.521-52.213-52.320-52.435Q-52.118-52.658-51.794-52.756Q-51.470-52.853-51.130-52.853Q-50.665-52.853-50.368-52.646L-50.146-52.830Q-50.122-52.853-50.091-52.853L-50.040-52.853Q-50.009-52.853-49.982-52.826Q-49.954-52.799-49.954-52.767L-49.954-51.783Q-49.954-51.752-49.980-51.723Q-50.005-51.693-50.040-51.693L-50.146-51.693Q-50.181-51.693-50.208-51.721Q-50.236-51.748-50.236-51.783Q-50.236-52.182-50.488-52.402Q-50.739-52.623-51.138-52.623Q-51.493-52.623-51.777-52.500Q-52.060-52.377-52.060-52.072Q-52.060-51.853-51.859-51.721Q-51.657-51.588-51.411-51.545L-50.786-51.432Q-50.357-51.342-50.048-51.045Q-49.739-50.748-49.739-50.334Q-49.739-49.764-50.138-49.486Q-50.536-49.209-51.130-49.209Q-51.681-49.209-52.032-49.545L-52.329-49.232Q-52.353-49.209-52.388-49.209L-52.435-49.209Q-52.458-49.209-52.489-49.240Q-52.521-49.271-52.521-49.295M-48.587-50.248L-48.587-52.439L-49.290-52.439L-49.290-52.693Q-48.935-52.693-48.693-52.926Q-48.450-53.158-48.339-53.506Q-48.228-53.853-48.228-54.209L-47.947-54.209L-47.947-52.736L-46.771-52.736L-46.771-52.439L-47.947-52.439L-47.947-50.264Q-47.947-49.943-47.827-49.715Q-47.708-49.486-47.427-49.486Q-47.247-49.486-47.130-49.609Q-47.013-49.732-46.960-49.912Q-46.907-50.092-46.907-50.264L-46.907-50.736L-46.626-50.736L-46.626-50.248Q-46.626-49.994-46.732-49.754Q-46.837-49.514-47.034-49.361Q-47.232-49.209-47.489-49.209Q-47.806-49.209-48.058-49.332Q-48.310-49.455-48.448-49.689Q-48.587-49.924-48.587-50.248M-45.810-50.119Q-45.810-50.603-45.407-50.898Q-45.005-51.193-44.454-51.312Q-43.904-51.432-43.411-51.432L-43.411-51.721Q-43.411-51.947-43.527-52.154Q-43.642-52.361-43.839-52.480Q-44.036-52.599-44.267-52.599Q-44.693-52.599-44.978-52.494Q-44.907-52.467-44.861-52.412Q-44.814-52.357-44.788-52.287Q-44.763-52.217-44.763-52.142Q-44.763-52.037-44.814-51.945Q-44.864-51.853-44.956-51.803Q-45.048-51.752-45.154-51.752Q-45.259-51.752-45.351-51.803Q-45.443-51.853-45.493-51.945Q-45.544-52.037-45.544-52.142Q-45.544-52.560-45.156-52.707Q-44.767-52.853-44.267-52.853Q-43.935-52.853-43.581-52.723Q-43.228-52.592-42.999-52.338Q-42.771-52.084-42.771-51.736L-42.771-49.935Q-42.771-49.803-42.698-49.693Q-42.626-49.584-42.497-49.584Q-42.372-49.584-42.304-49.689Q-42.236-49.795-42.236-49.935L-42.236-50.447L-41.954-50.447L-41.954-49.935Q-41.954-49.732-42.072-49.574Q-42.189-49.416-42.370-49.332Q-42.552-49.248-42.755-49.248Q-42.986-49.248-43.138-49.420Q-43.290-49.592-43.322-49.822Q-43.482-49.541-43.790-49.375Q-44.099-49.209-44.450-49.209Q-44.962-49.209-45.386-49.432Q-45.810-49.654-45.810-50.119M-45.122-50.119Q-45.122-49.834-44.896-49.648Q-44.669-49.463-44.376-49.463Q-44.130-49.463-43.906-49.580Q-43.681-49.697-43.546-49.900Q-43.411-50.103-43.411-50.357L-43.411-51.189Q-43.677-51.189-43.962-51.135Q-44.247-51.080-44.519-50.951Q-44.790-50.822-44.956-50.615Q-45.122-50.408-45.122-50.119M-41.618-51.014Q-41.618-51.510-41.368-51.935Q-41.118-52.361-40.698-52.607Q-40.279-52.853-39.779-52.853Q-39.239-52.853-38.849-52.728Q-38.458-52.603-38.458-52.189Q-38.458-52.084-38.509-51.992Q-38.560-51.900-38.652-51.849Q-38.743-51.799-38.853-51.799Q-38.958-51.799-39.050-51.849Q-39.142-51.900-39.193-51.992Q-39.243-52.084-39.243-52.189Q-39.243-52.412-39.075-52.517Q-39.298-52.576-39.771-52.576Q-40.068-52.576-40.282-52.437Q-40.497-52.299-40.628-52.068Q-40.759-51.838-40.818-51.568Q-40.876-51.299-40.876-51.014Q-40.876-50.619-40.743-50.269Q-40.611-49.920-40.339-49.703Q-40.068-49.486-39.669-49.486Q-39.294-49.486-39.019-49.703Q-38.743-49.920-38.642-50.279Q-38.626-50.342-38.564-50.342L-38.458-50.342Q-38.423-50.342-38.398-50.314Q-38.372-50.287-38.372-50.248L-38.372-50.224Q-38.505-49.744-38.890-49.476Q-39.275-49.209-39.779-49.209Q-40.142-49.209-40.476-49.346Q-40.810-49.482-41.070-49.732Q-41.329-49.982-41.474-50.318Q-41.618-50.654-41.618-51.014",[1743],[1724,1869,1870],{"transform":1863},[1729,1871],{"d":1872,"fill":1726,"stroke":1726,"className":1873,"style":1752},"M-36.289-49.287L-38.086-49.287L-38.086-49.584Q-37.817-49.584-37.649-49.629Q-37.481-49.674-37.481-49.846L-37.481-54.006Q-37.481-54.221-37.543-54.316Q-37.606-54.412-37.723-54.433Q-37.840-54.455-38.086-54.455L-38.086-54.752L-36.864-54.838L-36.864-51.072L-35.766-51.959Q-35.559-52.139-35.559-52.287Q-35.559-52.353-35.612-52.396Q-35.664-52.439-35.735-52.439L-35.735-52.736L-34.200-52.736L-34.200-52.439Q-34.731-52.439-35.329-51.959L-35.938-51.463L-34.864-50.064Q-34.727-49.889-34.620-49.781Q-34.512-49.674-34.377-49.629Q-34.243-49.584-34.016-49.584L-34.016-49.287L-35.641-49.287L-35.641-49.584Q-35.399-49.584-35.399-49.736Q-35.399-49.814-35.442-49.885Q-35.485-49.955-35.567-50.064L-36.368-51.111L-36.895-50.685L-36.895-49.846Q-36.895-49.678-36.727-49.631Q-36.559-49.584-36.289-49.584",[1743],[1729,1875],{"fill":750,"d":1876},"M-34.308 6.196h19.917v-19.917h-19.917Z",[1724,1878,1880],{"transform":1879},"translate(26.14 48.425)",[1729,1881],{"d":1741,"fill":1726,"stroke":1726,"className":1882,"style":1744},[1743],[1729,1884],{"fill":750,"d":1885},"M-11.546 6.196H8.371v-19.917h-19.917Z",[1724,1887,1889],{"transform":1888},"translate(48.903 48.425)",[1729,1890],{"d":1778,"fill":1726,"stroke":1726,"className":1891,"style":1744},[1743],[1729,1893],{"fill":750,"d":1894},"M11.217 6.196h19.917v-19.917H11.217Z",[1724,1896,1898],{"transform":1897},"translate(71.665 48.425)",[1729,1899],{"d":1812,"fill":1726,"stroke":1726,"className":1900,"style":1744},[1743],[1724,1902,1903,1910,1916],{"stroke":750,"fontSize":1832},[1724,1904,1906],{"transform":1905},"translate(20.81 65.174)",[1729,1907],{"d":1908,"fill":1726,"stroke":1726,"className":1909,"style":1752},"M-51.864-50.240Q-51.864-50.412-51.822-50.623Q-51.779-50.834-51.718-51.021Q-51.657-51.209-51.560-51.461Q-51.462-51.713-51.388-51.904Q-51.298-52.127-51.298-52.310Q-51.298-52.560-51.466-52.560Q-51.782-52.560-51.991-52.254Q-52.200-51.947-52.306-51.560Q-52.318-51.486-52.388-51.486L-52.489-51.486Q-52.525-51.486-52.552-51.521Q-52.579-51.557-52.579-51.584L-52.579-51.615Q-52.454-52.076-52.157-52.445Q-51.861-52.814-51.450-52.814Q-51.255-52.814-51.081-52.730Q-50.907-52.646-50.806-52.494Q-50.704-52.342-50.704-52.135Q-50.704-51.982-50.763-51.846Q-50.857-51.603-50.982-51.275Q-51.107-50.947-51.179-50.668Q-51.251-50.389-51.251-50.135Q-51.251-49.826-51.097-49.644Q-50.943-49.463-50.642-49.463Q-50.247-49.463-49.864-49.935Q-49.736-50.103-49.589-50.404Q-49.443-50.705-49.347-51.004Q-49.251-51.303-49.251-51.510Q-49.251-51.736-49.325-51.855Q-49.400-51.974-49.536-52.129Q-49.673-52.283-49.673-52.385Q-49.673-52.557-49.532-52.689Q-49.392-52.822-49.236-52.822Q-49.021-52.822-48.927-52.631Q-48.833-52.439-48.833-52.209Q-48.833-51.705-49.062-50.984Q-49.290-50.264-49.710-49.736Q-50.130-49.209-50.657-49.209Q-50.911-49.209-51.132-49.267Q-51.353-49.326-51.515-49.451Q-51.677-49.576-51.771-49.777Q-51.864-49.978-51.864-50.240",[1743],[1724,1911,1912],{"transform":1905},[1729,1913],{"d":1914,"fill":1726,"stroke":1726,"className":1915,"style":1752},"M-42.415-50.264L-47.728-50.264Q-47.806-50.271-47.855-50.320Q-47.903-50.369-47.903-50.447Q-47.903-50.517-47.856-50.568Q-47.810-50.619-47.728-50.631L-42.415-50.631Q-42.341-50.619-42.294-50.568Q-42.247-50.517-42.247-50.447Q-42.247-50.369-42.296-50.320Q-42.345-50.271-42.415-50.264M-42.415-51.951L-47.728-51.951Q-47.806-51.959-47.855-52.008Q-47.903-52.057-47.903-52.135Q-47.903-52.205-47.856-52.256Q-47.810-52.307-47.728-52.318L-42.415-52.318Q-42.341-52.307-42.294-52.256Q-42.247-52.205-42.247-52.135Q-42.247-52.057-42.296-52.008Q-42.345-51.959-42.415-51.951",[1743],[1724,1917,1918],{"transform":1905},[1729,1919],{"d":1920,"fill":1726,"stroke":1726,"className":1921,"style":1752},"M-40.925-50.166L-40.988-50.166Q-40.847-49.814-40.523-49.603Q-40.199-49.392-39.812-49.392Q-39.218-49.392-38.968-49.826Q-38.718-50.260-38.718-50.896Q-38.718-51.490-38.888-51.937Q-39.058-52.385-39.558-52.385Q-39.855-52.385-40.060-52.305Q-40.265-52.224-40.367-52.133Q-40.468-52.041-40.583-51.908Q-40.699-51.775-40.749-51.760L-40.820-51.760Q-40.906-51.783-40.925-51.861L-40.925-54.510Q-40.894-54.607-40.820-54.607Q-40.804-54.607-40.796-54.605Q-40.788-54.603-40.781-54.599Q-40.195-54.349-39.597-54.349Q-39.015-54.349-38.398-54.607L-38.374-54.607Q-38.331-54.607-38.304-54.582Q-38.277-54.557-38.277-54.517L-38.277-54.439Q-38.277-54.408-38.300-54.385Q-38.597-54.033-39.019-53.836Q-39.441-53.639-39.902-53.639Q-40.249-53.639-40.628-53.744L-40.628-52.248Q-40.410-52.443-40.134-52.541Q-39.859-52.639-39.558-52.639Q-39.101-52.639-38.732-52.391Q-38.363-52.142-38.156-51.738Q-37.949-51.334-37.949-50.889Q-37.949-50.400-38.204-49.992Q-38.460-49.584-38.892-49.351Q-39.324-49.119-39.812-49.119Q-40.206-49.119-40.562-49.310Q-40.917-49.502-41.128-49.836Q-41.339-50.170-41.339-50.584Q-41.339-50.764-41.222-50.877Q-41.105-50.990-40.925-50.990Q-40.808-50.990-40.716-50.937Q-40.624-50.885-40.572-50.793Q-40.519-50.701-40.519-50.584Q-40.519-50.400-40.632-50.283Q-40.745-50.166-40.925-50.166",[1743],[1724,1923,1924,1930,1935],{"stroke":750,"fontSize":1832},[1724,1925,1927],{"transform":1926},"translate(43.571 65.174)",[1729,1928],{"d":1908,"fill":1726,"stroke":1726,"className":1929,"style":1752},[1743],[1724,1931,1932],{"transform":1926},[1729,1933],{"d":1914,"fill":1726,"stroke":1726,"className":1934,"style":1752},[1743],[1724,1936,1937],{"transform":1926},[1729,1938],{"d":1939,"fill":1726,"stroke":1726,"className":1940,"style":1752},"M-40.972-49.920Q-40.781-49.646-40.425-49.519Q-40.070-49.392-39.687-49.392Q-39.351-49.392-39.142-49.578Q-38.933-49.764-38.837-50.057Q-38.742-50.349-38.742-50.662Q-38.742-50.986-38.839-51.281Q-38.937-51.576-39.150-51.760Q-39.363-51.943-39.695-51.943L-40.261-51.943Q-40.292-51.943-40.322-51.973Q-40.351-52.002-40.351-52.029L-40.351-52.111Q-40.351-52.146-40.322-52.172Q-40.292-52.197-40.261-52.197L-39.781-52.232Q-39.495-52.232-39.298-52.437Q-39.101-52.642-39.005-52.937Q-38.910-53.232-38.910-53.510Q-38.910-53.889-39.109-54.127Q-39.308-54.365-39.687-54.365Q-40.007-54.365-40.296-54.258Q-40.585-54.150-40.749-53.928Q-40.570-53.928-40.447-53.801Q-40.324-53.674-40.324-53.502Q-40.324-53.330-40.449-53.205Q-40.574-53.080-40.749-53.080Q-40.921-53.080-41.046-53.205Q-41.171-53.330-41.171-53.502Q-41.171-53.869-40.947-54.117Q-40.722-54.365-40.382-54.486Q-40.042-54.607-39.687-54.607Q-39.339-54.607-38.976-54.486Q-38.613-54.365-38.365-54.115Q-38.117-53.865-38.117-53.510Q-38.117-53.025-38.435-52.642Q-38.753-52.260-39.230-52.088Q-38.679-51.978-38.279-51.592Q-37.878-51.205-37.878-50.670Q-37.878-50.213-38.142-49.857Q-38.406-49.502-38.828-49.310Q-39.249-49.119-39.687-49.119Q-40.097-49.119-40.490-49.254Q-40.882-49.389-41.148-49.674Q-41.413-49.959-41.413-50.377Q-41.413-50.572-41.281-50.701Q-41.148-50.830-40.956-50.830Q-40.831-50.830-40.728-50.771Q-40.624-50.713-40.562-50.607Q-40.499-50.502-40.499-50.377Q-40.499-50.182-40.634-50.051Q-40.769-49.920-40.972-49.920",[1743],[1724,1942,1943,1949,1954],{"stroke":750,"fontSize":1832},[1724,1944,1946],{"transform":1945},"translate(66.334 65.174)",[1729,1947],{"d":1908,"fill":1726,"stroke":1726,"className":1948,"style":1752},[1743],[1724,1950,1951],{"transform":1945},[1729,1952],{"d":1914,"fill":1726,"stroke":1726,"className":1953,"style":1752},[1743],[1724,1955,1956],{"transform":1945},[1729,1957],{"d":1958,"fill":1726,"stroke":1726,"className":1959,"style":1752},"M-38.171-49.287L-40.964-49.287L-40.964-49.584Q-39.902-49.584-39.902-49.846L-39.902-54.014Q-40.331-53.799-41.011-53.799L-41.011-54.096Q-39.992-54.096-39.476-54.607L-39.331-54.607Q-39.257-54.588-39.238-54.510L-39.238-49.846Q-39.238-49.584-38.171-49.584",[1743],[1724,1961,1964,1967],{"fill":1962,"stroke":1962,"style":1963},"var(--tk-warn)","stroke-width:.8",[1729,1965],{"fill":750,"d":1966},"M21.175-13.921C43.937-32.216 61.01-33.638 71.65-40.732",[1729,1968],{"stroke":750,"d":1969},"m73.812-42.174-4.614.577 2.451.865-.144 2.596",[1724,1971,1972,1975],{"fill":1962,"stroke":1962,"style":1963},[1729,1973],{"fill":750,"d":1974},"M-1.587-13.921c11.38-55.283 51.215-56.706 73.275-41.133",[1729,1976],{"stroke":750,"d":1977},"m73.812-53.555-2.199-4.098.075 2.599-2.473.8",[1724,1979,1980],{"fill":1962,"stroke":1962},[1724,1981,1982,1989,1995,2001,2007],{"fill":1962,"stroke":750,"fontSize":1832},[1724,1983,1985],{"transform":1984},"translate(83.64 34.52)",[1729,1986],{"d":1987,"fill":1962,"stroke":1962,"className":1988,"style":1752},"M-50.681-47.736L-52.536-47.736L-52.536-48.029Q-52.267-48.029-52.099-48.074Q-51.931-48.119-51.931-48.295L-51.931-52.119Q-51.931-52.326-52.087-52.379Q-52.243-52.432-52.536-52.432L-52.536-52.728L-51.314-52.814L-51.314-52.349Q-51.083-52.572-50.769-52.693Q-50.454-52.814-50.114-52.814Q-49.642-52.814-49.238-52.568Q-48.833-52.322-48.601-51.906Q-48.368-51.490-48.368-51.014Q-48.368-50.639-48.517-50.310Q-48.665-49.982-48.935-49.730Q-49.204-49.478-49.548-49.344Q-49.892-49.209-50.251-49.209Q-50.540-49.209-50.812-49.330Q-51.083-49.451-51.290-49.662L-51.290-48.295Q-51.290-48.119-51.122-48.074Q-50.954-48.029-50.681-48.029L-50.681-47.736M-51.290-51.951L-51.290-50.111Q-51.138-49.822-50.876-49.642Q-50.614-49.463-50.306-49.463Q-50.021-49.463-49.798-49.601Q-49.575-49.740-49.423-49.971Q-49.271-50.201-49.193-50.473Q-49.114-50.744-49.114-51.014Q-49.114-51.346-49.239-51.703Q-49.364-52.060-49.613-52.297Q-49.861-52.533-50.208-52.533Q-50.532-52.533-50.827-52.377Q-51.122-52.221-51.290-51.951",[1743],[1724,1990,1991],{"transform":1984},[1729,1992],{"d":1993,"fill":1962,"stroke":1962,"className":1994,"style":1752},"M-47.606-50.982Q-47.606-51.486-47.350-51.918Q-47.094-52.349-46.658-52.601Q-46.223-52.853-45.723-52.853Q-45.336-52.853-44.994-52.709Q-44.653-52.564-44.391-52.303Q-44.129-52.041-43.987-51.705Q-43.844-51.369-43.844-50.982Q-43.844-50.490-44.108-50.080Q-44.371-49.670-44.801-49.439Q-45.231-49.209-45.723-49.209Q-46.215-49.209-46.649-49.441Q-47.082-49.674-47.344-50.082Q-47.606-50.490-47.606-50.982M-45.723-49.486Q-45.266-49.486-45.014-49.709Q-44.762-49.932-44.674-50.283Q-44.586-50.635-44.586-51.080Q-44.586-51.510-44.680-51.848Q-44.774-52.185-45.028-52.392Q-45.282-52.599-45.723-52.599Q-46.371-52.599-46.615-52.183Q-46.860-51.767-46.860-51.080Q-46.860-50.635-46.772-50.283Q-46.684-49.932-46.432-49.709Q-46.180-49.486-45.723-49.486M-41.477-47.736L-43.332-47.736L-43.332-48.029Q-43.063-48.029-42.895-48.074Q-42.727-48.119-42.727-48.295L-42.727-52.119Q-42.727-52.326-42.883-52.379Q-43.039-52.432-43.332-52.432L-43.332-52.728L-42.110-52.814L-42.110-52.349Q-41.879-52.572-41.565-52.693Q-41.250-52.814-40.910-52.814Q-40.438-52.814-40.033-52.568Q-39.629-52.322-39.397-51.906Q-39.164-51.490-39.164-51.014Q-39.164-50.639-39.313-50.310Q-39.461-49.982-39.731-49.730Q-40-49.478-40.344-49.344Q-40.688-49.209-41.047-49.209Q-41.336-49.209-41.608-49.330Q-41.879-49.451-42.086-49.662L-42.086-48.295Q-42.086-48.119-41.918-48.074Q-41.750-48.029-41.477-48.029L-41.477-47.736M-42.086-51.951L-42.086-50.111Q-41.934-49.822-41.672-49.642Q-41.410-49.463-41.102-49.463Q-40.817-49.463-40.594-49.601Q-40.371-49.740-40.219-49.971Q-40.067-50.201-39.989-50.473Q-39.910-50.744-39.910-51.014Q-39.910-51.346-40.035-51.703Q-40.160-52.060-40.408-52.297Q-40.657-52.533-41.004-52.533Q-41.328-52.533-41.623-52.377Q-41.918-52.221-42.086-51.951",[1743],[1724,1996,1997],{"transform":1984},[1729,1998],{"d":1999,"fill":1962,"stroke":1962,"className":2000,"style":1752},"M-33.558-50.599L-35.800-50.599L-35.800-50.896L-33.229-54.553Q-33.190-54.607-33.128-54.607L-32.983-54.607Q-32.933-54.607-32.901-54.576Q-32.870-54.545-32.870-54.494L-32.870-50.896L-32.038-50.896L-32.038-50.599L-32.870-50.599L-32.870-49.846Q-32.870-49.584-32.046-49.584L-32.046-49.287L-34.382-49.287L-34.382-49.584Q-33.558-49.584-33.558-49.846L-33.558-50.599M-33.503-53.701L-35.472-50.896L-33.503-50.896",[1743],[1724,2002,2003],{"transform":1984},[1729,2004],{"d":2005,"fill":1962,"stroke":1962,"className":2006,"style":1752},"M-30.964-47.881Q-30.964-47.904-30.933-47.951Q-30.640-48.213-30.474-48.580Q-30.308-48.947-30.308-49.334L-30.308-49.392Q-30.436-49.287-30.604-49.287Q-30.796-49.287-30.933-49.420Q-31.069-49.553-31.069-49.752Q-31.069-49.943-30.933-50.076Q-30.796-50.209-30.604-50.209Q-30.304-50.209-30.179-49.939Q-30.054-49.670-30.054-49.334Q-30.054-48.885-30.235-48.471Q-30.417-48.057-30.757-47.760Q-30.780-47.736-30.819-47.736Q-30.866-47.736-30.915-47.781Q-30.964-47.826-30.964-47.881",[1743],[1724,2008,2009],{"transform":1984},[1729,2010],{"d":2011,"fill":1962,"stroke":1962,"className":2012,"style":1752},"M-27.217-49.920Q-27.026-49.646-26.670-49.519Q-26.315-49.392-25.932-49.392Q-25.596-49.392-25.387-49.578Q-25.178-49.764-25.082-50.057Q-24.987-50.349-24.987-50.662Q-24.987-50.986-25.084-51.281Q-25.182-51.576-25.395-51.760Q-25.608-51.943-25.940-51.943L-26.506-51.943Q-26.537-51.943-26.567-51.973Q-26.596-52.002-26.596-52.029L-26.596-52.111Q-26.596-52.146-26.567-52.172Q-26.537-52.197-26.506-52.197L-26.026-52.232Q-25.740-52.232-25.543-52.437Q-25.346-52.642-25.250-52.937Q-25.155-53.232-25.155-53.510Q-25.155-53.889-25.354-54.127Q-25.553-54.365-25.932-54.365Q-26.252-54.365-26.541-54.258Q-26.830-54.150-26.994-53.928Q-26.815-53.928-26.692-53.801Q-26.569-53.674-26.569-53.502Q-26.569-53.330-26.694-53.205Q-26.819-53.080-26.994-53.080Q-27.166-53.080-27.291-53.205Q-27.416-53.330-27.416-53.502Q-27.416-53.869-27.192-54.117Q-26.967-54.365-26.627-54.486Q-26.287-54.607-25.932-54.607Q-25.584-54.607-25.221-54.486Q-24.858-54.365-24.610-54.115Q-24.362-53.865-24.362-53.510Q-24.362-53.025-24.680-52.642Q-24.998-52.260-25.475-52.088Q-24.924-51.978-24.524-51.592Q-24.123-51.205-24.123-50.670Q-24.123-50.213-24.387-49.857Q-24.651-49.502-25.073-49.310Q-25.494-49.119-25.932-49.119Q-26.342-49.119-26.735-49.254Q-27.127-49.389-27.393-49.674Q-27.658-49.959-27.658-50.377Q-27.658-50.572-27.526-50.701Q-27.393-50.830-27.201-50.830Q-27.076-50.830-26.973-50.771Q-26.869-50.713-26.807-50.607Q-26.744-50.502-26.744-50.377Q-26.744-50.182-26.879-50.051Q-27.014-49.920-27.217-49.920",[1743],[1724,2014,2015,2022],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,2016,2018],{"transform":2017},"translate(14.876 82.446)",[1729,2019],{"d":2020,"fill":1726,"stroke":1726,"className":2021,"style":1752},"M-51.650-49.287L-51.931-49.287L-51.931-54.006Q-51.931-54.221-51.993-54.316Q-52.056-54.412-52.173-54.433Q-52.290-54.455-52.536-54.455L-52.536-54.752L-51.314-54.838L-51.314-52.349Q-50.837-52.814-50.138-52.814Q-49.657-52.814-49.249-52.570Q-48.841-52.326-48.605-51.912Q-48.368-51.498-48.368-51.014Q-48.368-50.639-48.517-50.310Q-48.665-49.982-48.935-49.730Q-49.204-49.478-49.548-49.344Q-49.892-49.209-50.251-49.209Q-50.572-49.209-50.870-49.357Q-51.169-49.506-51.376-49.767L-51.650-49.287M-51.290-51.959L-51.290-50.119Q-51.138-49.822-50.878-49.642Q-50.618-49.463-50.306-49.463Q-49.880-49.463-49.613-49.682Q-49.345-49.900-49.230-50.246Q-49.114-50.592-49.114-51.014Q-49.114-51.662-49.363-52.111Q-49.611-52.560-50.208-52.560Q-50.544-52.560-50.833-52.402Q-51.122-52.244-51.290-51.959",[1743],[1724,2023,2024],{"transform":2017},[1729,2025],{"d":2026,"fill":1726,"stroke":1726,"className":2027,"style":1752},"M-47.606-50.982Q-47.606-51.486-47.350-51.918Q-47.094-52.349-46.658-52.601Q-46.223-52.853-45.723-52.853Q-45.336-52.853-44.994-52.709Q-44.653-52.564-44.391-52.303Q-44.129-52.041-43.987-51.705Q-43.844-51.369-43.844-50.982Q-43.844-50.490-44.108-50.080Q-44.371-49.670-44.801-49.439Q-45.231-49.209-45.723-49.209Q-46.215-49.209-46.649-49.441Q-47.082-49.674-47.344-50.082Q-47.606-50.490-47.606-50.982M-45.723-49.486Q-45.266-49.486-45.014-49.709Q-44.762-49.932-44.674-50.283Q-44.586-50.635-44.586-51.080Q-44.586-51.510-44.680-51.848Q-44.774-52.185-45.028-52.392Q-45.282-52.599-45.723-52.599Q-46.371-52.599-46.615-52.183Q-46.860-51.767-46.860-51.080Q-46.860-50.635-46.772-50.283Q-46.684-49.932-46.432-49.709Q-46.180-49.486-45.723-49.486M-42.735-50.248L-42.735-52.439L-43.438-52.439L-43.438-52.693Q-43.082-52.693-42.840-52.926Q-42.598-53.158-42.487-53.506Q-42.375-53.853-42.375-54.209L-42.094-54.209L-42.094-52.736L-40.918-52.736L-40.918-52.439L-42.094-52.439L-42.094-50.264Q-42.094-49.943-41.975-49.715Q-41.856-49.486-41.574-49.486Q-41.395-49.486-41.278-49.609Q-41.160-49.732-41.108-49.912Q-41.055-50.092-41.055-50.264L-41.055-50.736L-40.774-50.736L-40.774-50.248Q-40.774-49.994-40.879-49.754Q-40.985-49.514-41.182-49.361Q-41.379-49.209-41.637-49.209Q-41.953-49.209-42.205-49.332Q-42.457-49.455-42.596-49.689Q-42.735-49.924-42.735-50.248M-39.430-50.248L-39.430-52.439L-40.133-52.439L-40.133-52.693Q-39.778-52.693-39.535-52.926Q-39.293-53.158-39.182-53.506Q-39.071-53.853-39.071-54.209L-38.789-54.209L-38.789-52.736L-37.614-52.736L-37.614-52.439L-38.789-52.439L-38.789-50.264Q-38.789-49.943-38.670-49.715Q-38.551-49.486-38.270-49.486Q-38.090-49.486-37.973-49.609Q-37.856-49.732-37.803-49.912Q-37.750-50.092-37.750-50.264L-37.750-50.736L-37.469-50.736L-37.469-50.248Q-37.469-49.994-37.574-49.754Q-37.680-49.514-37.877-49.361Q-38.074-49.209-38.332-49.209Q-38.649-49.209-38.901-49.332Q-39.153-49.455-39.291-49.689Q-39.430-49.924-39.430-50.248M-36.750-50.982Q-36.750-51.486-36.494-51.918Q-36.239-52.349-35.803-52.601Q-35.367-52.853-34.867-52.853Q-34.481-52.853-34.139-52.709Q-33.797-52.564-33.535-52.303Q-33.274-52.041-33.131-51.705Q-32.989-51.369-32.989-50.982Q-32.989-50.490-33.252-50.080Q-33.516-49.670-33.946-49.439Q-34.375-49.209-34.867-49.209Q-35.360-49.209-35.793-49.441Q-36.227-49.674-36.489-50.082Q-36.750-50.490-36.750-50.982M-34.867-49.486Q-34.410-49.486-34.158-49.709Q-33.907-49.932-33.819-50.283Q-33.731-50.635-33.731-51.080Q-33.731-51.510-33.824-51.848Q-33.918-52.185-34.172-52.392Q-34.426-52.599-34.867-52.599Q-35.516-52.599-35.760-52.183Q-36.004-51.767-36.004-51.080Q-36.004-50.635-35.916-50.283Q-35.828-49.932-35.576-49.709Q-35.324-49.486-34.867-49.486M-30.574-49.287L-32.430-49.287L-32.430-49.584Q-32.157-49.584-31.989-49.631Q-31.821-49.678-31.821-49.846L-31.821-51.982Q-31.821-52.197-31.883-52.293Q-31.946-52.389-32.065-52.410Q-32.184-52.432-32.430-52.432L-32.430-52.728L-31.239-52.814L-31.239-52.080Q-31.125-52.295-30.932-52.463Q-30.739-52.631-30.500-52.723Q-30.262-52.814-30.008-52.814Q-29.047-52.814-28.871-52.103Q-28.688-52.432-28.360-52.623Q-28.032-52.814-27.653-52.814Q-26.477-52.814-26.477-51.736L-26.477-49.846Q-26.477-49.678-26.309-49.631Q-26.141-49.584-25.871-49.584L-25.871-49.287L-27.727-49.287L-27.727-49.584Q-27.453-49.584-27.285-49.629Q-27.117-49.674-27.117-49.846L-27.117-51.721Q-27.117-52.107-27.242-52.334Q-27.367-52.560-27.719-52.560Q-28.024-52.560-28.280-52.398Q-28.535-52.236-28.684-51.967Q-28.832-51.697-28.832-51.400L-28.832-49.846Q-28.832-49.678-28.662-49.631Q-28.492-49.584-28.223-49.584L-28.223-49.287L-30.078-49.287L-30.078-49.584Q-29.805-49.584-29.637-49.631Q-29.469-49.678-29.469-49.846L-29.469-51.721Q-29.469-52.107-29.594-52.334Q-29.719-52.560-30.071-52.560Q-30.375-52.560-30.631-52.398Q-30.887-52.236-31.035-51.967Q-31.184-51.697-31.184-51.400L-31.184-49.846Q-31.184-49.678-31.014-49.631Q-30.844-49.584-30.574-49.584",[1743],[1724,2029,2031],{"transform":2030},"translate(67.838 81.35)",[1729,2032],{"d":2033,"fill":1726,"stroke":1726,"className":2034,"style":1752},"M-51.939-50.248L-51.939-52.439L-52.642-52.439L-52.642-52.693Q-52.286-52.693-52.044-52.926Q-51.802-53.158-51.691-53.506Q-51.579-53.853-51.579-54.209L-51.298-54.209L-51.298-52.736L-50.122-52.736L-50.122-52.439L-51.298-52.439L-51.298-50.264Q-51.298-49.943-51.179-49.715Q-51.060-49.486-50.779-49.486Q-50.599-49.486-50.482-49.609Q-50.364-49.732-50.312-49.912Q-50.259-50.092-50.259-50.264L-50.259-50.736L-49.978-50.736L-49.978-50.248Q-49.978-49.994-50.083-49.754Q-50.189-49.514-50.386-49.361Q-50.583-49.209-50.841-49.209Q-51.157-49.209-51.409-49.332Q-51.661-49.455-51.800-49.689Q-51.939-49.924-51.939-50.248M-49.259-50.982Q-49.259-51.486-49.003-51.918Q-48.747-52.349-48.312-52.601Q-47.876-52.853-47.376-52.853Q-46.989-52.853-46.648-52.709Q-46.306-52.564-46.044-52.303Q-45.782-52.041-45.640-51.705Q-45.497-51.369-45.497-50.982Q-45.497-50.490-45.761-50.080Q-46.025-49.670-46.454-49.439Q-46.884-49.209-47.376-49.209Q-47.868-49.209-48.302-49.441Q-48.736-49.674-48.997-50.082Q-49.259-50.490-49.259-50.982M-47.376-49.486Q-46.919-49.486-46.667-49.709Q-46.415-49.932-46.327-50.283Q-46.239-50.635-46.239-51.080Q-46.239-51.510-46.333-51.848Q-46.427-52.185-46.681-52.392Q-46.935-52.599-47.376-52.599Q-48.025-52.599-48.269-52.183Q-48.513-51.767-48.513-51.080Q-48.513-50.635-48.425-50.283Q-48.337-49.932-48.085-49.709Q-47.833-49.486-47.376-49.486M-43.130-47.736L-44.986-47.736L-44.986-48.029Q-44.716-48.029-44.548-48.074Q-44.380-48.119-44.380-48.295L-44.380-52.119Q-44.380-52.326-44.536-52.379Q-44.693-52.432-44.986-52.432L-44.986-52.728L-43.763-52.814L-43.763-52.349Q-43.532-52.572-43.218-52.693Q-42.904-52.814-42.564-52.814Q-42.091-52.814-41.687-52.568Q-41.282-52.322-41.050-51.906Q-40.818-51.490-40.818-51.014Q-40.818-50.639-40.966-50.310Q-41.114-49.982-41.384-49.730Q-41.654-49.478-41.997-49.344Q-42.341-49.209-42.700-49.209Q-42.989-49.209-43.261-49.330Q-43.532-49.451-43.739-49.662L-43.739-48.295Q-43.739-48.119-43.572-48.074Q-43.404-48.029-43.130-48.029L-43.130-47.736M-43.739-51.951L-43.739-50.111Q-43.587-49.822-43.325-49.642Q-43.064-49.463-42.755-49.463Q-42.470-49.463-42.247-49.601Q-42.025-49.740-41.872-49.971Q-41.720-50.201-41.642-50.473Q-41.564-50.744-41.564-51.014Q-41.564-51.346-41.689-51.703Q-41.814-52.060-42.062-52.297Q-42.310-52.533-42.657-52.533Q-42.982-52.533-43.277-52.377Q-43.572-52.221-43.739-51.951",[1743],[2036,2037,2040,2041,2124,2125,2158,2159,2175,2176,2191,2192,2217,2218,2245,2246,2303,2304,2319,2320,2354,2355,2370],"figcaption",{"className":2038},[2039],"tikz-cap","Next-greater scan on ",[415,2042,2044],{"className":2043},[418],[415,2045,2047,2065],{"className":2046,"ariaHidden":423},[422],[415,2048,2050,2053,2056,2059,2062],{"className":2049},[427],[415,2051],{"className":2052,"style":1560},[431],[415,2054,385],{"className":2055},[436,437],[415,2057],{"className":2058,"style":677},[676],[415,2060,1279],{"className":2061},[681],[415,2063],{"className":2064,"style":677},[676],[415,2066,2068,2071,2075,2078,2083,2087,2091,2094,2097,2101,2104,2107,2110,2113,2116,2120],{"className":2067},[427],[415,2069],{"className":2070,"style":485},[431],[415,2072,2074],{"className":2073},[492],"⟨",[415,2076,582],{"className":2077},[436],[415,2079,2082],{"className":2080},[2081],"mpunct",",",[415,2084],{"className":2085,"style":2086},[676],"margin-right:0.1667em;",[415,2088,2090],{"className":2089},[436],"5",[415,2092,2082],{"className":2093},[2081],[415,2095],{"className":2096,"style":2086},[676],[415,2098,2100],{"className":2099},[436],"3",[415,2102,2082],{"className":2103},[2081],[415,2105],{"className":2106,"style":2086},[676],[415,2108,451],{"className":2109},[436],[415,2111,2082],{"className":2112},[2081],[415,2114],{"className":2115,"style":2086},[676],[415,2117,2119],{"className":2118},[436],"4",[415,2121,2123],{"className":2122},[500],"⟩",". Arriving ",[415,2126,2128],{"className":2127},[418],[415,2129,2131],{"className":2130,"ariaHidden":423},[422],[415,2132,2134,2137,2140,2143,2146,2149,2155],{"className":2133},[427],[415,2135],{"className":2136,"style":485},[431],[415,2138,385],{"className":2139},[436,437],[415,2141,493],{"className":2142},[492],[415,2144,2090],{"className":2145},[436],[415,2147,501],{"className":2148},[500],[415,2150,2152],{"className":2151},[436],[415,2153,1279],{"className":2154},[681],[415,2156,2119],{"className":2157},[436]," pops indices ",[415,2160,2162],{"className":2161},[418],[415,2163,2165],{"className":2164,"ariaHidden":423},[422],[415,2166,2168,2172],{"className":2167},[427],[415,2169],{"className":2170,"style":2171},[431],"height:0.6444em;",[415,2173,2119],{"className":2174},[436]," then ",[415,2177,2179],{"className":2178},[418],[415,2180,2182],{"className":2181,"ariaHidden":423},[422],[415,2183,2185,2188],{"className":2184},[427],[415,2186],{"className":2187,"style":2171},[431],[415,2189,2100],{"className":2190},[436]," (values ",[415,2193,2195],{"className":2194},[418],[415,2196,2198],{"className":2197,"ariaHidden":423},[422],[415,2199,2201,2205,2208,2211,2214],{"className":2200},[427],[415,2202],{"className":2203,"style":2204},[431],"height:0.8389em;vertical-align:-0.1944em;",[415,2206,451],{"className":2207},[436],[415,2209,2082],{"className":2210},[2081],[415,2212],{"className":2213,"style":2086},[676],[415,2215,2100],{"className":2216},[436]," both ",[415,2219,2221],{"className":2220},[418],[415,2222,2224,2236],{"className":2223,"ariaHidden":423},[422],[415,2225,2227,2230,2233],{"className":2226},[427],[415,2228],{"className":2229,"style":925},[431],[415,2231,860],{"className":2232},[681],[415,2234],{"className":2235,"style":677},[676],[415,2237,2239,2242],{"className":2238},[427],[415,2240],{"className":2241,"style":2171},[431],[415,2243,2119],{"className":2244},[436],"), assigning ",[415,2247,2249],{"className":2248},[418],[415,2250,2252],{"className":2251,"ariaHidden":423},[422],[415,2253,2255,2258,2264,2267,2270,2273,2279,2285,2288,2291,2294,2300],{"className":2254},[427],[415,2256],{"className":2257,"style":485},[431],[415,2259,2261],{"className":2260},[436,640],[415,2262,644],{"className":2263},[436],[415,2265,493],{"className":2266},[492],[415,2268,2119],{"className":2269},[436],[415,2271,501],{"className":2272},[500],[415,2274,2276],{"className":2275},[436],[415,2277,1279],{"className":2278},[681],[415,2280,2282],{"className":2281},[436,640],[415,2283,644],{"className":2284},[436],[415,2286,493],{"className":2287},[492],[415,2289,2100],{"className":2290},[436],[415,2292,501],{"className":2293},[500],[415,2295,2297],{"className":2296},[436],[415,2298,1279],{"className":2299},[681],[415,2301,2090],{"className":2302},[436],"; index ",[415,2305,2307],{"className":2306},[418],[415,2308,2310],{"className":2309,"ariaHidden":423},[422],[415,2311,2313,2316],{"className":2312},[427],[415,2314],{"className":2315,"style":2171},[431],[415,2317,582],{"className":2318},[436]," (value ",[415,2321,2323],{"className":2322},[418],[415,2324,2326,2345],{"className":2325,"ariaHidden":423},[422],[415,2327,2329,2333,2336,2339,2342],{"className":2328},[427],[415,2330],{"className":2331,"style":2332},[431],"height:0.7804em;vertical-align:-0.136em;",[415,2334,2090],{"className":2335},[436],[415,2337],{"className":2338,"style":677},[676],[415,2340,1334],{"className":2341},[681],[415,2343],{"className":2344,"style":677},[676],[415,2346,2348,2351],{"className":2347},[427],[415,2349],{"className":2350,"style":2171},[431],[415,2352,2119],{"className":2353},[436],") survives, then ",[415,2356,2358],{"className":2357},[418],[415,2359,2361],{"className":2360,"ariaHidden":423},[422],[415,2362,2364,2367],{"className":2363},[427],[415,2365],{"className":2366,"style":2171},[431],[415,2368,2090],{"className":2369},[436]," is pushed",[381,2372,2373,2374,2438,2439,2442,2443,2446,2447,2450,2451,2472,2473,2507,2508,2523,2524,2527,2528,2531,2532],{},"The same scan, with the comparison flipped to ",[415,2375,2377],{"className":2376},[418],[415,2378,2380,2420],{"className":2379,"ariaHidden":423},[422],[415,2381,2383,2386,2389,2392,2399,2402,2407,2411,2414,2417],{"className":2382},[427],[415,2384],{"className":2385,"style":485},[431],[415,2387,385],{"className":2388},[436,437],[415,2390,493],{"className":2391},[492],[415,2393,2395],{"className":2394},[436,640],[415,2396,2398],{"className":2397},[436],"top",[415,2400,539],{"className":2401},[492],[415,2403,2406],{"className":2404,"style":2405},[436,437],"margin-right:0.0576em;","S",[415,2408,2410],{"className":2409},[500],")]",[415,2412],{"className":2413,"style":677},[676],[415,2415,682],{"className":2416},[681],[415,2418],{"className":2419,"style":677},[676],[415,2421,2423,2426,2429,2432,2435],{"className":2422},[427],[415,2424],{"className":2425,"style":485},[431],[415,2427,385],{"className":2428},[436,437],[415,2430,493],{"className":2431},[492],[415,2433,471],{"className":2434},[436,437],[415,2436,501],{"className":2437},[500]," and a\nstrictly-increasing stack, computes the ",[390,2440,2441],{},"next smaller"," element; reversing the\nscan direction gives ",[390,2444,2445],{},"previous greater \u002F previous smaller",". Four cousins, one\ntemplate. ",[390,2448,2449],{},"Daily Temperatures"," is literally ",[415,2452,2454],{"className":2453},[418],[415,2455,2457],{"className":2456,"ariaHidden":423},[422],[415,2458,2460,2463],{"className":2459},[427],[415,2461],{"className":2462,"style":1482},[431],[415,2464,2466],{"className":2465},[1486,1487],[415,2467,2469],{"className":2468},[436,640],[415,2470,1494],{"className":2471},[436]," returning\n",[415,2474,2476],{"className":2475},[418],[415,2477,2479,2498],{"className":2478,"ariaHidden":423},[422],[415,2480,2482,2485,2488,2491,2495],{"className":2481},[427],[415,2483],{"className":2484,"style":667},[431],[415,2486,672],{"className":2487,"style":671},[436,437],[415,2489],{"className":2490,"style":1633},[676],[415,2492,2494],{"className":2493},[1637],"−",[415,2496],{"className":2497,"style":1633},[676],[415,2499,2501,2504],{"className":2500},[427],[415,2502],{"className":2503,"style":467},[431],[415,2505,471],{"className":2506},[436,437]," instead of ",[415,2509,2511],{"className":2510},[418],[415,2512,2514],{"className":2513,"ariaHidden":423},[422],[415,2515,2517,2520],{"className":2516},[427],[415,2518],{"className":2519,"style":667},[431],[415,2521,672],{"className":2522,"style":671},[436,437],"; the classic ",[390,2525,2526],{},"stock span"," is previous-greater; and as we\nwill see, ",[390,2529,2530],{},"trapping rain water"," is bounded on each side by the previous- and\nnext-greater bars. They are all the same machine pointed in different\ndirections.",[443,2533,2534],{},[385,2535,582],{"href":2536,"ariaDescribedBy":2537,"dataFootnoteRef":376,"id":2538},"#user-content-fn-erickson-ds",[449],"user-content-fnref-erickson-ds",[593,2540,2542],{"id":2541},"largest-rectangle-in-a-histogram","Largest rectangle in a histogram",[381,2544,2545,2546,2575,2576,2595,2596,2621,2622,2625,2626,2652,2653,2656,2657,2672,2673,2697,2698,2767,2768,2783,2784,2787],{},"Given bar heights ",[415,2547,2549],{"className":2548},[418],[415,2550,2552],{"className":2551,"ariaHidden":423},[422],[415,2553,2555,2558,2562,2565,2569,2572],{"className":2554},[427],[415,2556],{"className":2557,"style":485},[431],[415,2559,2561],{"className":2560},[436,437],"h",[415,2563,493],{"className":2564},[492],[415,2566,2568],{"className":2567},[436],"1..",[415,2570,546],{"className":2571},[436,437],[415,2573,501],{"className":2574},[500]," of unit width, find the largest axis-aligned\nrectangle that fits under the skyline. The key observation: the maximal rectangle\n",[395,2577,2578,2579,2594],{},"using bar ",[415,2580,2582],{"className":2581},[418],[415,2583,2585],{"className":2584,"ariaHidden":423},[422],[415,2586,2588,2591],{"className":2587},[427],[415,2589],{"className":2590,"style":467},[431],[415,2592,471],{"className":2593},[436,437]," as its limiting (shortest) height"," extends left until it hits the\nnearest shorter bar and right until the nearest shorter bar. So if\n",[415,2597,2599],{"className":2598},[418],[415,2600,2602],{"className":2601,"ariaHidden":423},[422],[415,2603,2605,2608,2612,2615,2618],{"className":2604},[427],[415,2606],{"className":2607,"style":485},[431],[415,2609,2611],{"className":2610},[436,437],"L",[415,2613,539],{"className":2614},[492],[415,2616,471],{"className":2617},[436,437],[415,2619,586],{"className":2620},[500]," is the ",[390,2623,2624],{},"previous-smaller"," index and ",[415,2627,2629],{"className":2628},[418],[415,2630,2632],{"className":2631,"ariaHidden":423},[422],[415,2633,2635,2638,2643,2646,2649],{"className":2634},[427],[415,2636],{"className":2637,"style":485},[431],[415,2639,2642],{"className":2640,"style":2641},[436,437],"margin-right:0.0077em;","R",[415,2644,539],{"className":2645},[492],[415,2647,471],{"className":2648},[436,437],[415,2650,586],{"className":2651},[500]," the ",[390,2654,2655],{},"next-smaller"," index,\nbar ",[415,2658,2660],{"className":2659},[418],[415,2661,2663],{"className":2662,"ariaHidden":423},[422],[415,2664,2666,2669],{"className":2665},[427],[415,2667],{"className":2668,"style":467},[431],[415,2670,471],{"className":2671},[436,437]," contributes a rectangle of height ",[415,2674,2676],{"className":2675},[418],[415,2677,2679],{"className":2678,"ariaHidden":423},[422],[415,2680,2682,2685,2688,2691,2694],{"className":2681},[427],[415,2683],{"className":2684,"style":485},[431],[415,2686,2561],{"className":2687},[436,437],[415,2689,493],{"className":2690},[492],[415,2692,471],{"className":2693},[436,437],[415,2695,501],{"className":2696},[500]," and width ",[415,2699,2701],{"className":2700},[418],[415,2702,2704,2731,2758],{"className":2703,"ariaHidden":423},[422],[415,2705,2707,2710,2713,2716,2719,2722,2725,2728],{"className":2706},[427],[415,2708],{"className":2709,"style":485},[431],[415,2711,2642],{"className":2712,"style":2641},[436,437],[415,2714,539],{"className":2715},[492],[415,2717,471],{"className":2718},[436,437],[415,2720,586],{"className":2721},[500],[415,2723],{"className":2724,"style":1633},[676],[415,2726,2494],{"className":2727},[1637],[415,2729],{"className":2730,"style":1633},[676],[415,2732,2734,2737,2740,2743,2746,2749,2752,2755],{"className":2733},[427],[415,2735],{"className":2736,"style":485},[431],[415,2738,2611],{"className":2739},[436,437],[415,2741,539],{"className":2742},[492],[415,2744,471],{"className":2745},[436,437],[415,2747,586],{"className":2748},[500],[415,2750],{"className":2751,"style":1633},[676],[415,2753,2494],{"className":2754},[1637],[415,2756],{"className":2757,"style":1633},[676],[415,2759,2761,2764],{"className":2760},[427],[415,2762],{"className":2763,"style":2171},[431],[415,2765,451],{"className":2766},[436],", and\nthe answer is the maximum of these over all ",[415,2769,2771],{"className":2770},[418],[415,2772,2774],{"className":2773,"ariaHidden":423},[422],[415,2775,2777,2780],{"className":2776},[427],[415,2778],{"className":2779,"style":467},[431],[415,2781,471],{"className":2782},[436,437],". That is two monotonic scans, and\nwe can ",[395,2785,2786],{},"fuse them into one",".",[381,2789,2790,2791,2794,2795,2810,2811,2826,2827,2830,2831,695,2848,2863],{},"Keep an ",[390,2792,2793],{},"increasing"," stack of bar indices. When bar ",[415,2796,2798],{"className":2797},[418],[415,2799,2801],{"className":2800,"ariaHidden":423},[422],[415,2802,2804,2807],{"className":2803},[427],[415,2805],{"className":2806,"style":467},[431],[415,2808,471],{"className":2809},[436,437]," arrives shorter than\nthe top, the top bar can extend no further right: ",[415,2812,2814],{"className":2813},[418],[415,2815,2817],{"className":2816,"ariaHidden":423},[422],[415,2818,2820,2823],{"className":2819},[427],[415,2821],{"className":2822,"style":467},[431],[415,2824,471],{"className":2825},[436,437]," is its next-smaller bar. Pop\nit. Its previous-smaller bar is ",[395,2828,2829],{},"exactly the new stack top"," after the pop, because\nthe stack is increasing, so the element now exposed beneath it is the closest\nearlier bar shorter than the popped one. So at the moment of popping index ",[415,2832,2834],{"className":2833},[418],[415,2835,2837],{"className":2836,"ariaHidden":423},[422],[415,2838,2840,2844],{"className":2839},[427],[415,2841],{"className":2842,"style":2843},[431],"height:0.6151em;",[415,2845,2847],{"className":2846},[436,437],"t",[415,2849,2851],{"className":2850},[418],[415,2852,2854],{"className":2853,"ariaHidden":423},[422],[415,2855,2857,2860],{"className":2856},[427],[415,2858],{"className":2859,"style":467},[431],[415,2861,471],{"className":2862},[436,437]," as the trigger:",[415,2865,2868],{"className":2866},[2867],"katex-display",[415,2869,2871],{"className":2870},[418],[415,2872,2874,2896,2924,2951,2973],{"className":2873,"ariaHidden":423},[422],[415,2875,2877,2880,2887,2890,2893],{"className":2876},[427],[415,2878],{"className":2879,"style":1560},[431],[415,2881,2883],{"className":2882},[436,640],[415,2884,2886],{"className":2885},[436],"area",[415,2888],{"className":2889,"style":677},[676],[415,2891,1279],{"className":2892},[681],[415,2894],{"className":2895,"style":677},[676],[415,2897,2899,2902,2905,2908,2911,2914,2917,2921],{"className":2898},[427],[415,2900],{"className":2901,"style":485},[431],[415,2903,2561],{"className":2904},[436,437],[415,2906,493],{"className":2907},[492],[415,2909,2847],{"className":2910},[436,437],[415,2912,501],{"className":2913},[500],[415,2915],{"className":2916,"style":1633},[676],[415,2918,2920],{"className":2919},[1637],"⋅",[415,2922],{"className":2923,"style":1633},[676],[415,2925,2927,2931,2939,2942,2945,2948],{"className":2926},[427],[415,2928],{"className":2929,"style":2930},[431],"height:1.2em;vertical-align:-0.35em;",[415,2932,2934],{"className":2933},[492],[415,2935,539],{"className":2936},[2937,2938],"delimsizing","size1",[415,2940,471],{"className":2941},[436,437],[415,2943],{"className":2944,"style":1633},[676],[415,2946,2494],{"className":2947},[1637],[415,2949],{"className":2950,"style":1633},[676],[415,2952,2954,2957,2964,2967,2970],{"className":2953},[427],[415,2955],{"className":2956,"style":485},[431],[415,2958,2960],{"className":2959},[436,640],[415,2961,2963],{"className":2962},[436],"(new top)",[415,2965],{"className":2966,"style":1633},[676],[415,2968,2494],{"className":2969},[1637],[415,2971],{"className":2972,"style":1633},[676],[415,2974,2976,2979,2982,2988],{"className":2975},[427],[415,2977],{"className":2978,"style":2930},[431],[415,2980,451],{"className":2981},[436],[415,2983,2985],{"className":2984},[500],[415,2986,586],{"className":2987},[2937,2938],[415,2989,2082],{"className":2990},[2081],[381,2992,2993,2994,3009,3010,2787],{},"where the width spans from just past the previous-smaller bar (the exposed stack\ntop) up to just before the next-smaller bar ",[415,2995,2997],{"className":2996},[418],[415,2998,3000],{"className":2999,"ariaHidden":423},[422],[415,3001,3003,3006],{"className":3002},[427],[415,3004],{"className":3005,"style":467},[431],[415,3007,471],{"className":3008},[436,437],". Both boundaries are pinned to\ngenuine smaller bars, so the rectangle is exactly the widest one of height ",[415,3011,3013],{"className":3012},[418],[415,3014,3016],{"className":3015,"ariaHidden":423},[422],[415,3017,3019,3022,3025,3028,3031],{"className":3018},[427],[415,3020],{"className":3021,"style":485},[431],[415,3023,2561],{"className":3024},[436,437],[415,3026,493],{"className":3027},[492],[415,3029,2847],{"className":3030},[436,437],[415,3032,501],{"className":3033},[500],[1711,3035,3037,3150],{"className":3036},[1714,1715],[1717,3038,3042],{"xmlns":1719,"width":3039,"height":3040,"viewBox":3041},"242.542","180.035","-75 -75 181.907 135.026",[1724,3043,3044,3047,3051,3053,3056,3059,3066,3073,3080,3087,3096,3105],{"stroke":1726,"style":1727},[1729,3045],{"fill":750,"d":3046,"style":1963},"M-65.203 41.741h168.44",[1729,3048],{"fill":1823,"stroke":750,"d":3049,"style":3050},"M-65.203 41.741V-3.783h91.048V41.74ZM25.845-3.783","fill-opacity:.18;stroke-opacity:.18",[1729,3052],{"fill":750,"stroke":1823,"d":3049,"style":1963},[1729,3054],{"fill":750,"d":3055},"M-65.203 41.741v-68.287h22.762v68.287ZM-42.441 41.741V-3.783h22.762V41.74ZM-19.679 41.741v-91.049H3.083v91.049ZM3.083 41.741V-72.07h22.762V41.741ZM25.845-72.07",[1729,3057],{"fill":750,"stroke":1823,"d":3058,"style":1824},"M25.845 41.741V18.979h22.763V41.74Zm22.763-22.762",[1724,3060,3062],{"transform":3061},"translate(9.256 11.683)",[1729,3063],{"d":3064,"fill":1726,"stroke":1726,"className":3065,"style":1752},"M-61.609 41.741L-64.402 41.741L-64.402 41.444Q-63.340 41.444-63.340 41.182L-63.340 37.014Q-63.769 37.229-64.449 37.229L-64.449 36.932Q-63.430 36.932-62.914 36.421L-62.769 36.421Q-62.695 36.440-62.676 36.518L-62.676 41.182Q-62.676 41.444-61.609 41.444",[1743],[1724,3067,3069],{"transform":3068},"translate(32.018 11.683)",[1729,3070],{"d":3071,"fill":1726,"stroke":1726,"className":3072,"style":1752},"M-61.617 41.741L-64.777 41.741L-64.777 41.534Q-64.777 41.507-64.754 41.475L-63.402 40.077Q-63.023 39.690-62.775 39.401Q-62.527 39.112-62.353 38.755Q-62.180 38.397-62.180 38.007Q-62.180 37.659-62.312 37.366Q-62.445 37.073-62.699 36.895Q-62.953 36.718-63.308 36.718Q-63.668 36.718-63.959 36.913Q-64.250 37.108-64.394 37.436L-64.340 37.436Q-64.156 37.436-64.031 37.557Q-63.906 37.678-63.906 37.870Q-63.906 38.050-64.031 38.178Q-64.156 38.307-64.340 38.307Q-64.519 38.307-64.648 38.178Q-64.777 38.050-64.777 37.870Q-64.777 37.468-64.557 37.132Q-64.336 36.796-63.971 36.608Q-63.605 36.421-63.203 36.421Q-62.723 36.421-62.307 36.608Q-61.891 36.796-61.639 37.157Q-61.387 37.518-61.387 38.007Q-61.387 38.366-61.541 38.669Q-61.695 38.971-61.947 39.231Q-62.199 39.491-62.549 39.776Q-62.898 40.061-63.066 40.214L-63.996 41.053L-63.281 41.053Q-61.906 41.053-61.867 41.014Q-61.797 40.936-61.754 40.751Q-61.711 40.565-61.668 40.276L-61.387 40.276",[1743],[1724,3074,3076],{"transform":3075},"translate(54.78 11.683)",[1729,3077],{"d":3078,"fill":1726,"stroke":1726,"className":3079,"style":1752},"M-64.410 41.108Q-64.219 41.382-63.863 41.509Q-63.508 41.636-63.125 41.636Q-62.789 41.636-62.580 41.450Q-62.371 41.264-62.275 40.971Q-62.180 40.678-62.180 40.366Q-62.180 40.042-62.277 39.747Q-62.375 39.452-62.588 39.268Q-62.801 39.085-63.133 39.085L-63.699 39.085Q-63.730 39.085-63.760 39.055Q-63.789 39.026-63.789 38.999L-63.789 38.917Q-63.789 38.882-63.760 38.856Q-63.730 38.831-63.699 38.831L-63.219 38.796Q-62.933 38.796-62.736 38.591Q-62.539 38.386-62.443 38.091Q-62.348 37.796-62.348 37.518Q-62.348 37.139-62.547 36.901Q-62.746 36.663-63.125 36.663Q-63.445 36.663-63.734 36.770Q-64.023 36.878-64.187 37.100Q-64.008 37.100-63.885 37.227Q-63.762 37.354-63.762 37.526Q-63.762 37.698-63.887 37.823Q-64.012 37.948-64.187 37.948Q-64.359 37.948-64.484 37.823Q-64.609 37.698-64.609 37.526Q-64.609 37.159-64.385 36.911Q-64.160 36.663-63.820 36.542Q-63.480 36.421-63.125 36.421Q-62.777 36.421-62.414 36.542Q-62.051 36.663-61.803 36.913Q-61.555 37.163-61.555 37.518Q-61.555 38.003-61.873 38.386Q-62.191 38.768-62.668 38.940Q-62.117 39.050-61.717 39.436Q-61.316 39.823-61.316 40.358Q-61.316 40.815-61.580 41.171Q-61.844 41.526-62.266 41.718Q-62.687 41.909-63.125 41.909Q-63.535 41.909-63.928 41.774Q-64.320 41.639-64.586 41.354Q-64.851 41.069-64.851 40.651Q-64.851 40.456-64.719 40.327Q-64.586 40.198-64.394 40.198Q-64.269 40.198-64.166 40.257Q-64.062 40.315-64 40.421Q-63.937 40.526-63.937 40.651Q-63.937 40.846-64.072 40.977Q-64.207 41.108-64.410 41.108",[1743],[1724,3081,3083],{"transform":3082},"translate(77.543 11.683)",[1729,3084],{"d":3085,"fill":1726,"stroke":1726,"className":3086,"style":1752},"M-62.723 40.428L-64.965 40.428L-64.965 40.132L-62.394 36.475Q-62.355 36.421-62.293 36.421L-62.148 36.421Q-62.098 36.421-62.066 36.452Q-62.035 36.483-62.035 36.534L-62.035 40.132L-61.203 40.132L-61.203 40.428L-62.035 40.428L-62.035 41.182Q-62.035 41.444-61.211 41.444L-61.211 41.741L-63.547 41.741L-63.547 41.444Q-62.723 41.444-62.723 41.182L-62.723 40.428M-62.668 37.327L-64.637 40.132L-62.668 40.132",[1743],[1724,3088,3089],{"fill":1823,"stroke":1823},[1724,3090,3092],{"transform":3091},"translate(100.305 11.683)",[1729,3093],{"d":3094,"fill":1823,"stroke":1823,"className":3095,"style":1752},"M-64.363 40.862L-64.426 40.862Q-64.285 41.214-63.961 41.425Q-63.637 41.636-63.250 41.636Q-62.656 41.636-62.406 41.202Q-62.156 40.768-62.156 40.132Q-62.156 39.538-62.326 39.091Q-62.496 38.643-62.996 38.643Q-63.293 38.643-63.498 38.723Q-63.703 38.803-63.805 38.895Q-63.906 38.987-64.021 39.120Q-64.137 39.253-64.187 39.268L-64.258 39.268Q-64.344 39.245-64.363 39.167L-64.363 36.518Q-64.332 36.421-64.258 36.421Q-64.242 36.421-64.234 36.423Q-64.226 36.425-64.219 36.428Q-63.633 36.678-63.035 36.678Q-62.453 36.678-61.836 36.421L-61.812 36.421Q-61.769 36.421-61.742 36.446Q-61.715 36.471-61.715 36.511L-61.715 36.589Q-61.715 36.620-61.738 36.643Q-62.035 36.995-62.457 37.192Q-62.879 37.389-63.340 37.389Q-63.687 37.389-64.066 37.284L-64.066 38.780Q-63.848 38.585-63.572 38.487Q-63.297 38.389-62.996 38.389Q-62.539 38.389-62.170 38.637Q-61.801 38.886-61.594 39.290Q-61.387 39.694-61.387 40.139Q-61.387 40.628-61.642 41.036Q-61.898 41.444-62.330 41.677Q-62.762 41.909-63.250 41.909Q-63.644 41.909-64 41.718Q-64.355 41.526-64.566 41.192Q-64.777 40.858-64.777 40.444Q-64.777 40.264-64.660 40.151Q-64.543 40.038-64.363 40.038Q-64.246 40.038-64.154 40.091Q-64.062 40.143-64.010 40.235Q-63.957 40.327-63.957 40.444Q-63.957 40.628-64.070 40.745Q-64.183 40.862-64.363 40.862",[1743],[1724,3097,3098],{"fill":1823,"stroke":1823},[1724,3099,3101],{"transform":3100},"translate(90.145 -28.824)",[1729,3102],{"d":3103,"fill":1823,"stroke":1823,"className":3104,"style":1752},"M-64.340 40.780L-64.340 38.589L-65.043 38.589L-65.043 38.335Q-64.687 38.335-64.445 38.102Q-64.203 37.870-64.092 37.522Q-63.980 37.175-63.980 36.819L-63.699 36.819L-63.699 38.292L-62.523 38.292L-62.523 38.589L-63.699 38.589L-63.699 40.764Q-63.699 41.085-63.580 41.313Q-63.461 41.542-63.180 41.542Q-63 41.542-62.883 41.419Q-62.766 41.296-62.713 41.116Q-62.660 40.936-62.660 40.764L-62.660 40.292L-62.379 40.292L-62.379 40.780Q-62.379 41.034-62.484 41.274Q-62.590 41.514-62.787 41.667Q-62.984 41.819-63.242 41.819Q-63.558 41.819-63.810 41.696Q-64.062 41.573-64.201 41.339Q-64.340 41.104-64.340 40.780M-59.652 41.741L-61.633 41.741L-61.633 41.444Q-61.363 41.444-61.195 41.399Q-61.027 41.354-61.027 41.182L-61.027 39.046Q-61.027 38.831-61.090 38.735Q-61.152 38.639-61.269 38.618Q-61.387 38.596-61.633 38.596L-61.633 38.300L-60.465 38.214L-60.465 38.999Q-60.387 38.788-60.234 38.602Q-60.082 38.417-59.883 38.315Q-59.683 38.214-59.457 38.214Q-59.211 38.214-59.019 38.358Q-58.828 38.503-58.828 38.733Q-58.828 38.889-58.933 38.999Q-59.039 39.108-59.195 39.108Q-59.351 39.108-59.461 38.999Q-59.570 38.889-59.570 38.733Q-59.570 38.573-59.465 38.468Q-59.789 38.468-60.004 38.696Q-60.219 38.925-60.314 39.264Q-60.410 39.604-60.410 39.909L-60.410 41.182Q-60.410 41.350-60.183 41.397Q-59.957 41.444-59.652 41.444L-59.652 41.741M-56.488 41.741L-58.266 41.741L-58.266 41.444Q-57.992 41.444-57.824 41.397Q-57.656 41.350-57.656 41.182L-57.656 39.046Q-57.656 38.831-57.713 38.735Q-57.769 38.639-57.883 38.618Q-57.996 38.596-58.242 38.596L-58.242 38.300L-57.043 38.214L-57.043 41.182Q-57.043 41.350-56.896 41.397Q-56.750 41.444-56.488 41.444L-56.488 41.741M-57.930 36.819Q-57.930 36.628-57.795 36.497Q-57.660 36.366-57.465 36.366Q-57.344 36.366-57.240 36.428Q-57.137 36.491-57.074 36.595Q-57.012 36.698-57.012 36.819Q-57.012 37.014-57.142 37.149Q-57.273 37.284-57.465 37.284Q-57.664 37.284-57.797 37.151Q-57.930 37.018-57.930 36.819M-55.988 42.350Q-55.988 42.069-55.777 41.858Q-55.566 41.647-55.281 41.557Q-55.437 41.432-55.516 41.243Q-55.594 41.053-55.594 40.854Q-55.594 40.499-55.363 40.206Q-55.730 39.866-55.730 39.397Q-55.730 39.046-55.527 38.776Q-55.324 38.507-55.004 38.360Q-54.683 38.214-54.340 38.214Q-53.820 38.214-53.449 38.495Q-53.086 38.124-52.539 38.124Q-52.359 38.124-52.232 38.251Q-52.105 38.378-52.105 38.557Q-52.105 38.663-52.183 38.741Q-52.262 38.819-52.371 38.819Q-52.480 38.819-52.557 38.743Q-52.633 38.667-52.633 38.557Q-52.633 38.456-52.594 38.405Q-52.586 38.397-52.582 38.391Q-52.578 38.386-52.578 38.382Q-52.953 38.382-53.273 38.636Q-52.953 38.975-52.953 39.397Q-52.953 39.667-53.070 39.884Q-53.187 40.100-53.392 40.259Q-53.598 40.417-53.840 40.499Q-54.082 40.581-54.340 40.581Q-54.558 40.581-54.771 40.522Q-54.984 40.464-55.180 40.343Q-55.273 40.483-55.273 40.663Q-55.273 40.870-55.137 41.022Q-55 41.175-54.793 41.175L-54.098 41.175Q-53.609 41.175-53.197 41.259Q-52.785 41.343-52.506 41.600Q-52.226 41.858-52.226 42.350Q-52.226 42.714-52.547 42.946Q-52.867 43.178-53.308 43.280Q-53.750 43.382-54.105 43.382Q-54.461 43.382-54.904 43.280Q-55.348 43.178-55.668 42.946Q-55.988 42.714-55.988 42.350M-55.484 42.350Q-55.484 42.546-55.340 42.694Q-55.195 42.843-54.982 42.932Q-54.769 43.022-54.529 43.069Q-54.289 43.116-54.105 43.116Q-53.863 43.116-53.533 43.038Q-53.203 42.960-52.967 42.786Q-52.730 42.612-52.730 42.350Q-52.730 41.944-53.141 41.835Q-53.551 41.725-54.113 41.725L-54.793 41.725Q-55.062 41.725-55.273 41.903Q-55.484 42.081-55.484 42.350M-54.340 40.315Q-53.617 40.315-53.617 39.397Q-53.617 38.475-54.340 38.475Q-55.066 38.475-55.066 39.397Q-55.066 40.315-54.340 40.315M-51.742 42.350Q-51.742 42.069-51.531 41.858Q-51.320 41.647-51.035 41.557Q-51.191 41.432-51.269 41.243Q-51.348 41.053-51.348 40.854Q-51.348 40.499-51.117 40.206Q-51.484 39.866-51.484 39.397Q-51.484 39.046-51.281 38.776Q-51.078 38.507-50.758 38.360Q-50.437 38.214-50.094 38.214Q-49.574 38.214-49.203 38.495Q-48.840 38.124-48.293 38.124Q-48.113 38.124-47.986 38.251Q-47.859 38.378-47.859 38.557Q-47.859 38.663-47.937 38.741Q-48.016 38.819-48.125 38.819Q-48.234 38.819-48.310 38.743Q-48.387 38.667-48.387 38.557Q-48.387 38.456-48.348 38.405Q-48.340 38.397-48.336 38.391Q-48.332 38.386-48.332 38.382Q-48.707 38.382-49.027 38.636Q-48.707 38.975-48.707 39.397Q-48.707 39.667-48.824 39.884Q-48.941 40.100-49.146 40.259Q-49.351 40.417-49.594 40.499Q-49.836 40.581-50.094 40.581Q-50.312 40.581-50.525 40.522Q-50.738 40.464-50.933 40.343Q-51.027 40.483-51.027 40.663Q-51.027 40.870-50.891 41.022Q-50.754 41.175-50.547 41.175L-49.851 41.175Q-49.363 41.175-48.951 41.259Q-48.539 41.343-48.260 41.600Q-47.980 41.858-47.980 42.350Q-47.980 42.714-48.301 42.946Q-48.621 43.178-49.062 43.280Q-49.504 43.382-49.859 43.382Q-50.215 43.382-50.658 43.280Q-51.101 43.178-51.422 42.946Q-51.742 42.714-51.742 42.350M-51.238 42.350Q-51.238 42.546-51.094 42.694Q-50.949 42.843-50.736 42.932Q-50.523 43.022-50.283 43.069Q-50.043 43.116-49.859 43.116Q-49.617 43.116-49.287 43.038Q-48.957 42.960-48.721 42.786Q-48.484 42.612-48.484 42.350Q-48.484 41.944-48.894 41.835Q-49.305 41.725-49.867 41.725L-50.547 41.725Q-50.816 41.725-51.027 41.903Q-51.238 42.081-51.238 42.350M-50.094 40.315Q-49.371 40.315-49.371 39.397Q-49.371 38.475-50.094 38.475Q-50.820 38.475-50.820 39.397Q-50.820 40.315-50.094 40.315M-47.496 39.987Q-47.496 39.507-47.264 39.091Q-47.031 38.675-46.621 38.425Q-46.211 38.175-45.734 38.175Q-45.004 38.175-44.605 38.616Q-44.207 39.057-44.207 39.788Q-44.207 39.893-44.301 39.917L-46.750 39.917L-46.750 39.987Q-46.750 40.397-46.629 40.753Q-46.508 41.108-46.236 41.325Q-45.965 41.542-45.535 41.542Q-45.172 41.542-44.875 41.313Q-44.578 41.085-44.476 40.733Q-44.469 40.686-44.383 40.671L-44.301 40.671Q-44.207 40.698-44.207 40.780Q-44.207 40.788-44.215 40.819Q-44.277 41.046-44.416 41.229Q-44.555 41.413-44.746 41.546Q-44.937 41.678-45.156 41.749Q-45.375 41.819-45.613 41.819Q-45.984 41.819-46.322 41.682Q-46.660 41.546-46.928 41.294Q-47.195 41.042-47.346 40.702Q-47.496 40.362-47.496 39.987M-46.742 39.678L-44.781 39.678Q-44.781 39.374-44.883 39.083Q-44.984 38.792-45.201 38.610Q-45.418 38.428-45.734 38.428Q-46.035 38.428-46.266 38.616Q-46.496 38.803-46.619 39.095Q-46.742 39.386-46.742 39.678M-41.711 41.741L-43.691 41.741L-43.691 41.444Q-43.422 41.444-43.254 41.399Q-43.086 41.354-43.086 41.182L-43.086 39.046Q-43.086 38.831-43.148 38.735Q-43.211 38.639-43.328 38.618Q-43.445 38.596-43.691 38.596L-43.691 38.300L-42.523 38.214L-42.523 38.999Q-42.445 38.788-42.293 38.602Q-42.141 38.417-41.941 38.315Q-41.742 38.214-41.516 38.214Q-41.269 38.214-41.078 38.358Q-40.887 38.503-40.887 38.733Q-40.887 38.889-40.992 38.999Q-41.098 39.108-41.254 39.108Q-41.410 39.108-41.519 38.999Q-41.629 38.889-41.629 38.733Q-41.629 38.573-41.523 38.468Q-41.848 38.468-42.062 38.696Q-42.277 38.925-42.373 39.264Q-42.469 39.604-42.469 39.909L-42.469 41.182Q-42.469 41.350-42.242 41.397Q-42.016 41.444-41.711 41.444",[1743],[1724,3106,3108,3111],{"fill":3107,"stroke":1823},"var(--tk-bg)",[1729,3109],{"fill":3107,"stroke":750,"d":3110},"M-53.648-7.256H14.29v-8.989h-67.938Z",[1724,3112,3113,3120,3126,3132,3138,3144],{"fill":1823,"stroke":750,"fontSize":1832},[1724,3114,3116],{"transform":3115},"translate(13.055 -51.33)",[1729,3117],{"d":3118,"fill":1823,"stroke":1823,"className":3119,"style":1752},"M-63.035 41.741L-64.891 41.741L-64.891 41.444Q-64.617 41.444-64.449 41.397Q-64.281 41.350-64.281 41.182L-64.281 39.046Q-64.281 38.831-64.344 38.735Q-64.406 38.639-64.525 38.618Q-64.644 38.596-64.891 38.596L-64.891 38.300L-63.699 38.214L-63.699 38.948Q-63.586 38.733-63.392 38.565Q-63.199 38.397-62.961 38.305Q-62.723 38.214-62.469 38.214Q-61.508 38.214-61.332 38.925Q-61.148 38.596-60.820 38.405Q-60.492 38.214-60.113 38.214Q-58.937 38.214-58.937 39.292L-58.937 41.182Q-58.937 41.350-58.769 41.397Q-58.601 41.444-58.332 41.444L-58.332 41.741L-60.187 41.741L-60.187 41.444Q-59.914 41.444-59.746 41.399Q-59.578 41.354-59.578 41.182L-59.578 39.307Q-59.578 38.921-59.703 38.694Q-59.828 38.468-60.180 38.468Q-60.484 38.468-60.740 38.630Q-60.996 38.792-61.144 39.061Q-61.293 39.331-61.293 39.628L-61.293 41.182Q-61.293 41.350-61.123 41.397Q-60.953 41.444-60.683 41.444L-60.683 41.741L-62.539 41.741L-62.539 41.444Q-62.266 41.444-62.098 41.397Q-61.930 41.350-61.930 41.182L-61.930 39.307Q-61.930 38.921-62.055 38.694Q-62.180 38.468-62.531 38.468Q-62.836 38.468-63.092 38.630Q-63.348 38.792-63.496 39.061Q-63.644 39.331-63.644 39.628L-63.644 41.182Q-63.644 41.350-63.474 41.397Q-63.305 41.444-63.035 41.444L-63.035 41.741M-57.789 40.909Q-57.789 40.425-57.387 40.130Q-56.984 39.835-56.433 39.716Q-55.883 39.596-55.391 39.596L-55.391 39.307Q-55.391 39.081-55.506 38.874Q-55.621 38.667-55.818 38.548Q-56.016 38.428-56.246 38.428Q-56.672 38.428-56.957 38.534Q-56.887 38.561-56.840 38.616Q-56.793 38.671-56.767 38.741Q-56.742 38.811-56.742 38.886Q-56.742 38.991-56.793 39.083Q-56.844 39.175-56.935 39.225Q-57.027 39.276-57.133 39.276Q-57.238 39.276-57.330 39.225Q-57.422 39.175-57.473 39.083Q-57.523 38.991-57.523 38.886Q-57.523 38.468-57.135 38.321Q-56.746 38.175-56.246 38.175Q-55.914 38.175-55.560 38.305Q-55.207 38.436-54.978 38.690Q-54.750 38.944-54.750 39.292L-54.750 41.093Q-54.750 41.225-54.678 41.335Q-54.605 41.444-54.476 41.444Q-54.351 41.444-54.283 41.339Q-54.215 41.233-54.215 41.093L-54.215 40.581L-53.933 40.581L-53.933 41.093Q-53.933 41.296-54.051 41.454Q-54.168 41.612-54.349 41.696Q-54.531 41.780-54.734 41.780Q-54.965 41.780-55.117 41.608Q-55.269 41.436-55.301 41.206Q-55.461 41.487-55.769 41.653Q-56.078 41.819-56.430 41.819Q-56.941 41.819-57.365 41.596Q-57.789 41.374-57.789 40.909M-57.101 40.909Q-57.101 41.194-56.875 41.380Q-56.648 41.565-56.355 41.565Q-56.109 41.565-55.885 41.448Q-55.660 41.331-55.525 41.128Q-55.391 40.925-55.391 40.671L-55.391 39.839Q-55.656 39.839-55.941 39.893Q-56.226 39.948-56.498 40.077Q-56.769 40.206-56.935 40.413Q-57.101 40.620-57.101 40.909M-52.254 41.741L-53.750 41.741L-53.750 41.444Q-53.117 41.444-52.695 40.964L-51.926 40.053L-52.918 38.854Q-53.074 38.675-53.236 38.632Q-53.398 38.589-53.703 38.589L-53.703 38.292L-52.016 38.292L-52.016 38.589Q-52.109 38.589-52.185 38.632Q-52.262 38.675-52.262 38.764Q-52.262 38.807-52.230 38.854L-51.574 39.643L-51.094 39.069Q-50.976 38.932-50.976 38.796Q-50.976 38.706-51.027 38.647Q-51.078 38.589-51.160 38.589L-51.160 38.292L-49.672 38.292L-49.672 38.589Q-50.308 38.589-50.719 39.069L-51.398 39.870L-50.312 41.182Q-50.152 41.358-49.992 41.401Q-49.832 41.444-49.527 41.444L-49.527 41.741L-51.215 41.741L-51.215 41.444Q-51.125 41.444-51.047 41.401Q-50.969 41.358-50.969 41.268Q-50.969 41.245-51 41.182L-51.742 40.276L-52.328 40.964Q-52.445 41.100-52.445 41.237Q-52.445 41.323-52.394 41.384Q-52.344 41.444-52.254 41.444",[1743],[1724,3121,3122],{"transform":3115},[1729,3123],{"d":3124,"fill":1823,"stroke":1823,"className":3125,"style":1752},"M-46.214 40.909Q-46.214 40.425-45.812 40.130Q-45.409 39.835-44.859 39.716Q-44.308 39.596-43.816 39.596L-43.816 39.307Q-43.816 39.081-43.931 38.874Q-44.046 38.667-44.243 38.548Q-44.441 38.428-44.671 38.428Q-45.097 38.428-45.382 38.534Q-45.312 38.561-45.265 38.616Q-45.218 38.671-45.193 38.741Q-45.167 38.811-45.167 38.886Q-45.167 38.991-45.218 39.083Q-45.269 39.175-45.361 39.225Q-45.452 39.276-45.558 39.276Q-45.663 39.276-45.755 39.225Q-45.847 39.175-45.898 39.083Q-45.948 38.991-45.948 38.886Q-45.948 38.468-45.560 38.321Q-45.171 38.175-44.671 38.175Q-44.339 38.175-43.986 38.305Q-43.632 38.436-43.404 38.690Q-43.175 38.944-43.175 39.292L-43.175 41.093Q-43.175 41.225-43.103 41.335Q-43.030 41.444-42.902 41.444Q-42.777 41.444-42.708 41.339Q-42.640 41.233-42.640 41.093L-42.640 40.581L-42.359 40.581L-42.359 41.093Q-42.359 41.296-42.476 41.454Q-42.593 41.612-42.775 41.696Q-42.956 41.780-43.159 41.780Q-43.390 41.780-43.542 41.608Q-43.695 41.436-43.726 41.206Q-43.886 41.487-44.195 41.653Q-44.503 41.819-44.855 41.819Q-45.366 41.819-45.790 41.596Q-46.214 41.374-46.214 40.909M-45.527 40.909Q-45.527 41.194-45.300 41.380Q-45.073 41.565-44.780 41.565Q-44.534 41.565-44.310 41.448Q-44.085 41.331-43.950 41.128Q-43.816 40.925-43.816 40.671L-43.816 39.839Q-44.081 39.839-44.366 39.893Q-44.652 39.948-44.923 40.077Q-45.195 40.206-45.361 40.413Q-45.527 40.620-45.527 40.909M-40.058 41.741L-42.038 41.741L-42.038 41.444Q-41.769 41.444-41.601 41.399Q-41.433 41.354-41.433 41.182L-41.433 39.046Q-41.433 38.831-41.495 38.735Q-41.558 38.639-41.675 38.618Q-41.792 38.596-42.038 38.596L-42.038 38.300L-40.870 38.214L-40.870 38.999Q-40.792 38.788-40.640 38.602Q-40.487 38.417-40.288 38.315Q-40.089 38.214-39.862 38.214Q-39.616 38.214-39.425 38.358Q-39.234 38.503-39.234 38.733Q-39.234 38.889-39.339 38.999Q-39.445 39.108-39.601 39.108Q-39.757 39.108-39.866 38.999Q-39.976 38.889-39.976 38.733Q-39.976 38.573-39.870 38.468Q-40.195 38.468-40.409 38.696Q-40.624 38.925-40.720 39.264Q-40.816 39.604-40.816 39.909L-40.816 41.182Q-40.816 41.350-40.589 41.397Q-40.362 41.444-40.058 41.444L-40.058 41.741M-38.753 39.987Q-38.753 39.507-38.521 39.091Q-38.288 38.675-37.878 38.425Q-37.468 38.175-36.991 38.175Q-36.261 38.175-35.862 38.616Q-35.464 39.057-35.464 39.788Q-35.464 39.893-35.558 39.917L-38.007 39.917L-38.007 39.987Q-38.007 40.397-37.886 40.753Q-37.765 41.108-37.493 41.325Q-37.222 41.542-36.792 41.542Q-36.429 41.542-36.132 41.313Q-35.835 41.085-35.734 40.733Q-35.726 40.686-35.640 40.671L-35.558 40.671Q-35.464 40.698-35.464 40.780Q-35.464 40.788-35.472 40.819Q-35.534 41.046-35.673 41.229Q-35.812 41.413-36.003 41.546Q-36.195 41.678-36.413 41.749Q-36.632 41.819-36.870 41.819Q-37.241 41.819-37.579 41.682Q-37.917 41.546-38.185 41.294Q-38.452 41.042-38.603 40.702Q-38.753 40.362-38.753 39.987M-37.999 39.678L-36.038 39.678Q-36.038 39.374-36.140 39.083Q-36.241 38.792-36.458 38.610Q-36.675 38.428-36.991 38.428Q-37.292 38.428-37.523 38.616Q-37.753 38.803-37.876 39.095Q-37.999 39.386-37.999 39.678M-34.878 40.909Q-34.878 40.425-34.476 40.130Q-34.073 39.835-33.523 39.716Q-32.972 39.596-32.480 39.596L-32.480 39.307Q-32.480 39.081-32.595 38.874Q-32.710 38.667-32.907 38.548Q-33.105 38.428-33.335 38.428Q-33.761 38.428-34.046 38.534Q-33.976 38.561-33.929 38.616Q-33.882 38.671-33.857 38.741Q-33.831 38.811-33.831 38.886Q-33.831 38.991-33.882 39.083Q-33.933 39.175-34.025 39.225Q-34.116 39.276-34.222 39.276Q-34.327 39.276-34.419 39.225Q-34.511 39.175-34.562 39.083Q-34.612 38.991-34.612 38.886Q-34.612 38.468-34.224 38.321Q-33.835 38.175-33.335 38.175Q-33.003 38.175-32.650 38.305Q-32.296 38.436-32.068 38.690Q-31.839 38.944-31.839 39.292L-31.839 41.093Q-31.839 41.225-31.767 41.335Q-31.695 41.444-31.566 41.444Q-31.441 41.444-31.372 41.339Q-31.304 41.233-31.304 41.093L-31.304 40.581L-31.023 40.581L-31.023 41.093Q-31.023 41.296-31.140 41.454Q-31.257 41.612-31.439 41.696Q-31.620 41.780-31.823 41.780Q-32.054 41.780-32.206 41.608Q-32.359 41.436-32.390 41.206Q-32.550 41.487-32.859 41.653Q-33.167 41.819-33.519 41.819Q-34.030 41.819-34.454 41.596Q-34.878 41.374-34.878 40.909M-34.191 40.909Q-34.191 41.194-33.964 41.380Q-33.737 41.565-33.445 41.565Q-33.198 41.565-32.974 41.448Q-32.749 41.331-32.614 41.128Q-32.480 40.925-32.480 40.671L-32.480 39.839Q-32.745 39.839-33.030 39.893Q-33.316 39.948-33.587 40.077Q-33.859 40.206-34.025 40.413Q-34.191 40.620-34.191 40.909",[1743],[1724,3127,3128],{"transform":3115},[1729,3129],{"d":3130,"fill":1823,"stroke":1823,"className":3131,"style":1752},"M-22.165 40.764L-27.478 40.764Q-27.556 40.757-27.605 40.708Q-27.653 40.659-27.653 40.581Q-27.653 40.511-27.606 40.460Q-27.560 40.409-27.478 40.397L-22.165 40.397Q-22.091 40.409-22.044 40.460Q-21.997 40.511-21.997 40.581Q-21.997 40.659-22.046 40.708Q-22.095 40.757-22.165 40.764M-22.165 39.077L-27.478 39.077Q-27.556 39.069-27.605 39.020Q-27.653 38.971-27.653 38.893Q-27.653 38.823-27.606 38.772Q-27.560 38.721-27.478 38.710L-22.165 38.710Q-22.091 38.721-22.044 38.772Q-21.997 38.823-21.997 38.893Q-21.997 38.971-22.046 39.020Q-22.095 39.069-22.165 39.077",[1743],[1724,3133,3134],{"transform":3115},[1729,3135],{"d":3136,"fill":1823,"stroke":1823,"className":3137,"style":1752},"M-15.568 41.741L-18.728 41.741L-18.728 41.534Q-18.728 41.507-18.705 41.475L-17.353 40.077Q-16.974 39.690-16.726 39.401Q-16.478 39.112-16.304 38.755Q-16.131 38.397-16.131 38.007Q-16.131 37.659-16.263 37.366Q-16.396 37.073-16.650 36.895Q-16.904 36.718-17.259 36.718Q-17.619 36.718-17.910 36.913Q-18.201 37.108-18.345 37.436L-18.291 37.436Q-18.107 37.436-17.982 37.557Q-17.857 37.678-17.857 37.870Q-17.857 38.050-17.982 38.178Q-18.107 38.307-18.291 38.307Q-18.470 38.307-18.599 38.178Q-18.728 38.050-18.728 37.870Q-18.728 37.468-18.508 37.132Q-18.287 36.796-17.922 36.608Q-17.556 36.421-17.154 36.421Q-16.674 36.421-16.258 36.608Q-15.841 36.796-15.590 37.157Q-15.338 37.518-15.338 38.007Q-15.338 38.366-15.492 38.669Q-15.646 38.971-15.898 39.231Q-16.150 39.491-16.500 39.776Q-16.849 40.061-17.017 40.214L-17.947 41.053L-17.232 41.053Q-15.857 41.053-15.818 41.014Q-15.748 40.936-15.705 40.751Q-15.662 40.565-15.619 40.276L-15.338 40.276",[1743],[1724,3139,3140],{"transform":3115},[1729,3141],{"d":3142,"fill":1823,"stroke":1823,"className":3143,"style":1752},"M-11.769 41.612Q-11.769 41.546-11.718 41.495L-9.976 39.741L-11.718 37.987Q-11.769 37.936-11.769 37.870Q-11.769 37.792-11.712 37.739Q-11.656 37.686-11.581 37.686Q-11.515 37.686-11.464 37.725L-9.710 39.475L-7.984 37.749Q-7.933 37.686-7.847 37.686Q-7.773 37.686-7.718 37.741Q-7.663 37.796-7.663 37.870Q-7.663 37.936-7.703 37.987L-9.456 39.741L-7.703 41.495Q-7.663 41.546-7.663 41.612Q-7.663 41.686-7.718 41.741Q-7.773 41.796-7.847 41.796Q-7.917 41.796-7.968 41.757L-9.710 40.007L-11.441 41.733Q-11.503 41.796-11.581 41.796Q-11.656 41.796-11.712 41.743Q-11.769 41.690-11.769 41.612",[1743],[1724,3145,3146],{"transform":3115},[1729,3147],{"d":3148,"fill":1823,"stroke":1823,"className":3149,"style":1752},"M-2.035 40.428L-4.277 40.428L-4.277 40.132L-1.706 36.475Q-1.667 36.421-1.605 36.421L-1.460 36.421Q-1.410 36.421-1.378 36.452Q-1.347 36.483-1.347 36.534L-1.347 40.132L-0.515 40.132L-0.515 40.428L-1.347 40.428L-1.347 41.182Q-1.347 41.444-0.523 41.444L-0.523 41.741L-2.859 41.741L-2.859 41.444Q-2.035 41.444-2.035 41.182L-2.035 40.428M-1.980 37.327L-3.949 40.132L-1.980 40.132",[1743],[2036,3151,3153,3154,3187],{"className":3152},[2039],"Largest rectangle via a monotonic increasing stack: bar 5 triggers the pops; the maximal rectangle of height ",[415,3155,3157],{"className":3156},[418],[415,3158,3160,3178],{"className":3159,"ariaHidden":423},[422],[415,3161,3163,3166,3169,3172,3175],{"className":3162},[427],[415,3164],{"className":3165,"style":432},[431],[415,3167,2561],{"className":3168},[436,437],[415,3170],{"className":3171,"style":677},[676],[415,3173,1279],{"className":3174},[681],[415,3176],{"className":3177,"style":677},[676],[415,3179,3181,3184],{"className":3180},[427],[415,3182],{"className":3183,"style":2171},[431],[415,3185,582],{"className":3186},[436]," spans bars 1–4",[381,3189,3190,3191,3207],{},"When the trigger bar is shorter than several stacked bars, we pop them one after\nanother, each discharged with its own correct width, before pushing the trigger.\nA sentinel of height ",[415,3192,3194],{"className":3193},[418],[415,3195,3197],{"className":3196,"ariaHidden":423},[422],[415,3198,3200,3203],{"className":3199},[427],[415,3201],{"className":3202,"style":2171},[431],[415,3204,3206],{"className":3205},[436],"0"," appended at the end flushes everything still on the stack.",[1374,3209,3211],{"className":1376,"code":3210,"language":1378,"meta":376,"style":376},"caption: $\\textsc{Largest-Rectangle}(h[1..n])$ — fused previous\u002Fnext-smaller scan\n$S \\gets$ empty stack of indices; append sentinel $h[n+1] \\gets 0$\n$\\text{best} \\gets 0$\nfor $i \\gets 1$ to $n+1$ do\n  while $S$ not empty and $h[\\text{top}(S)] \\ge h[i]$ do\n    $t \\gets \\text{pop}(S)$\n    $L \\gets$ ($S$ empty $?$ $0$ $:$ $\\text{top}(S)$) \u002F\u002F previous-smaller bar\n    $\\text{best} \\gets \\max(\\text{best},\\; h[t] \\cdot (i - L - 1))$\n  $\\text{push}(S, i)$\nreturn $\\text{best}$\n",[1380,3212,3213,3218,3223,3228,3233,3238,3243,3248,3253,3258],{"__ignoreMap":376},[415,3214,3215],{"class":1384,"line":6},[415,3216,3217],{},"caption: $\\textsc{Largest-Rectangle}(h[1..n])$ — fused previous\u002Fnext-smaller scan\n",[415,3219,3220],{"class":1384,"line":18},[415,3221,3222],{},"$S \\gets$ empty stack of indices; append sentinel $h[n+1] \\gets 0$\n",[415,3224,3225],{"class":1384,"line":24},[415,3226,3227],{},"$\\text{best} \\gets 0$\n",[415,3229,3230],{"class":1384,"line":73},[415,3231,3232],{},"for $i \\gets 1$ to $n+1$ do\n",[415,3234,3235],{"class":1384,"line":102},[415,3236,3237],{},"  while $S$ not empty and $h[\\text{top}(S)] \\ge h[i]$ do\n",[415,3239,3240],{"class":1384,"line":108},[415,3241,3242],{},"    $t \\gets \\text{pop}(S)$\n",[415,3244,3245],{"class":1384,"line":116},[415,3246,3247],{},"    $L \\gets$ ($S$ empty $?$ $0$ $:$ $\\text{top}(S)$) \u002F\u002F previous-smaller bar\n",[415,3249,3250],{"class":1384,"line":196},[415,3251,3252],{},"    $\\text{best} \\gets \\max(\\text{best},\\; h[t] \\cdot (i - L - 1))$\n",[415,3254,3255],{"class":1384,"line":202},[415,3256,3257],{},"  $\\text{push}(S, i)$\n",[415,3259,3260],{"class":1384,"line":283},[415,3261,3262],{},"return $\\text{best}$\n",[381,3264,3265,3266,3295,3296,3320,3321,1469,3371,3374],{},"Every index is pushed once and popped once, so the histogram is solved in\n",[390,3267,3268,1469,3271],{},[385,3269,3270],{"href":17},"amortized",[415,3272,3274],{"className":3273},[418],[415,3275,3277],{"className":3276,"ariaHidden":423},[422],[415,3278,3280,3283,3286,3289,3292],{"className":3279},[427],[415,3281],{"className":3282,"style":485},[431],[415,3284,1458],{"className":3285,"style":1457},[436,437],[415,3287,539],{"className":3288},[492],[415,3290,546],{"className":3291},[436,437],[415,3293,586],{"className":3294},[500]," time and\n",[415,3297,3299],{"className":3298},[418],[415,3300,3302],{"className":3301,"ariaHidden":423},[422],[415,3303,3305,3308,3311,3314,3317],{"className":3304},[427],[415,3306],{"className":3307,"style":485},[431],[415,3309,1458],{"className":3310,"style":1457},[436,437],[415,3312,539],{"className":3313},[492],[415,3315,546],{"className":3316},[436,437],[415,3318,586],{"className":3319},[500]," space, by the same aggregate argument as\nbefore. What was a ",[415,3322,3324],{"className":3323},[418],[415,3325,3327],{"className":3326,"ariaHidden":423},[422],[415,3328,3330,3333,3336,3339,3368],{"className":3329},[427],[415,3331],{"className":3332,"style":531},[431],[415,3334,535],{"className":3335},[436],[415,3337,539],{"className":3338},[492],[415,3340,3342,3345],{"className":3341},[436],[415,3343,546],{"className":3344},[436,437],[415,3346,3348],{"className":3347},[550],[415,3349,3351],{"className":3350},[554],[415,3352,3354],{"className":3353},[558],[415,3355,3357],{"className":3356,"style":563},[562],[415,3358,3359,3362],{"style":566},[415,3360],{"className":3361,"style":571},[570],[415,3363,3365],{"className":3364},[575,576,577,578],[415,3366,582],{"className":3367},[436,578],[415,3369,586],{"className":3370},[500],[404,3372,3373],{},"try every pair of boundaries"," search becomes a\nsingle sweep precisely because the increasing stack hands us both the left and\nright smaller-boundaries for free.",[593,3376,3378],{"id":3377},"the-monotonic-deque-sliding-window-maximum","The monotonic deque: sliding-window maximum",[381,3380,3381,3382,3385,3386,3401,3402,3508,3509,3524,3525,3528,3529,3570,3571,3574,3575,2787],{},"Now stream the maximum of every contiguous\n",[385,3383,3384],{"href":126},"sliding window"," of width ",[415,3387,3389],{"className":3388},[418],[415,3390,3392],{"className":3391,"ariaHidden":423},[422],[415,3393,3395,3398],{"className":3394},[427],[415,3396],{"className":3397,"style":432},[431],[415,3399,439],{"className":3400,"style":438},[436,437],":\n",[415,3403,3405],{"className":3404},[418],[415,3406,3408,3476,3495],{"className":3407,"ariaHidden":423},[422],[415,3409,3411,3414,3423,3427,3430,3433,3436,3439,3442,3445,3449,3452,3455,3458,3461,3464,3467,3470,3473],{"className":3410},[427],[415,3412],{"className":3413,"style":485},[431],[415,3415,3418],{"className":3416},[3417],"mop",[415,3419,3422],{"className":3420},[436,3421],"mathrm","max",[415,3424,3426],{"className":3425},[492],"{",[415,3428,385],{"className":3429},[436,437],[415,3431,493],{"className":3432},[492],[415,3434,471],{"className":3435},[436,437],[415,3437,501],{"className":3438},[500],[415,3440,2082],{"className":3441},[2081],[415,3443],{"className":3444,"style":2086},[676],[415,3446,3448],{"className":3447},[929],"…",[415,3450],{"className":3451,"style":2086},[676],[415,3453,2082],{"className":3454},[2081],[415,3456],{"className":3457,"style":2086},[676],[415,3459,385],{"className":3460},[436,437],[415,3462,493],{"className":3463},[492],[415,3465,471],{"className":3466},[436,437],[415,3468],{"className":3469,"style":1633},[676],[415,3471,1638],{"className":3472},[1637],[415,3474],{"className":3475,"style":1633},[676],[415,3477,3479,3483,3486,3489,3492],{"className":3478},[427],[415,3480],{"className":3481,"style":3482},[431],"height:0.7778em;vertical-align:-0.0833em;",[415,3484,439],{"className":3485,"style":438},[436,437],[415,3487],{"className":3488,"style":1633},[676],[415,3490,2494],{"className":3491},[1637],[415,3493],{"className":3494,"style":1633},[676],[415,3496,3498,3501,3504],{"className":3497},[427],[415,3499],{"className":3500,"style":485},[431],[415,3502,451],{"className":3503},[436],[415,3505,3507],{"className":3506},[500],"]}"," for each start ",[415,3510,3512],{"className":3511},[418],[415,3513,3515],{"className":3514,"ariaHidden":423},[422],[415,3516,3518,3521],{"className":3517},[427],[415,3519],{"className":3520,"style":467},[431],[415,3522,471],{"className":3523},[436,437],". A binary\n",[385,3526,3527],{"href":56},"heap"," of the current\nwindow gives ",[415,3530,3532],{"className":3531},[418],[415,3533,3535],{"className":3534,"ariaHidden":423},[422],[415,3536,3538,3541,3544,3547,3550,3553,3561,3564,3567],{"className":3537},[427],[415,3539],{"className":3540,"style":485},[431],[415,3542,1458],{"className":3543,"style":1457},[436,437],[415,3545,539],{"className":3546},[492],[415,3548,546],{"className":3549},[436,437],[415,3551],{"className":3552,"style":2086},[676],[415,3554,3556],{"className":3555},[3417],[415,3557,3560],{"className":3558,"style":3559},[436,3421],"margin-right:0.0139em;","log",[415,3562],{"className":3563,"style":2086},[676],[415,3565,439],{"className":3566,"style":438},[436,437],[415,3568,586],{"className":3569},[500],", since every slide does an insert and a (lazy) delete.\nA ",[390,3572,3573],{},"monotonic deque"," does it in ",[415,3576,3578],{"className":3577},[418],[415,3579,3581],{"className":3580,"ariaHidden":423},[422],[415,3582,3584,3587,3590,3593,3596],{"className":3583},[427],[415,3585],{"className":3586,"style":485},[431],[415,3588,1458],{"className":3589,"style":1457},[436,437],[415,3591,539],{"className":3592},[492],[415,3594,546],{"className":3595},[436,437],[415,3597,586],{"className":3598},[500],[381,3600,3601,3602,3605,3606,784],{},"Maintain a double-ended queue of indices whose values are ",[390,3603,3604],{},"strictly decreasing","\nfrom front to back. Two rules per step at index ",[415,3607,3609],{"className":3608},[418],[415,3610,3612],{"className":3611,"ariaHidden":423},[422],[415,3613,3615,3618],{"className":3614},[427],[415,3616],{"className":3617,"style":467},[431],[415,3619,471],{"className":3620},[436,437],[3622,3623,3624,3710],"ol",{},[3625,3626,3627,3630,3631,3668,3669,3693,3694,3709],"li",{},[390,3628,3629],{},"Push back, popping smaller tails."," While the back's value is ",[415,3632,3634],{"className":3633},[418],[415,3635,3637,3650],{"className":3636,"ariaHidden":423},[422],[415,3638,3640,3643,3647],{"className":3639},[427],[415,3641],{"className":3642,"style":1330},[431],[415,3644,3646],{"className":3645},[681],"≤",[415,3648],{"className":3649,"style":677},[676],[415,3651,3653,3656,3659,3662,3665],{"className":3652},[427],[415,3654],{"className":3655,"style":485},[431],[415,3657,385],{"className":3658},[436,437],[415,3660,493],{"className":3661},[492],[415,3663,471],{"className":3664},[436,437],[415,3666,501],{"className":3667},[500],",\npop it, since it can never again be a maximum: ",[415,3670,3672],{"className":3671},[418],[415,3673,3675],{"className":3674,"ariaHidden":423},[422],[415,3676,3678,3681,3684,3687,3690],{"className":3677},[427],[415,3679],{"className":3680,"style":485},[431],[415,3682,385],{"className":3683},[436,437],[415,3685,493],{"className":3686},[492],[415,3688,471],{"className":3689},[436,437],[415,3691,501],{"className":3692},[500]," is at least as large\nand stays in the window at least as long. Then push ",[415,3695,3697],{"className":3696},[418],[415,3698,3700],{"className":3699,"ariaHidden":423},[422],[415,3701,3703,3706],{"className":3702},[427],[415,3704],{"className":3705,"style":467},[431],[415,3707,471],{"className":3708},[436,437]," at the back.",[3625,3711,3712,3715,3716,3773],{},[390,3713,3714],{},"Expire the front."," If the front index has fallen out of the window\n(",[415,3717,3719],{"className":3718},[418],[415,3720,3722,3745,3764],{"className":3721,"ariaHidden":423},[422],[415,3723,3725,3729,3736,3739,3742],{"className":3724},[427],[415,3726],{"className":3727,"style":3728},[431],"height:0.8304em;vertical-align:-0.136em;",[415,3730,3732],{"className":3731},[436,640],[415,3733,3735],{"className":3734},[436],"front",[415,3737],{"className":3738,"style":677},[676],[415,3740,3646],{"className":3741},[681],[415,3743],{"className":3744,"style":677},[676],[415,3746,3748,3752,3755,3758,3761],{"className":3747},[427],[415,3749],{"className":3750,"style":3751},[431],"height:0.7429em;vertical-align:-0.0833em;",[415,3753,471],{"className":3754},[436,437],[415,3756],{"className":3757,"style":1633},[676],[415,3759,2494],{"className":3760},[1637],[415,3762],{"className":3763,"style":1633},[676],[415,3765,3767,3770],{"className":3766},[427],[415,3768],{"className":3769,"style":432},[431],[415,3771,439],{"className":3772,"style":438},[436,437],"), pop it from the front.",[381,3775,3776,3777,3780],{},"After both rules, the ",[390,3778,3779],{},"front holds the index of the maximum"," of the current\nwindow: it is the largest value among all still-live candidates, because every\nlarger-or-equal later value would have evicted it, and every earlier larger value\nthat left the window was expired.",[1711,3782,3784,4065],{"className":3783},[1714,1715],[1717,3785,3789],{"xmlns":1719,"width":3786,"height":3787,"viewBox":3788},"264.361","152.860","-75 -75 198.271 114.645",[1724,3790,3791,3794,3801,3808,3811,3818,3825,3828,3835,3842,3845,3852,3859,3862,3869,3876,3879,3886,3893,3896,3967,3974,3986,3989,3995,4012,4021,4036,4051],{"stroke":1726,"style":1727},[1729,3792],{"fill":750,"d":3793},"M-30.999-29.229h22.762V-51.99h-22.762Z",[1724,3795,3797],{"transform":3796},"translate(23.295 2.9)",[1729,3798],{"d":3799,"fill":1726,"stroke":1726,"className":3800,"style":1744},"M-41.318-40.610L-44.350-40.610L-44.350-40.926Q-43.199-40.926-43.199-41.221L-43.199-45.945Q-43.687-45.712-44.408-45.712L-44.408-46.028Q-43.278-46.028-42.716-46.604L-42.571-46.604Q-42.536-46.604-42.503-46.571Q-42.470-46.538-42.470-46.503L-42.470-41.221Q-42.470-40.926-41.318-40.926",[1743],[1724,3802,3804],{"transform":3803},"translate(23.413 -13.299)",[1729,3805],{"d":3806,"fill":1726,"stroke":1726,"className":3807,"style":1752},"M-41.745-40.610L-44.120-40.610Q-44.163-40.610-44.190-40.651Q-44.217-40.692-44.217-40.739L-44.194-40.840Q-44.174-40.891-44.096-40.907Q-43.530-40.907-43.330-40.946Q-43.151-41.001-43.112-41.212L-42.178-44.922Q-42.674-44.602-43.135-44.602Q-43.190-44.602-43.227-44.635Q-43.264-44.669-43.264-44.731L-43.233-44.833Q-43.225-44.880-43.147-44.899Q-42.686-44.899-42.282-45.182Q-41.877-45.465-41.577-45.899Q-41.565-45.911-41.506-45.930L-41.455-45.930Q-41.354-45.903-41.354-45.809L-42.522-41.153Q-42.526-41.141-42.528-41.122Q-42.530-41.102-42.532-41.083Q-42.534-41.063-42.538-41.051Q-42.538-40.969-42.455-40.946Q-42.362-40.926-42.170-40.917Q-41.979-40.907-41.721-40.907Q-41.623-40.876-41.623-40.786L-41.651-40.680Q-41.659-40.626-41.745-40.610",[1743],[1729,3809],{"fill":750,"d":3810},"M-5.391-29.229H17.37V-51.99H-5.391Z",[1724,3812,3814],{"transform":3813},"translate(48.902 2.9)",[1729,3815],{"d":3816,"fill":1726,"stroke":1726,"className":3817,"style":1744},"M-44.324-41.331L-44.368-41.331Q-44.166-41.014-43.779-40.856Q-43.392-40.698-42.966-40.698Q-42.430-40.698-42.191-41.133Q-41.951-41.568-41.951-42.148Q-41.951-42.728-42.197-43.168Q-42.443-43.607-42.975-43.607L-43.595-43.607Q-43.621-43.607-43.654-43.636Q-43.687-43.664-43.687-43.686L-43.687-43.787Q-43.687-43.818-43.658-43.842Q-43.630-43.866-43.595-43.866L-43.076-43.906Q-42.610-43.906-42.364-44.378Q-42.118-44.851-42.118-45.369Q-42.118-45.796-42.331-46.070Q-42.544-46.345-42.966-46.345Q-43.309-46.345-43.634-46.215Q-43.959-46.086-44.144-45.831L-44.118-45.831Q-43.915-45.831-43.779-45.690Q-43.643-45.549-43.643-45.352Q-43.643-45.154-43.777-45.020Q-43.911-44.886-44.109-44.886Q-44.311-44.886-44.449-45.020Q-44.588-45.154-44.588-45.352Q-44.588-45.941-44.085-46.272Q-43.581-46.604-42.966-46.604Q-42.588-46.604-42.186-46.464Q-41.784-46.323-41.516-46.044Q-41.248-45.765-41.248-45.369Q-41.248-44.820-41.602-44.383Q-41.955-43.945-42.496-43.761Q-42.105-43.682-41.760-43.458Q-41.415-43.234-41.204-42.893Q-40.993-42.552-40.993-42.157Q-40.993-41.775-41.156-41.452Q-41.318-41.129-41.610-40.893Q-41.903-40.658-42.250-40.535Q-42.597-40.412-42.966-40.412Q-43.414-40.412-43.845-40.573Q-44.276-40.733-44.557-41.060Q-44.838-41.388-44.838-41.845Q-44.838-42.060-44.691-42.203Q-44.544-42.346-44.324-42.346Q-44.113-42.346-43.968-42.201Q-43.823-42.056-43.823-41.845Q-43.823-41.634-43.970-41.482Q-44.118-41.331-44.324-41.331",[1743],[1724,3819,3821],{"transform":3820},"translate(49.02 -13.299)",[1729,3822],{"d":3823,"fill":1726,"stroke":1726,"className":3824,"style":1752},"M-44.288-40.442L-44.448-40.442Q-44.487-40.442-44.512-40.471Q-44.538-40.501-44.538-40.540L-44.538-40.563Q-44.377-41.192-43.938-41.710Q-43.498-42.227-42.897-42.540Q-42.502-42.747-42.202-42.965Q-41.901-43.184-41.686-43.442Q-41.471-43.700-41.344-44.040Q-41.217-44.380-41.217-44.809Q-41.217-45.044-41.301-45.241Q-41.385-45.438-41.555-45.555Q-41.725-45.672-41.967-45.672Q-42.264-45.672-42.549-45.491Q-42.834-45.309-43.067-45.018Q-43.299-44.727-43.438-44.397Q-43.577-44.067-43.577-43.801Q-43.577-43.555-43.416-43.555Q-43.225-43.555-43.043-43.727Q-42.862-43.899-42.746-44.137Q-42.631-44.376-42.631-44.547Q-42.631-44.637-42.688-44.755Q-42.745-44.872-42.745-44.891Q-42.745-44.922-42.727-44.942Q-42.709-44.962-42.686-44.981Q-42.663-45.001-42.639-45.016Q-42.623-45.024-42.592-45.024Q-42.498-45.024-42.438-44.858Q-42.377-44.692-42.377-44.563Q-42.377-44.309-42.528-44.008Q-42.678-43.708-42.922-43.503Q-43.166-43.297-43.432-43.297Q-43.651-43.297-43.778-43.458Q-43.905-43.618-43.905-43.848Q-43.905-44.114-43.748-44.467Q-43.592-44.821-43.385-45.106Q-43.116-45.462-42.741-45.696Q-42.366-45.930-41.952-45.930Q-41.557-45.930-41.243-45.749Q-40.928-45.567-40.752-45.251Q-40.577-44.934-40.577-44.540Q-40.577-44.106-40.768-43.764Q-40.959-43.422-41.268-43.163Q-41.577-42.903-41.819-42.760Q-42.061-42.618-42.721-42.266Q-43.413-41.911-43.850-41.290Q-43.827-41.294-43.809-41.296Q-43.791-41.297-43.760-41.297Q-43.479-41.297-43.041-41.212L-42.745-41.145Q-42.315-41.067-42.073-41.067Q-41.862-41.067-41.666-41.188Q-41.471-41.309-41.338-41.489Q-41.186-41.692-41.120-41.946Q-41.092-42.016-41.034-42.016L-40.873-42.016Q-40.838-42.016-40.811-41.985Q-40.784-41.954-40.784-41.922Q-40.784-41.915-40.791-41.891Q-40.873-41.555-41.065-41.219Q-41.256-40.883-41.543-40.663Q-41.830-40.442-42.178-40.442Q-42.389-40.442-42.569-40.518Q-42.748-40.594-42.985-40.741Q-43.221-40.887-43.395-40.965Q-43.569-41.044-43.776-41.044Q-43.940-41.044-44.051-40.876Q-44.163-40.708-44.209-40.505Q-44.225-40.442-44.288-40.442",[1743],[1729,3826],{"fill":750,"d":3827},"M20.216-29.229h22.762V-51.99H20.216Z",[1724,3829,3831],{"transform":3830},"translate(74.51 2.9)",[1729,3832],{"d":3833,"fill":1726,"stroke":1726,"className":3834,"style":1744},"M-44.399-41.616Q-44.258-41.203-43.898-40.951Q-43.538-40.698-43.102-40.698Q-42.650-40.698-42.384-40.951Q-42.118-41.203-42.015-41.588Q-41.912-41.972-41.912-42.429Q-41.912-44.130-42.821-44.130Q-43.142-44.130-43.371-44.036Q-43.599-43.941-43.729-43.822Q-43.858-43.704-43.970-43.565Q-44.082-43.427-44.118-43.418L-44.201-43.418Q-44.245-43.418-44.276-43.449Q-44.307-43.480-44.307-43.528L-44.307-46.525Q-44.307-46.556-44.271-46.580Q-44.236-46.604-44.210-46.604L-44.170-46.604Q-43.538-46.314-42.865-46.314Q-42.193-46.314-41.551-46.604L-41.525-46.604Q-41.494-46.604-41.461-46.582Q-41.428-46.560-41.428-46.525L-41.428-46.424Q-41.428-46.420-41.437-46.402Q-41.446-46.384-41.446-46.380Q-41.762-45.985-42.232-45.763Q-42.703-45.541-43.199-45.541Q-43.608-45.541-43.990-45.651L-43.990-43.932Q-43.533-44.389-42.821-44.389Q-42.311-44.389-41.912-44.108Q-41.512-43.827-41.290-43.372Q-41.068-42.917-41.068-42.412Q-41.068-41.862-41.347-41.403Q-41.626-40.944-42.092-40.678Q-42.558-40.412-43.102-40.412Q-43.542-40.412-43.926-40.639Q-44.311-40.865-44.539-41.245Q-44.768-41.625-44.768-42.069Q-44.768-42.262-44.636-42.394Q-44.504-42.526-44.307-42.526Q-44.175-42.526-44.071-42.467Q-43.968-42.407-43.909-42.304Q-43.850-42.201-43.850-42.069Q-43.850-41.871-43.977-41.739Q-44.104-41.608-44.307-41.608Q-44.368-41.608-44.399-41.616",[1743],[1724,3836,3838],{"transform":3837},"translate(74.628 -13.299)",[1729,3839],{"d":3840,"fill":1726,"stroke":1726,"className":3841,"style":1752},"M-44.088-41.411Q-44.088-41.094-43.838-40.897Q-43.588-40.700-43.256-40.700Q-42.799-40.700-42.463-40.958Q-42.127-41.215-41.952-41.631Q-41.776-42.047-41.776-42.489Q-41.776-42.782-41.938-42.960Q-42.100-43.137-42.385-43.137L-42.827-43.137Q-42.862-43.137-42.887-43.169Q-42.913-43.200-42.913-43.235Q-42.913-43.415-42.799-43.434L-42.362-43.434Q-41.971-43.434-41.668-43.661Q-41.366-43.887-41.204-44.251Q-41.041-44.614-41.041-44.993Q-41.041-45.208-41.131-45.358Q-41.221-45.508-41.377-45.590Q-41.534-45.672-41.745-45.672Q-42.069-45.672-42.428-45.503Q-42.788-45.333-43.022-45.046Q-43.256-44.758-43.256-44.426Q-43.256-44.161-43.073-44.161Q-42.909-44.161-42.766-44.284Q-42.623-44.407-42.623-44.579Q-42.623-44.657-42.684-44.762Q-42.745-44.868-42.745-44.891Q-42.745-44.922-42.727-44.942Q-42.709-44.962-42.686-44.981Q-42.663-45.001-42.639-45.016Q-42.623-45.024-42.592-45.024Q-42.498-45.024-42.430-44.868Q-42.362-44.712-42.362-44.587Q-42.362-44.403-42.467-44.249Q-42.573-44.094-42.745-44.001Q-42.916-43.907-43.088-43.907Q-43.311-43.907-43.448-44.065Q-43.584-44.223-43.584-44.450Q-43.584-44.860-43.295-45.200Q-43.006-45.540-42.573-45.735Q-42.139-45.930-41.729-45.930Q-41.479-45.930-41.250-45.852Q-41.022-45.774-40.856-45.633Q-40.690-45.493-40.590-45.290Q-40.491-45.087-40.491-44.825Q-40.491-44.477-40.664-44.161Q-40.838-43.844-41.123-43.612Q-41.409-43.380-41.745-43.258Q-41.463-43.114-41.299-42.839Q-41.135-42.563-41.135-42.235Q-41.135-41.848-41.325-41.518Q-41.514-41.188-41.823-40.948Q-42.131-40.708-42.522-40.575Q-42.913-40.442-43.272-40.442Q-43.580-40.442-43.848-40.569Q-44.116-40.696-44.274-40.934Q-44.432-41.172-44.432-41.481Q-44.432-41.731-44.327-41.919Q-44.221-42.106-43.987-42.106Q-43.858-42.106-43.774-42.028Q-43.690-41.950-43.690-41.833Q-43.690-41.727-43.745-41.628Q-43.799-41.528-43.891-41.469Q-43.983-41.411-44.088-41.411",[1743],[1729,3843],{"fill":750,"d":3844},"M45.824-29.229h22.762V-51.99H45.824Z",[1724,3846,3848],{"transform":3847},"translate(100.117 2.9)",[1729,3849],{"d":3850,"fill":1726,"stroke":1726,"className":3851,"style":1744},"M-41.318-40.610L-44.768-40.610L-44.768-40.843Q-44.768-40.856-44.737-40.887L-43.283-42.464Q-42.817-42.961-42.564-43.266Q-42.311-43.572-42.120-43.983Q-41.929-44.394-41.929-44.833Q-41.929-45.422-42.252-45.855Q-42.575-46.288-43.155-46.288Q-43.419-46.288-43.665-46.178Q-43.911-46.068-44.087-45.881Q-44.263-45.694-44.359-45.444L-44.280-45.444Q-44.078-45.444-43.935-45.308Q-43.792-45.172-43.792-44.956Q-43.792-44.750-43.935-44.611Q-44.078-44.473-44.280-44.473Q-44.482-44.473-44.625-44.616Q-44.768-44.758-44.768-44.956Q-44.768-45.418-44.531-45.791Q-44.293-46.165-43.893-46.384Q-43.494-46.604-43.045-46.604Q-42.522-46.604-42.068-46.389Q-41.613-46.173-41.340-45.774Q-41.068-45.374-41.068-44.833Q-41.068-44.438-41.239-44.084Q-41.411-43.730-41.676-43.451Q-41.942-43.172-42.393-42.787Q-42.843-42.403-42.922-42.328L-43.946-41.366L-43.129-41.366Q-42.478-41.366-42.041-41.377Q-41.604-41.388-41.573-41.410Q-41.503-41.493-41.448-41.733Q-41.393-41.972-41.353-42.240L-41.068-42.240",[1743],[1724,3853,3855],{"transform":3854},"translate(100.235 -14.076)",[1729,3856],{"d":3857,"fill":1726,"stroke":1726,"className":3858,"style":1752},"M-44.705-40.610Q-44.768-40.610-44.842-40.731Q-44.858-40.762-44.858-40.778Q-44.858-40.809-44.842-40.825Q-44.713-41.005-44.522-41.075Q-44.264-41.278-44.002-41.540Q-43.678-41.856-43.393-42.235Q-43.120-42.598-42.879-43.018Q-42.639-43.438-42.463-43.837Q-42.288-44.235-42.120-44.741Q-41.952-45.247-41.850-45.665Q-41.827-45.782-41.731-45.856Q-41.635-45.930-41.514-45.930Q-41.405-45.930-41.334-45.864Q-41.264-45.797-41.264-45.688Q-41.264-45.462-41.651-44.450Q-42.084-43.380-42.776-42.442Q-43.057-42.075-43.329-41.778Q-43.600-41.481-43.952-41.169L-43.690-41.169Q-43.506-41.169-43.334-41.130Q-43.163-41.090-42.985-41.030Q-42.807-40.969-42.600-40.899L-42.256-42.282Q-42.225-42.399-42.131-42.473Q-42.038-42.547-41.920-42.547Q-41.819-42.547-41.746-42.479Q-41.674-42.411-41.674-42.305Q-41.674-42.251-41.682-42.227L-42.049-40.770Q-42.010-40.762-41.928-40.762Q-41.612-40.762-41.330-40.883L-41.303-40.883Q-41.272-40.883-41.246-40.864Q-41.221-40.844-41.198-40.811Q-41.174-40.778-41.164-40.762Q-41.155-40.747-41.155-40.715Q-41.155-40.614-41.471-40.540Q-41.788-40.465-41.952-40.465Q-42.065-40.465-42.120-40.473L-42.409-39.321Q-42.440-39.208-42.532-39.133Q-42.623-39.059-42.745-39.059Q-42.846-39.059-42.920-39.124Q-42.995-39.188-42.995-39.297Q-42.995-39.344-42.987-39.380L-42.674-40.610Q-42.842-40.669-43.024-40.731Q-43.205-40.794-43.375-40.835Q-43.545-40.876-43.721-40.876Q-44.186-40.876-44.401-40.809Q-44.635-40.610-44.705-40.610",[1743],[1729,3860],{"fill":750,"d":3861},"M71.431-29.229h22.762V-51.99H71.431Z",[1724,3863,3865],{"transform":3864},"translate(125.725 2.9)",[1729,3866],{"d":3867,"fill":1726,"stroke":1726,"className":3868,"style":1744},"M-42.527-42.087L-44.966-42.087L-44.966-42.403L-42.140-46.551Q-42.096-46.604-42.030-46.604L-41.876-46.604Q-41.837-46.604-41.804-46.571Q-41.771-46.538-41.771-46.494L-41.771-42.403L-40.870-42.403L-40.870-42.087L-41.771-42.087L-41.771-41.221Q-41.771-40.926-40.870-40.926L-40.870-40.610L-43.423-40.610L-43.423-40.926Q-43.063-40.926-42.795-40.981Q-42.527-41.036-42.527-41.221L-42.527-42.087M-42.470-45.576L-44.632-42.403L-42.470-42.403",[1743],[1724,3870,3872],{"transform":3871},"translate(125.843 -13.299)",[1729,3873],{"d":3874,"fill":1726,"stroke":1726,"className":3875,"style":1752},"M-44.338-41.563Q-44.338-41.848-44.231-42.057Q-44.123-42.266-43.866-42.266Q-43.733-42.266-43.643-42.186Q-43.553-42.106-43.553-41.977Q-43.553-41.801-43.688-41.671Q-43.823-41.540-43.995-41.540Q-43.995-41.188-43.764-40.952Q-43.534-40.715-43.186-40.715Q-42.756-40.715-42.409-41.020Q-42.061-41.325-41.889-41.755Q-41.780-42.028-41.698-42.381Q-41.616-42.735-41.616-42.993Q-41.616-43.282-41.746-43.495Q-41.877-43.708-42.147-43.708Q-42.487-43.708-42.797-43.553Q-43.108-43.399-43.346-43.122Q-43.362-43.094-43.416-43.083L-43.514-43.083Q-43.608-43.114-43.608-43.212L-42.944-45.868Q-42.932-45.930-42.850-45.930L-42.834-45.930Q-42.819-45.922-42.811-45.922Q-42.354-45.672-41.768-45.672Q-41.190-45.672-40.584-45.930L-40.561-45.930Q-40.518-45.930-40.491-45.903Q-40.463-45.876-40.463-45.833Q-40.463-45.735-40.514-45.700Q-40.737-45.493-41-45.342Q-41.264-45.192-41.561-45.108Q-41.858-45.024-42.147-45.024Q-42.471-45.024-42.784-45.122L-43.163-43.626Q-42.948-43.782-42.674-43.872Q-42.401-43.962-42.135-43.962Q-41.866-43.962-41.655-43.862Q-41.444-43.762-41.295-43.583Q-41.147-43.403-41.071-43.176Q-40.995-42.950-40.995-42.680Q-40.995-42.118-41.303-41.600Q-41.612-41.083-42.123-40.762Q-42.635-40.442-43.202-40.442Q-43.694-40.442-44.016-40.758Q-44.338-41.075-44.338-41.563",[1743],[1729,3877],{"fill":750,"d":3878},"M97.039-29.229H119.8V-51.99H97.039Z",[1724,3880,3882],{"transform":3881},"translate(151.332 2.9)",[1729,3883],{"d":3884,"fill":1726,"stroke":1726,"className":3885,"style":1744},"M-42.913-40.412Q-43.647-40.412-44.078-40.893Q-44.509-41.375-44.673-42.067Q-44.838-42.759-44.838-43.506Q-44.838-44.235-44.546-44.958Q-44.254-45.681-43.700-46.143Q-43.146-46.604-42.399-46.604Q-41.903-46.604-41.567-46.338Q-41.230-46.072-41.230-45.589Q-41.230-45.409-41.358-45.281Q-41.485-45.154-41.661-45.154Q-41.841-45.154-41.971-45.279Q-42.100-45.404-42.100-45.589Q-42.100-45.703-42.043-45.807Q-41.986-45.910-41.885-45.969Q-41.784-46.028-41.661-46.028Q-41.657-46.028-41.652-46.026Q-41.648-46.024-41.643-46.020Q-41.758-46.187-41.966-46.266Q-42.175-46.345-42.399-46.345Q-42.843-46.345-43.201-46.044Q-43.559-45.743-43.748-45.290Q-43.981-44.684-43.981-43.651Q-43.810-44.016-43.509-44.244Q-43.208-44.473-42.821-44.473Q-42.417-44.473-42.072-44.306Q-41.727-44.139-41.490-43.858Q-41.252-43.576-41.123-43.214Q-40.993-42.851-40.993-42.447Q-40.993-41.902-41.237-41.436Q-41.481-40.970-41.920-40.691Q-42.360-40.412-42.913-40.412M-42.913-40.698Q-42.452-40.698-42.217-40.955Q-41.982-41.212-41.916-41.586Q-41.850-41.959-41.850-42.429L-41.850-42.464Q-41.850-42.952-41.907-43.317Q-41.964-43.682-42.193-43.945Q-42.421-44.209-42.865-44.209Q-43.234-44.209-43.485-43.965Q-43.735-43.721-43.850-43.357Q-43.964-42.992-43.964-42.645Q-43.964-42.526-43.955-42.464Q-43.955-42.447-43.957-42.436Q-43.959-42.425-43.964-42.412Q-43.964-41.761-43.726-41.230Q-43.489-40.698-42.913-40.698",[1743],[1724,3887,3889],{"transform":3888},"translate(151.45 -13.299)",[1729,3890],{"d":3891,"fill":1726,"stroke":1726,"className":3892,"style":1752},"M-43.057-40.442Q-43.655-40.442-43.940-40.876Q-44.225-41.309-44.225-41.938Q-44.225-42.383-44.116-42.891Q-44.006-43.399-43.811-43.858Q-43.616-44.317-43.338-44.688Q-43.092-45.016-42.768-45.303Q-42.444-45.590-42.067-45.760Q-41.690-45.930-41.295-45.930Q-41.077-45.930-40.881-45.864Q-40.686-45.797-40.567-45.649Q-40.448-45.501-40.448-45.274Q-40.448-45.044-40.559-44.883Q-40.670-44.723-40.889-44.723Q-41.010-44.723-41.098-44.799Q-41.186-44.876-41.186-44.993Q-41.186-45.153-41.075-45.272Q-40.963-45.391-40.811-45.411Q-40.893-45.688-41.303-45.688Q-41.991-45.688-42.608-44.883Q-42.776-44.661-42.893-44.421Q-43.010-44.180-43.096-43.940Q-43.182-43.700-43.264-43.387Q-43.038-43.684-42.745-43.860Q-42.452-44.036-42.120-44.036Q-41.846-44.036-41.625-43.938Q-41.405-43.840-41.243-43.661Q-41.080-43.481-40.996-43.255Q-40.913-43.028-40.913-42.755Q-40.913-42.333-41.079-41.922Q-41.245-41.512-41.547-41.172Q-41.850-40.833-42.239-40.637Q-42.627-40.442-43.057-40.442M-43.034-40.715Q-42.780-40.715-42.553-40.837Q-42.327-40.958-42.161-41.163Q-41.995-41.368-41.897-41.618Q-41.834-41.774-41.746-42.079Q-41.659-42.383-41.606-42.655Q-41.553-42.926-41.553-43.090Q-41.553-43.294-41.623-43.448Q-41.694-43.602-41.834-43.690Q-41.975-43.778-42.178-43.778Q-42.643-43.778-42.973-43.391Q-43.303-43.005-43.467-42.458Q-43.631-41.911-43.631-41.458Q-43.631-41.157-43.477-40.936Q-43.323-40.715-43.034-40.715",[1743],[1729,3894],{"fill":750,"stroke":1823,"d":3895,"style":1963},"M20.074-29.087v-23.046h74.261v23.046Zm74.261-23.046",[1724,3897,3898],{"fill":1823,"stroke":1823},[1724,3899,3900,3907,3913,3919,3925,3931,3937,3943,3949,3955,3961],{"fill":1823,"stroke":750,"fontSize":1832},[1724,3901,3903],{"transform":3902},"translate(65.196 -22.327)",[1729,3904],{"d":3905,"fill":1823,"stroke":1823,"className":3906,"style":1752},"M-43.401-40.641L-44.471-43.497Q-44.538-43.676-44.668-43.719Q-44.799-43.762-45.057-43.762L-45.057-44.059L-43.377-44.059L-43.377-43.762Q-43.827-43.762-43.827-43.563Q-43.823-43.547-43.821-43.530Q-43.819-43.512-43.819-43.497L-43.026-41.403L-42.315-43.313Q-42.350-43.407-42.350-43.452Q-42.350-43.497-42.385-43.497Q-42.452-43.676-42.582-43.719Q-42.713-43.762-42.967-43.762L-42.967-44.059L-41.377-44.059L-41.377-43.762Q-41.827-43.762-41.827-43.563Q-41.823-43.544-41.821-43.526Q-41.819-43.508-41.819-43.497L-40.987-41.282L-40.233-43.282Q-40.209-43.340-40.209-43.411Q-40.209-43.571-40.346-43.667Q-40.483-43.762-40.651-43.762L-40.651-44.059L-39.264-44.059L-39.264-43.762Q-39.498-43.762-39.676-43.635Q-39.854-43.508-39.936-43.282L-40.920-40.641Q-40.975-40.532-41.088-40.532L-41.147-40.532Q-41.260-40.532-41.303-40.641L-42.163-42.915L-43.018-40.641Q-43.057-40.532-43.178-40.532L-43.233-40.532Q-43.346-40.532-43.401-40.641M-36.991-40.610L-38.768-40.610L-38.768-40.907Q-38.495-40.907-38.327-40.954Q-38.159-41.001-38.159-41.169L-38.159-43.305Q-38.159-43.520-38.215-43.616Q-38.272-43.712-38.385-43.733Q-38.498-43.755-38.745-43.755L-38.745-44.051L-37.545-44.137L-37.545-41.169Q-37.545-41.001-37.399-40.954Q-37.252-40.907-36.991-40.907L-36.991-40.610M-38.432-45.532Q-38.432-45.723-38.297-45.854Q-38.163-45.985-37.967-45.985Q-37.846-45.985-37.743-45.922Q-37.639-45.860-37.577-45.756Q-37.514-45.653-37.514-45.532Q-37.514-45.337-37.645-45.202Q-37.776-45.067-37.967-45.067Q-38.166-45.067-38.299-45.200Q-38.432-45.333-38.432-45.532M-34.561-40.610L-36.416-40.610L-36.416-40.907Q-36.143-40.907-35.975-40.954Q-35.807-41.001-35.807-41.169L-35.807-43.305Q-35.807-43.520-35.870-43.616Q-35.932-43.712-36.051-43.733Q-36.170-43.755-36.416-43.755L-36.416-44.051L-35.225-44.137L-35.225-43.403Q-35.112-43.618-34.918-43.786Q-34.725-43.954-34.487-44.046Q-34.248-44.137-33.995-44.137Q-32.827-44.137-32.827-43.059L-32.827-41.169Q-32.827-41.001-32.657-40.954Q-32.487-40.907-32.217-40.907L-32.217-40.610L-34.073-40.610L-34.073-40.907Q-33.799-40.907-33.631-40.954Q-33.463-41.001-33.463-41.169L-33.463-43.044Q-33.463-43.426-33.584-43.655Q-33.705-43.883-34.057-43.883Q-34.370-43.883-34.623-43.721Q-34.877-43.559-35.024-43.290Q-35.170-43.020-35.170-42.723L-35.170-41.169Q-35.170-41.001-35-40.954Q-34.830-40.907-34.561-40.907L-34.561-40.610M-29.955-40.532Q-30.436-40.532-30.844-40.776Q-31.252-41.020-31.491-41.434Q-31.729-41.848-31.729-42.337Q-31.729-42.829-31.471-43.245Q-31.213-43.661-30.782-43.899Q-30.350-44.137-29.858-44.137Q-29.237-44.137-28.788-43.700L-28.788-45.329Q-28.788-45.544-28.850-45.639Q-28.913-45.735-29.030-45.756Q-29.147-45.778-29.393-45.778L-29.393-46.075L-28.170-46.161L-28.170-41.352Q-28.170-41.141-28.108-41.046Q-28.045-40.950-27.928-40.928Q-27.811-40.907-27.561-40.907L-27.561-40.610L-28.811-40.532L-28.811-41.016Q-29.276-40.532-29.955-40.532M-29.889-40.786Q-29.549-40.786-29.256-40.977Q-28.963-41.169-28.811-41.465L-28.811-43.297Q-28.959-43.571-29.221-43.727Q-29.483-43.883-29.795-43.883Q-30.420-43.883-30.704-43.436Q-30.987-42.989-30.987-42.329Q-30.987-41.684-30.735-41.235Q-30.483-40.786-29.889-40.786M-27.053-42.305Q-27.053-42.809-26.797-43.241Q-26.541-43.672-26.106-43.924Q-25.670-44.176-25.170-44.176Q-24.784-44.176-24.442-44.032Q-24.100-43.887-23.838-43.626Q-23.577-43.364-23.434-43.028Q-23.291-42.692-23.291-42.305Q-23.291-41.813-23.555-41.403Q-23.819-40.993-24.248-40.762Q-24.678-40.532-25.170-40.532Q-25.663-40.532-26.096-40.764Q-26.530-40.997-26.791-41.405Q-27.053-41.813-27.053-42.305M-25.170-40.809Q-24.713-40.809-24.461-41.032Q-24.209-41.255-24.121-41.606Q-24.034-41.958-24.034-42.403Q-24.034-42.833-24.127-43.171Q-24.221-43.508-24.475-43.715Q-24.729-43.922-25.170-43.922Q-25.819-43.922-26.063-43.506Q-26.307-43.090-26.307-42.403Q-26.307-41.958-26.219-41.606Q-26.131-41.255-25.879-41.032Q-25.627-40.809-25.170-40.809",[1743],[1724,3908,3909],{"transform":3902},[1729,3910],{"d":3911,"fill":1823,"stroke":1823,"className":3912,"style":1752},"M-21.443-40.641L-22.513-43.497Q-22.579-43.676-22.710-43.719Q-22.841-43.762-23.099-43.762L-23.099-44.059L-21.419-44.059L-21.419-43.762Q-21.869-43.762-21.869-43.563Q-21.865-43.547-21.863-43.530Q-21.861-43.512-21.861-43.497L-21.068-41.403L-20.357-43.313Q-20.392-43.407-20.392-43.452Q-20.392-43.497-20.427-43.497Q-20.494-43.676-20.624-43.719Q-20.755-43.762-21.009-43.762L-21.009-44.059L-19.419-44.059L-19.419-43.762Q-19.869-43.762-19.869-43.563Q-19.865-43.544-19.863-43.526Q-19.861-43.508-19.861-43.497L-19.029-41.282L-18.275-43.282Q-18.251-43.340-18.251-43.411Q-18.251-43.571-18.388-43.667Q-18.525-43.762-18.693-43.762L-18.693-44.059L-17.306-44.059L-17.306-43.762Q-17.540-43.762-17.718-43.635Q-17.896-43.508-17.978-43.282L-18.962-40.641Q-19.017-40.532-19.130-40.532L-19.189-40.532Q-19.302-40.532-19.345-40.641L-20.204-42.915L-21.060-40.641Q-21.099-40.532-21.220-40.532L-21.275-40.532Q-21.388-40.532-21.443-40.641",[1743],[1724,3914,3915],{"transform":3902},[1729,3916],{"d":3917,"fill":1823,"stroke":1823,"className":3918,"style":1752},"M-12.126-38.610L-13.302-38.610L-13.302-46.610L-12.126-46.610L-12.126-46.243L-12.935-46.243L-12.935-38.977L-12.126-38.977",[1743],[1724,3920,3921],{"transform":3902},[1729,3922],{"d":3923,"fill":1823,"stroke":1823,"className":3924,"style":1752},"M-11.589-41.282Q-11.589-41.387-11.566-41.481L-10.574-45.458Q-10.535-45.645-10.535-45.672Q-10.535-45.778-11.031-45.778Q-11.124-45.809-11.124-45.907L-11.101-46.008Q-11.093-46.055-11.011-46.075L-9.910-46.161Q-9.867-46.161-9.828-46.130Q-9.788-46.098-9.788-46.044L-10.941-41.442Q-10.980-41.196-10.980-41.145Q-10.980-40.786-10.734-40.786Q-10.558-40.786-10.443-40.956Q-10.328-41.126-10.273-41.311Q-10.218-41.497-10.148-41.786Q-10.120-41.856-10.062-41.856L-9.956-41.856Q-9.917-41.856-9.894-41.827Q-9.870-41.797-9.870-41.762Q-9.870-41.747-9.878-41.731Q-9.995-41.223-10.187-40.878Q-10.378-40.532-10.749-40.532Q-11.093-40.532-11.341-40.739Q-11.589-40.946-11.589-41.282",[1743],[1724,3926,3927],{"transform":3902},[1729,3928],{"d":3929,"fill":1823,"stroke":1823,"className":3930,"style":1752},"M-8.477-39.204Q-8.477-39.227-8.446-39.274Q-8.153-39.536-7.987-39.903Q-7.821-40.270-7.821-40.657L-7.821-40.715Q-7.949-40.610-8.117-40.610Q-8.309-40.610-8.446-40.743Q-8.582-40.876-8.582-41.075Q-8.582-41.266-8.446-41.399Q-8.309-41.532-8.117-41.532Q-7.817-41.532-7.692-41.262Q-7.567-40.993-7.567-40.657Q-7.567-40.208-7.748-39.794Q-7.930-39.380-8.270-39.083Q-8.293-39.059-8.332-39.059Q-8.379-39.059-8.428-39.104Q-8.477-39.149-8.477-39.204",[1743],[1724,3932,3933],{"transform":3902},[1729,3934],{"d":3935,"fill":1823,"stroke":1823,"className":3936,"style":1752},"M-4.828-40.786Q-4.824-40.805-4.822-40.819Q-4.820-40.833-4.820-40.856L-4.226-43.227Q-4.187-43.383-4.187-43.520Q-4.187-43.669-4.240-43.776Q-4.293-43.883-4.425-43.883Q-4.605-43.883-4.724-43.714Q-4.843-43.544-4.900-43.358Q-4.957-43.172-5.027-42.883Q-5.039-42.809-5.109-42.809L-5.210-42.809Q-5.246-42.809-5.273-42.844Q-5.300-42.880-5.300-42.907L-5.300-42.938Q-5.214-43.270-5.121-43.512Q-5.027-43.755-4.851-43.946Q-4.675-44.137-4.410-44.137Q-4.125-44.137-3.892-43.989Q-3.660-43.840-3.593-43.587Q-3.386-43.840-3.117-43.989Q-2.847-44.137-2.531-44.137Q-2.351-44.137-2.195-44.065Q-2.039-43.993-1.945-43.856Q-1.851-43.719-1.851-43.540Q-1.851-43.325-1.984-43.167Q-2.117-43.008-2.324-43.008Q-2.457-43.008-2.550-43.092Q-2.644-43.176-2.644-43.313Q-2.644-43.489-2.523-43.622Q-2.402-43.755-2.234-43.778Q-2.367-43.883-2.546-43.883Q-2.894-43.883-3.164-43.647Q-3.433-43.411-3.628-43.051L-4.187-40.817Q-4.218-40.692-4.324-40.612Q-4.429-40.532-4.554-40.532Q-4.664-40.532-4.746-40.602Q-4.828-40.672-4.828-40.786",[1743],[1724,3938,3939],{"transform":3902},[1729,3940],{"d":3941,"fill":1823,"stroke":1823,"className":3942,"style":1752},"M-0.092-38.610L-1.267-38.610L-1.267-38.977L-0.459-38.977L-0.459-46.243L-1.267-46.243L-1.267-46.610L-0.092-46.610",[1743],[1724,3944,3945],{"transform":3902},[1729,3946],{"d":3947,"fill":1823,"stroke":1823,"className":3948,"style":1752},"M9.232-41.587L3.919-41.587Q3.841-41.594 3.792-41.643Q3.744-41.692 3.744-41.770Q3.744-41.840 3.791-41.891Q3.837-41.942 3.919-41.954L9.232-41.954Q9.306-41.942 9.353-41.891Q9.400-41.840 9.400-41.770Q9.400-41.692 9.351-41.643Q9.302-41.594 9.232-41.587M9.232-43.274L3.919-43.274Q3.841-43.282 3.792-43.331Q3.744-43.380 3.744-43.458Q3.744-43.528 3.791-43.579Q3.837-43.630 3.919-43.641L9.232-43.641Q9.306-43.630 9.353-43.579Q9.400-43.528 9.400-43.458Q9.400-43.380 9.351-43.331Q9.302-43.282 9.232-43.274",[1743],[1724,3950,3951],{"transform":3902},[1729,3952],{"d":3953,"fill":1823,"stroke":1823,"className":3954,"style":1752},"M14.411-38.610L13.235-38.610L13.235-46.610L14.411-46.610L14.411-46.243L13.602-46.243L13.602-38.977L14.411-38.977L14.411-38.610M15.395-41.243Q15.587-40.969 15.942-40.842Q16.298-40.715 16.681-40.715Q17.016-40.715 17.225-40.901Q17.434-41.087 17.530-41.380Q17.626-41.672 17.626-41.985Q17.626-42.309 17.528-42.604Q17.431-42.899 17.218-43.083Q17.005-43.266 16.673-43.266L16.106-43.266Q16.075-43.266 16.046-43.296Q16.016-43.325 16.016-43.352L16.016-43.434Q16.016-43.469 16.046-43.495Q16.075-43.520 16.106-43.520L16.587-43.555Q16.872-43.555 17.069-43.760Q17.266-43.965 17.362-44.260Q17.458-44.555 17.458-44.833Q17.458-45.212 17.259-45.450Q17.059-45.688 16.681-45.688Q16.360-45.688 16.071-45.581Q15.782-45.473 15.618-45.251Q15.798-45.251 15.921-45.124Q16.044-44.997 16.044-44.825Q16.044-44.653 15.919-44.528Q15.794-44.403 15.618-44.403Q15.446-44.403 15.321-44.528Q15.196-44.653 15.196-44.825Q15.196-45.192 15.421-45.440Q15.645-45.688 15.985-45.809Q16.325-45.930 16.681-45.930Q17.028-45.930 17.391-45.809Q17.755-45.688 18.003-45.438Q18.251-45.188 18.251-44.833Q18.251-44.348 17.932-43.965Q17.614-43.583 17.138-43.411Q17.688-43.301 18.089-42.915Q18.489-42.528 18.489-41.993Q18.489-41.536 18.225-41.180Q17.962-40.825 17.540-40.633Q17.118-40.442 16.681-40.442Q16.270-40.442 15.878-40.577Q15.485-40.712 15.220-40.997Q14.954-41.282 14.954-41.700Q14.954-41.895 15.087-42.024Q15.220-42.153 15.411-42.153Q15.536-42.153 15.639-42.094Q15.743-42.036 15.806-41.930Q15.868-41.825 15.868-41.700Q15.868-41.505 15.733-41.374Q15.598-41.243 15.395-41.243",[1743],[1724,3956,3957],{"transform":3902},[1729,3958],{"d":3959,"fill":1823,"stroke":1823,"className":3960,"style":1752},"M19.678-39.204Q19.678-39.227 19.709-39.274Q20.002-39.536 20.168-39.903Q20.334-40.270 20.334-40.657L20.334-40.715Q20.206-40.610 20.038-40.610Q19.846-40.610 19.709-40.743Q19.573-40.876 19.573-41.075Q19.573-41.266 19.709-41.399Q19.846-41.532 20.038-41.532Q20.338-41.532 20.463-41.262Q20.588-40.993 20.588-40.657Q20.588-40.208 20.407-39.794Q20.225-39.380 19.885-39.083Q19.862-39.059 19.823-39.059Q19.776-39.059 19.727-39.104Q19.678-39.149 19.678-39.204",[1743],[1724,3962,3963],{"transform":3902},[1729,3964],{"d":3965,"fill":1823,"stroke":1823,"className":3966,"style":1752},"M23.472-41.489L23.409-41.489Q23.550-41.137 23.874-40.926Q24.198-40.715 24.585-40.715Q25.179-40.715 25.429-41.149Q25.679-41.583 25.679-42.219Q25.679-42.813 25.509-43.260Q25.339-43.708 24.839-43.708Q24.542-43.708 24.337-43.628Q24.132-43.547 24.030-43.456Q23.929-43.364 23.814-43.231Q23.698-43.098 23.648-43.083L23.577-43.083Q23.491-43.106 23.472-43.184L23.472-45.833Q23.503-45.930 23.577-45.930Q23.593-45.930 23.601-45.928Q23.609-45.926 23.616-45.922Q24.202-45.672 24.800-45.672Q25.382-45.672 25.999-45.930L26.023-45.930Q26.066-45.930 26.093-45.905Q26.120-45.880 26.120-45.840L26.120-45.762Q26.120-45.731 26.097-45.708Q25.800-45.356 25.378-45.159Q24.956-44.962 24.495-44.962Q24.148-44.962 23.769-45.067L23.769-43.571Q23.987-43.766 24.263-43.864Q24.538-43.962 24.839-43.962Q25.296-43.962 25.665-43.714Q26.034-43.465 26.241-43.061Q26.448-42.657 26.448-42.212Q26.448-41.723 26.193-41.315Q25.937-40.907 25.505-40.674Q25.073-40.442 24.585-40.442Q24.191-40.442 23.835-40.633Q23.480-40.825 23.269-41.159Q23.058-41.493 23.058-41.907Q23.058-42.087 23.175-42.200Q23.292-42.313 23.472-42.313Q23.589-42.313 23.681-42.260Q23.773-42.208 23.825-42.116Q23.878-42.024 23.878-41.907Q23.878-41.723 23.765-41.606Q23.652-41.489 23.472-41.489M28.237-38.610L27.062-38.610L27.062-38.977L27.870-38.977L27.870-46.243L27.062-46.243L27.062-46.610L28.237-46.610",[1743],[1724,3968,3970],{"transform":3969},"translate(-17.045 40.411)",[1729,3971],{"d":3972,"fill":1726,"stroke":1726,"className":3973,"style":1752},"M-43.170-40.532Q-43.651-40.532-44.059-40.776Q-44.467-41.020-44.705-41.434Q-44.944-41.848-44.944-42.337Q-44.944-42.829-44.686-43.245Q-44.428-43.661-43.996-43.899Q-43.565-44.137-43.073-44.137Q-42.452-44.137-42.002-43.700L-42.002-45.329Q-42.002-45.544-42.065-45.639Q-42.127-45.735-42.245-45.756Q-42.362-45.778-42.608-45.778L-42.608-46.075L-41.385-46.161L-41.385-41.352Q-41.385-41.141-41.323-41.046Q-41.260-40.950-41.143-40.928Q-41.026-40.907-40.776-40.907L-40.776-40.610L-42.026-40.532L-42.026-41.016Q-42.491-40.532-43.170-40.532M-43.104-40.786Q-42.764-40.786-42.471-40.977Q-42.178-41.169-42.026-41.465L-42.026-43.297Q-42.174-43.571-42.436-43.727Q-42.698-43.883-43.010-43.883Q-43.635-43.883-43.918-43.436Q-44.202-42.989-44.202-42.329Q-44.202-41.684-43.950-41.235Q-43.698-40.786-43.104-40.786M-40.268-42.364Q-40.268-42.844-40.036-43.260Q-39.803-43.676-39.393-43.926Q-38.983-44.176-38.506-44.176Q-37.776-44.176-37.377-43.735Q-36.979-43.294-36.979-42.563Q-36.979-42.458-37.073-42.434L-39.522-42.434L-39.522-42.364Q-39.522-41.954-39.401-41.598Q-39.280-41.243-39.008-41.026Q-38.737-40.809-38.307-40.809Q-37.944-40.809-37.647-41.038Q-37.350-41.266-37.248-41.618Q-37.241-41.665-37.155-41.680L-37.073-41.680Q-36.979-41.653-36.979-41.571Q-36.979-41.563-36.987-41.532Q-37.049-41.305-37.188-41.122Q-37.327-40.938-37.518-40.805Q-37.709-40.672-37.928-40.602Q-38.147-40.532-38.385-40.532Q-38.756-40.532-39.094-40.669Q-39.432-40.805-39.700-41.057Q-39.967-41.309-40.118-41.649Q-40.268-41.989-40.268-42.364M-39.514-42.672L-37.553-42.672Q-37.553-42.977-37.655-43.268Q-37.756-43.559-37.973-43.741Q-38.190-43.922-38.506-43.922Q-38.807-43.922-39.038-43.735Q-39.268-43.547-39.391-43.256Q-39.514-42.965-39.514-42.672M-32.272-39.059L-34.127-39.059L-34.127-39.352Q-33.858-39.352-33.690-39.397Q-33.522-39.442-33.522-39.618L-33.522-41.067Q-33.725-40.821-34.026-40.676Q-34.327-40.532-34.659-40.532Q-35.143-40.532-35.555-40.774Q-35.967-41.016-36.207-41.428Q-36.448-41.840-36.448-42.337Q-36.448-42.833-36.192-43.247Q-35.936-43.661-35.506-43.899Q-35.077-44.137-34.584-44.137Q-34.229-44.137-33.922-43.958Q-33.616-43.778-33.424-43.465L-33.135-44.137L-32.881-44.137L-32.881-39.618Q-32.881-39.442-32.713-39.397Q-32.545-39.352-32.272-39.352L-32.272-39.059M-34.600-40.786Q-34.233-40.786-33.940-41.018Q-33.647-41.251-33.498-41.610L-33.498-42.946Q-33.592-43.329-33.866-43.592Q-34.139-43.856-34.514-43.856Q-34.873-43.856-35.147-43.626Q-35.420-43.395-35.563-43.038Q-35.705-42.680-35.705-42.329Q-35.705-41.993-35.580-41.631Q-35.455-41.270-35.204-41.028Q-34.952-40.786-34.600-40.786M-31.327-41.563L-31.327-43.305Q-31.327-43.520-31.389-43.616Q-31.452-43.712-31.571-43.733Q-31.690-43.755-31.936-43.755L-31.936-44.051L-30.690-44.137L-30.690-41.587L-30.690-41.563Q-30.690-41.251-30.635-41.089Q-30.580-40.926-30.430-40.856Q-30.280-40.786-29.959-40.786Q-29.530-40.786-29.256-41.124Q-28.983-41.462-28.983-41.907L-28.983-43.305Q-28.983-43.520-29.045-43.616Q-29.108-43.712-29.227-43.733Q-29.346-43.755-29.592-43.755L-29.592-44.051L-28.346-44.137L-28.346-41.352Q-28.346-41.141-28.284-41.046Q-28.221-40.950-28.102-40.928Q-27.983-40.907-27.737-40.907L-27.737-40.610L-28.959-40.532L-28.959-41.153Q-29.127-40.864-29.409-40.698Q-29.690-40.532-30.010-40.532Q-31.327-40.532-31.327-41.563M-27.291-42.364Q-27.291-42.844-27.059-43.260Q-26.827-43.676-26.416-43.926Q-26.006-44.176-25.530-44.176Q-24.799-44.176-24.401-43.735Q-24.002-43.294-24.002-42.563Q-24.002-42.458-24.096-42.434L-26.545-42.434L-26.545-42.364Q-26.545-41.954-26.424-41.598Q-26.303-41.243-26.032-41.026Q-25.760-40.809-25.330-40.809Q-24.967-40.809-24.670-41.038Q-24.373-41.266-24.272-41.618Q-24.264-41.665-24.178-41.680L-24.096-41.680Q-24.002-41.653-24.002-41.571Q-24.002-41.563-24.010-41.532Q-24.073-41.305-24.211-41.122Q-24.350-40.938-24.541-40.805Q-24.733-40.672-24.952-40.602Q-25.170-40.532-25.409-40.532Q-25.780-40.532-26.118-40.669Q-26.455-40.805-26.723-41.057Q-26.991-41.309-27.141-41.649Q-27.291-41.989-27.291-42.364M-26.538-42.672L-24.577-42.672Q-24.577-42.977-24.678-43.268Q-24.780-43.559-24.996-43.741Q-25.213-43.922-25.530-43.922Q-25.830-43.922-26.061-43.735Q-26.291-43.547-26.414-43.256Q-26.538-42.965-26.538-42.672M-23.034-41.075Q-23.034-41.258-22.897-41.395Q-22.760-41.532-22.569-41.532Q-22.377-41.532-22.245-41.399Q-22.112-41.266-22.112-41.075Q-22.112-40.876-22.245-40.743Q-22.377-40.610-22.569-40.610Q-22.760-40.610-22.897-40.747Q-23.034-40.883-23.034-41.075M-23.034-43.602Q-23.034-43.786-22.897-43.922Q-22.760-44.059-22.569-44.059Q-22.377-44.059-22.245-43.926Q-22.112-43.794-22.112-43.602Q-22.112-43.403-22.245-43.270Q-22.377-43.137-22.569-43.137Q-22.760-43.137-22.897-43.274Q-23.034-43.411-23.034-43.602",[1743],[1724,3975,3977,3980],{"fill":1823,"stroke":1823,"style":3976},"fill-opacity:.18;stroke-width:.8",[1729,3978],{"d":3979},"M-28.438 9.182h22.762V-13.58h-22.762Z",[1724,3981,3983],{"transform":3982},"translate(25.856 41.311)",[1729,3984],{"d":3833,"fill":1726,"stroke":1726,"className":3985,"style":1744},[1743],[1729,3987],{"fill":750,"d":3988},"M-.27 9.182h22.762V-13.58H-.27Z",[1724,3990,3992],{"transform":3991},"translate(54.024 41.311)",[1729,3993],{"d":3867,"fill":1726,"stroke":1726,"className":3994,"style":1744},[1743],[1724,3996,3997],{"fill":1823,"stroke":1823},[1724,3998,3999,4006],{"fill":1823,"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4000,4002],{"transform":4001},"translate(19.193 57.834)",[1729,4003],{"d":4004,"fill":1823,"stroke":1823,"className":4005,"style":1752},"M-42.920-40.610L-44.905-40.610L-44.905-40.907Q-44.631-40.907-44.463-40.954Q-44.295-41.001-44.295-41.169L-44.295-43.762L-44.936-43.762L-44.936-44.059L-44.295-44.059L-44.295-44.993Q-44.295-45.258-44.178-45.495Q-44.061-45.731-43.868-45.895Q-43.674-46.059-43.426-46.151Q-43.178-46.243-42.913-46.243Q-42.627-46.243-42.403-46.085Q-42.178-45.926-42.178-45.649Q-42.178-45.493-42.284-45.383Q-42.389-45.274-42.553-45.274Q-42.709-45.274-42.819-45.383Q-42.928-45.493-42.928-45.649Q-42.928-45.856-42.768-45.962Q-42.866-45.985-42.959-45.985Q-43.190-45.985-43.362-45.829Q-43.534-45.672-43.620-45.436Q-43.705-45.200-43.705-44.977L-43.705-44.059L-42.737-44.059L-42.737-43.762L-43.682-43.762L-43.682-41.169Q-43.682-41.001-43.455-40.954Q-43.229-40.907-42.920-40.907L-42.920-40.610M-40.385-40.610L-42.366-40.610L-42.366-40.907Q-42.096-40.907-41.928-40.952Q-41.760-40.997-41.760-41.169L-41.760-43.305Q-41.760-43.520-41.823-43.616Q-41.885-43.712-42.002-43.733Q-42.120-43.755-42.366-43.755L-42.366-44.051L-41.198-44.137L-41.198-43.352Q-41.120-43.563-40.967-43.749Q-40.815-43.934-40.616-44.036Q-40.416-44.137-40.190-44.137Q-39.944-44.137-39.752-43.993Q-39.561-43.848-39.561-43.618Q-39.561-43.462-39.666-43.352Q-39.772-43.243-39.928-43.243Q-40.084-43.243-40.194-43.352Q-40.303-43.462-40.303-43.618Q-40.303-43.778-40.198-43.883Q-40.522-43.883-40.737-43.655Q-40.952-43.426-41.047-43.087Q-41.143-42.747-41.143-42.442L-41.143-41.169Q-41.143-41.001-40.916-40.954Q-40.690-40.907-40.385-40.907L-40.385-40.610M-39.080-42.305Q-39.080-42.809-38.825-43.241Q-38.569-43.672-38.133-43.924Q-37.698-44.176-37.198-44.176Q-36.811-44.176-36.469-44.032Q-36.127-43.887-35.866-43.626Q-35.604-43.364-35.461-43.028Q-35.319-42.692-35.319-42.305Q-35.319-41.813-35.582-41.403Q-35.846-40.993-36.276-40.762Q-36.705-40.532-37.198-40.532Q-37.690-40.532-38.123-40.764Q-38.557-40.997-38.819-41.405Q-39.080-41.813-39.080-42.305M-37.198-40.809Q-36.741-40.809-36.489-41.032Q-36.237-41.255-36.149-41.606Q-36.061-41.958-36.061-42.403Q-36.061-42.833-36.155-43.171Q-36.248-43.508-36.502-43.715Q-36.756-43.922-37.198-43.922Q-37.846-43.922-38.090-43.506Q-38.334-43.090-38.334-42.403Q-38.334-41.958-38.246-41.606Q-38.159-41.255-37.907-41.032Q-37.655-40.809-37.198-40.809M-32.905-40.610L-34.760-40.610L-34.760-40.907Q-34.487-40.907-34.319-40.954Q-34.151-41.001-34.151-41.169L-34.151-43.305Q-34.151-43.520-34.213-43.616Q-34.276-43.712-34.395-43.733Q-34.514-43.755-34.760-43.755L-34.760-44.051L-33.569-44.137L-33.569-43.403Q-33.455-43.618-33.262-43.786Q-33.069-43.954-32.830-44.046Q-32.592-44.137-32.338-44.137Q-31.170-44.137-31.170-43.059L-31.170-41.169Q-31.170-41.001-31-40.954Q-30.830-40.907-30.561-40.907L-30.561-40.610L-32.416-40.610L-32.416-40.907Q-32.143-40.907-31.975-40.954Q-31.807-41.001-31.807-41.169L-31.807-43.044Q-31.807-43.426-31.928-43.655Q-32.049-43.883-32.401-43.883Q-32.713-43.883-32.967-43.721Q-33.221-43.559-33.368-43.290Q-33.514-43.020-33.514-42.723L-33.514-41.169Q-33.514-41.001-33.344-40.954Q-33.174-40.907-32.905-40.907",[1743],[1724,4007,4008],{"transform":4001},[1729,4009],{"d":4010,"fill":1823,"stroke":1823,"className":4011,"style":1752},"M-29.716-41.571L-29.716-43.762L-30.419-43.762L-30.419-44.016Q-30.063-44.016-29.821-44.249Q-29.579-44.481-29.468-44.829Q-29.356-45.176-29.356-45.532L-29.075-45.532L-29.075-44.059L-27.899-44.059L-27.899-43.762L-29.075-43.762L-29.075-41.587Q-29.075-41.266-28.956-41.038Q-28.837-40.809-28.556-40.809Q-28.376-40.809-28.259-40.932Q-28.142-41.055-28.089-41.235Q-28.036-41.415-28.036-41.587L-28.036-42.059L-27.755-42.059L-27.755-41.571Q-27.755-41.317-27.860-41.077Q-27.966-40.837-28.163-40.684Q-28.360-40.532-28.618-40.532Q-28.934-40.532-29.186-40.655Q-29.438-40.778-29.577-41.012Q-29.716-41.247-29.716-41.571",[1743],[1724,4013,4014],{"fill":1823,"stroke":1823},[1724,4015,4017],{"transform":4016},"translate(16.953 71.652)",[1729,4018],{"d":4019,"fill":1823,"stroke":1823,"className":4020,"style":1752},"M-42.608-38.618Q-43.221-39.075-43.623-39.710Q-44.026-40.344-44.221-41.090Q-44.416-41.837-44.416-42.610Q-44.416-43.383-44.221-44.130Q-44.026-44.876-43.623-45.510Q-43.221-46.145-42.608-46.602Q-42.596-46.606-42.588-46.608Q-42.580-46.610-42.569-46.610L-42.491-46.610Q-42.452-46.610-42.426-46.583Q-42.401-46.555-42.401-46.512Q-42.401-46.462-42.432-46.442Q-42.940-45.989-43.262-45.366Q-43.584-44.743-43.725-44.047Q-43.866-43.352-43.866-42.610Q-43.866-41.876-43.727-41.176Q-43.588-40.477-43.264-39.852Q-42.940-39.227-42.432-38.778Q-42.401-38.758-42.401-38.708Q-42.401-38.665-42.426-38.637Q-42.452-38.610-42.491-38.610L-42.569-38.610Q-42.577-38.614-42.586-38.616Q-42.596-38.618-42.608-38.618M-39.752-40.610L-41.608-40.610L-41.608-40.907Q-41.334-40.907-41.166-40.954Q-40.998-41.001-40.998-41.169L-40.998-43.305Q-40.998-43.520-41.061-43.616Q-41.123-43.712-41.243-43.733Q-41.362-43.755-41.608-43.755L-41.608-44.051L-40.416-44.137L-40.416-43.403Q-40.303-43.618-40.110-43.786Q-39.916-43.954-39.678-44.046Q-39.440-44.137-39.186-44.137Q-38.225-44.137-38.049-43.426Q-37.866-43.755-37.538-43.946Q-37.209-44.137-36.830-44.137Q-35.655-44.137-35.655-43.059L-35.655-41.169Q-35.655-41.001-35.487-40.954Q-35.319-40.907-35.049-40.907L-35.049-40.610L-36.905-40.610L-36.905-40.907Q-36.631-40.907-36.463-40.952Q-36.295-40.997-36.295-41.169L-36.295-43.044Q-36.295-43.430-36.420-43.657Q-36.545-43.883-36.897-43.883Q-37.202-43.883-37.457-43.721Q-37.713-43.559-37.862-43.290Q-38.010-43.020-38.010-42.723L-38.010-41.169Q-38.010-41.001-37.840-40.954Q-37.670-40.907-37.401-40.907L-37.401-40.610L-39.256-40.610L-39.256-40.907Q-38.983-40.907-38.815-40.954Q-38.647-41.001-38.647-41.169L-38.647-43.044Q-38.647-43.430-38.772-43.657Q-38.897-43.883-39.248-43.883Q-39.553-43.883-39.809-43.721Q-40.065-43.559-40.213-43.290Q-40.362-43.020-40.362-42.723L-40.362-41.169Q-40.362-41.001-40.192-40.954Q-40.022-40.907-39.752-40.907L-39.752-40.610M-34.506-41.442Q-34.506-41.926-34.104-42.221Q-33.702-42.516-33.151-42.635Q-32.600-42.755-32.108-42.755L-32.108-43.044Q-32.108-43.270-32.223-43.477Q-32.338-43.684-32.536-43.803Q-32.733-43.922-32.963-43.922Q-33.389-43.922-33.674-43.817Q-33.604-43.790-33.557-43.735Q-33.510-43.680-33.485-43.610Q-33.459-43.540-33.459-43.465Q-33.459-43.360-33.510-43.268Q-33.561-43.176-33.653-43.126Q-33.745-43.075-33.850-43.075Q-33.955-43.075-34.047-43.126Q-34.139-43.176-34.190-43.268Q-34.241-43.360-34.241-43.465Q-34.241-43.883-33.852-44.030Q-33.463-44.176-32.963-44.176Q-32.631-44.176-32.278-44.046Q-31.924-43.915-31.696-43.661Q-31.467-43.407-31.467-43.059L-31.467-41.258Q-31.467-41.126-31.395-41.016Q-31.323-40.907-31.194-40.907Q-31.069-40.907-31-41.012Q-30.932-41.118-30.932-41.258L-30.932-41.770L-30.651-41.770L-30.651-41.258Q-30.651-41.055-30.768-40.897Q-30.885-40.739-31.067-40.655Q-31.248-40.571-31.452-40.571Q-31.682-40.571-31.834-40.743Q-31.987-40.915-32.018-41.145Q-32.178-40.864-32.487-40.698Q-32.795-40.532-33.147-40.532Q-33.659-40.532-34.082-40.755Q-34.506-40.977-34.506-41.442M-33.819-41.442Q-33.819-41.157-33.592-40.971Q-33.366-40.786-33.073-40.786Q-32.827-40.786-32.602-40.903Q-32.377-41.020-32.243-41.223Q-32.108-41.426-32.108-41.680L-32.108-42.512Q-32.373-42.512-32.659-42.458Q-32.944-42.403-33.215-42.274Q-33.487-42.145-33.653-41.938Q-33.819-41.731-33.819-41.442M-28.971-40.610L-30.467-40.610L-30.467-40.907Q-29.834-40.907-29.413-41.387L-28.643-42.297L-29.635-43.497Q-29.791-43.676-29.954-43.719Q-30.116-43.762-30.420-43.762L-30.420-44.059L-28.733-44.059L-28.733-43.762Q-28.827-43.762-28.903-43.719Q-28.979-43.676-28.979-43.587Q-28.979-43.544-28.948-43.497L-28.291-42.708L-27.811-43.282Q-27.694-43.419-27.694-43.555Q-27.694-43.645-27.745-43.704Q-27.795-43.762-27.877-43.762L-27.877-44.059L-26.389-44.059L-26.389-43.762Q-27.026-43.762-27.436-43.282L-28.116-42.481L-27.030-41.169Q-26.870-40.993-26.709-40.950Q-26.549-40.907-26.245-40.907L-26.245-40.610L-27.932-40.610L-27.932-40.907Q-27.842-40.907-27.764-40.950Q-27.686-40.993-27.686-41.083Q-27.686-41.106-27.717-41.169L-28.459-42.075L-29.045-41.387Q-29.163-41.251-29.163-41.114Q-29.163-41.028-29.112-40.967Q-29.061-40.907-28.971-40.907L-28.971-40.610M-25.475-38.610L-25.557-38.610Q-25.592-38.610-25.618-38.639Q-25.643-38.669-25.643-38.708Q-25.643-38.758-25.612-38.778Q-25.225-39.114-24.942-39.563Q-24.659-40.012-24.493-40.512Q-24.327-41.012-24.252-41.530Q-24.178-42.047-24.178-42.610Q-24.178-43.180-24.252-43.696Q-24.327-44.212-24.493-44.708Q-24.659-45.204-24.938-45.651Q-25.217-46.098-25.612-46.442Q-25.643-46.462-25.643-46.512Q-25.643-46.551-25.618-46.581Q-25.592-46.610-25.557-46.610L-25.475-46.610Q-25.463-46.610-25.454-46.608Q-25.444-46.606-25.436-46.602Q-24.823-46.145-24.420-45.510Q-24.018-44.876-23.823-44.130Q-23.627-43.383-23.627-42.610Q-23.627-41.837-23.823-41.090Q-24.018-40.344-24.420-39.710Q-24.823-39.075-25.436-38.618Q-25.448-38.618-25.455-38.616Q-25.463-38.614-25.475-38.610",[1743],[1724,4022,4023,4030],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4024,4026],{"transform":4025},"translate(47.836 57.834)",[1729,4027],{"d":4028,"fill":1726,"stroke":1726,"className":4029,"style":1752},"M-44.073-40.610L-44.354-40.610L-44.354-45.329Q-44.354-45.544-44.416-45.639Q-44.479-45.735-44.596-45.756Q-44.713-45.778-44.959-45.778L-44.959-46.075L-43.737-46.161L-43.737-43.672Q-43.260-44.137-42.561-44.137Q-42.080-44.137-41.672-43.893Q-41.264-43.649-41.028-43.235Q-40.791-42.821-40.791-42.337Q-40.791-41.962-40.940-41.633Q-41.088-41.305-41.358-41.053Q-41.627-40.801-41.971-40.667Q-42.315-40.532-42.674-40.532Q-42.995-40.532-43.293-40.680Q-43.592-40.829-43.799-41.090L-44.073-40.610M-43.713-43.282L-43.713-41.442Q-43.561-41.145-43.301-40.965Q-43.041-40.786-42.729-40.786Q-42.303-40.786-42.036-41.005Q-41.768-41.223-41.653-41.569Q-41.538-41.915-41.538-42.337Q-41.538-42.985-41.786-43.434Q-42.034-43.883-42.631-43.883Q-42.967-43.883-43.256-43.725Q-43.545-43.567-43.713-43.282M-40.170-41.442Q-40.170-41.926-39.768-42.221Q-39.366-42.516-38.815-42.635Q-38.264-42.755-37.772-42.755L-37.772-43.044Q-37.772-43.270-37.887-43.477Q-38.002-43.684-38.200-43.803Q-38.397-43.922-38.627-43.922Q-39.053-43.922-39.338-43.817Q-39.268-43.790-39.221-43.735Q-39.174-43.680-39.149-43.610Q-39.123-43.540-39.123-43.465Q-39.123-43.360-39.174-43.268Q-39.225-43.176-39.317-43.126Q-39.409-43.075-39.514-43.075Q-39.620-43.075-39.711-43.126Q-39.803-43.176-39.854-43.268Q-39.905-43.360-39.905-43.465Q-39.905-43.883-39.516-44.030Q-39.127-44.176-38.627-44.176Q-38.295-44.176-37.942-44.046Q-37.588-43.915-37.360-43.661Q-37.131-43.407-37.131-43.059L-37.131-41.258Q-37.131-41.126-37.059-41.016Q-36.987-40.907-36.858-40.907Q-36.733-40.907-36.664-41.012Q-36.596-41.118-36.596-41.258L-36.596-41.770L-36.315-41.770L-36.315-41.258Q-36.315-41.055-36.432-40.897Q-36.549-40.739-36.731-40.655Q-36.913-40.571-37.116-40.571Q-37.346-40.571-37.498-40.743Q-37.651-40.915-37.682-41.145Q-37.842-40.864-38.151-40.698Q-38.459-40.532-38.811-40.532Q-39.323-40.532-39.746-40.755Q-40.170-40.977-40.170-41.442M-39.483-41.442Q-39.483-41.157-39.256-40.971Q-39.030-40.786-38.737-40.786Q-38.491-40.786-38.266-40.903Q-38.041-41.020-37.907-41.223Q-37.772-41.426-37.772-41.680L-37.772-42.512Q-38.038-42.512-38.323-42.458Q-38.608-42.403-38.879-42.274Q-39.151-42.145-39.317-41.938Q-39.483-41.731-39.483-41.442M-35.979-42.337Q-35.979-42.833-35.729-43.258Q-35.479-43.684-35.059-43.930Q-34.639-44.176-34.139-44.176Q-33.600-44.176-33.209-44.051Q-32.819-43.926-32.819-43.512Q-32.819-43.407-32.870-43.315Q-32.920-43.223-33.012-43.172Q-33.104-43.122-33.213-43.122Q-33.319-43.122-33.411-43.172Q-33.502-43.223-33.553-43.315Q-33.604-43.407-33.604-43.512Q-33.604-43.735-33.436-43.840Q-33.659-43.899-34.131-43.899Q-34.428-43.899-34.643-43.760Q-34.858-43.622-34.989-43.391Q-35.120-43.161-35.178-42.891Q-35.237-42.622-35.237-42.337Q-35.237-41.942-35.104-41.592Q-34.971-41.243-34.700-41.026Q-34.428-40.809-34.030-40.809Q-33.655-40.809-33.379-41.026Q-33.104-41.243-33.002-41.602Q-32.987-41.665-32.924-41.665L-32.819-41.665Q-32.784-41.665-32.758-41.637Q-32.733-41.610-32.733-41.571L-32.733-41.547Q-32.866-41.067-33.250-40.799Q-33.635-40.532-34.139-40.532Q-34.502-40.532-34.836-40.669Q-35.170-40.805-35.430-41.055Q-35.690-41.305-35.834-41.641Q-35.979-41.977-35.979-42.337",[1743],[1724,4031,4032],{"transform":4025},[1729,4033],{"d":4034,"fill":1726,"stroke":1726,"className":4035,"style":1752},"M-30.648-40.610L-32.445-40.610L-32.445-40.907Q-32.176-40.907-32.008-40.952Q-31.840-40.997-31.840-41.169L-31.840-45.329Q-31.840-45.544-31.902-45.639Q-31.965-45.735-32.082-45.756Q-32.199-45.778-32.445-45.778L-32.445-46.075L-31.223-46.161L-31.223-42.395L-30.125-43.282Q-29.918-43.462-29.918-43.610Q-29.918-43.676-29.971-43.719Q-30.023-43.762-30.094-43.762L-30.094-44.059L-28.559-44.059L-28.559-43.762Q-29.090-43.762-29.688-43.282L-30.297-42.786L-29.223-41.387Q-29.086-41.212-28.979-41.104Q-28.871-40.997-28.736-40.952Q-28.602-40.907-28.375-40.907L-28.375-40.610L-30-40.610L-30-40.907Q-29.758-40.907-29.758-41.059Q-29.758-41.137-29.801-41.208Q-29.844-41.278-29.926-41.387L-30.727-42.434L-31.254-42.008L-31.254-41.169Q-31.254-41.001-31.086-40.954Q-30.918-40.907-30.648-40.907",[1743],[1724,4037,4038,4045],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4039,4041],{"transform":4040},"translate(18.842 22.752)",[1729,4042],{"d":4043,"fill":1726,"stroke":1726,"className":4044,"style":1752},"M-43.127-40.610L-44.905-40.610L-44.905-40.907Q-44.631-40.907-44.463-40.954Q-44.295-41.001-44.295-41.169L-44.295-43.305Q-44.295-43.520-44.352-43.616Q-44.409-43.712-44.522-43.733Q-44.635-43.755-44.881-43.755L-44.881-44.051L-43.682-44.137L-43.682-41.169Q-43.682-41.001-43.536-40.954Q-43.389-40.907-43.127-40.907L-43.127-40.610M-44.569-45.532Q-44.569-45.723-44.434-45.854Q-44.299-45.985-44.104-45.985Q-43.983-45.985-43.879-45.922Q-43.776-45.860-43.713-45.756Q-43.651-45.653-43.651-45.532Q-43.651-45.337-43.782-45.202Q-43.913-45.067-44.104-45.067Q-44.303-45.067-44.436-45.200Q-44.569-45.333-44.569-45.532M-40.811-40.532Q-41.291-40.532-41.700-40.776Q-42.108-41.020-42.346-41.434Q-42.584-41.848-42.584-42.337Q-42.584-42.829-42.327-43.245Q-42.069-43.661-41.637-43.899Q-41.205-44.137-40.713-44.137Q-40.092-44.137-39.643-43.700L-39.643-45.329Q-39.643-45.544-39.705-45.639Q-39.768-45.735-39.885-45.756Q-40.002-45.778-40.248-45.778L-40.248-46.075L-39.026-46.161L-39.026-41.352Q-39.026-41.141-38.963-41.046Q-38.901-40.950-38.784-40.928Q-38.666-40.907-38.416-40.907L-38.416-40.610L-39.666-40.532L-39.666-41.016Q-40.131-40.532-40.811-40.532M-40.745-40.786Q-40.405-40.786-40.112-40.977Q-39.819-41.169-39.666-41.465L-39.666-43.297Q-39.815-43.571-40.077-43.727Q-40.338-43.883-40.651-43.883Q-41.276-43.883-41.559-43.436Q-41.842-42.989-41.842-42.329Q-41.842-41.684-41.590-41.235Q-41.338-40.786-40.745-40.786M-36.522-40.610L-38.018-40.610L-38.018-40.907Q-37.385-40.907-36.963-41.387L-36.194-42.297L-37.186-43.497Q-37.342-43.676-37.504-43.719Q-37.666-43.762-37.971-43.762L-37.971-44.059L-36.284-44.059L-36.284-43.762Q-36.377-43.762-36.454-43.719Q-36.530-43.676-36.530-43.587Q-36.530-43.544-36.498-43.497L-35.842-42.708L-35.362-43.282Q-35.245-43.419-35.245-43.555Q-35.245-43.645-35.295-43.704Q-35.346-43.762-35.428-43.762L-35.428-44.059L-33.940-44.059L-33.940-43.762Q-34.577-43.762-34.987-43.282L-35.666-42.481L-34.580-41.169Q-34.420-40.993-34.260-40.950Q-34.100-40.907-33.795-40.907L-33.795-40.610L-35.483-40.610L-35.483-40.907Q-35.393-40.907-35.315-40.950Q-35.237-40.993-35.237-41.083Q-35.237-41.106-35.268-41.169L-36.010-42.075L-36.596-41.387Q-36.713-41.251-36.713-41.114Q-36.713-41.028-36.663-40.967Q-36.612-40.907-36.522-40.907",[1743],[1724,4046,4047],{"transform":4040},[1729,4048],{"d":4049,"fill":1726,"stroke":1726,"className":4050,"style":1752},"M-30.029-41.243Q-29.838-40.969-29.482-40.842Q-29.127-40.715-28.744-40.715Q-28.408-40.715-28.199-40.901Q-27.990-41.087-27.894-41.380Q-27.799-41.672-27.799-41.985Q-27.799-42.309-27.896-42.604Q-27.994-42.899-28.207-43.083Q-28.420-43.266-28.752-43.266L-29.318-43.266Q-29.349-43.266-29.379-43.296Q-29.408-43.325-29.408-43.352L-29.408-43.434Q-29.408-43.469-29.379-43.495Q-29.349-43.520-29.318-43.520L-28.838-43.555Q-28.552-43.555-28.355-43.760Q-28.158-43.965-28.062-44.260Q-27.967-44.555-27.967-44.833Q-27.967-45.212-28.166-45.450Q-28.365-45.688-28.744-45.688Q-29.064-45.688-29.353-45.581Q-29.642-45.473-29.806-45.251Q-29.627-45.251-29.504-45.124Q-29.381-44.997-29.381-44.825Q-29.381-44.653-29.506-44.528Q-29.631-44.403-29.806-44.403Q-29.978-44.403-30.103-44.528Q-30.228-44.653-30.228-44.825Q-30.228-45.192-30.004-45.440Q-29.779-45.688-29.439-45.809Q-29.099-45.930-28.744-45.930Q-28.396-45.930-28.033-45.809Q-27.670-45.688-27.422-45.438Q-27.174-45.188-27.174-44.833Q-27.174-44.348-27.492-43.965Q-27.810-43.583-28.287-43.411Q-27.736-43.301-27.336-42.915Q-26.935-42.528-26.935-41.993Q-26.935-41.536-27.199-41.180Q-27.463-40.825-27.884-40.633Q-28.306-40.442-28.744-40.442Q-29.154-40.442-29.547-40.577Q-29.939-40.712-30.205-40.997Q-30.470-41.282-30.470-41.700Q-30.470-41.895-30.338-42.024Q-30.205-42.153-30.013-42.153Q-29.888-42.153-29.785-42.094Q-29.681-42.036-29.619-41.930Q-29.556-41.825-29.556-41.700Q-29.556-41.505-29.691-41.374Q-29.826-41.243-30.029-41.243",[1743],[1724,4052,4053,4059],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4054,4056],{"transform":4055},"translate(47.01 22.752)",[1729,4057],{"d":4043,"fill":1726,"stroke":1726,"className":4058,"style":1752},[1743],[1724,4060,4061],{"transform":4055},[1729,4062],{"d":4063,"fill":1726,"stroke":1726,"className":4064,"style":1752},"M-29.982-41.489L-30.045-41.489Q-29.904-41.137-29.580-40.926Q-29.256-40.715-28.869-40.715Q-28.275-40.715-28.025-41.149Q-27.775-41.583-27.775-42.219Q-27.775-42.813-27.945-43.260Q-28.115-43.708-28.615-43.708Q-28.912-43.708-29.117-43.628Q-29.322-43.547-29.424-43.456Q-29.525-43.364-29.640-43.231Q-29.756-43.098-29.806-43.083L-29.877-43.083Q-29.963-43.106-29.982-43.184L-29.982-45.833Q-29.951-45.930-29.877-45.930Q-29.861-45.930-29.853-45.928Q-29.845-45.926-29.838-45.922Q-29.252-45.672-28.654-45.672Q-28.072-45.672-27.455-45.930L-27.431-45.930Q-27.388-45.930-27.361-45.905Q-27.334-45.880-27.334-45.840L-27.334-45.762Q-27.334-45.731-27.357-45.708Q-27.654-45.356-28.076-45.159Q-28.498-44.962-28.959-44.962Q-29.306-44.962-29.685-45.067L-29.685-43.571Q-29.467-43.766-29.191-43.864Q-28.916-43.962-28.615-43.962Q-28.158-43.962-27.789-43.714Q-27.420-43.465-27.213-43.061Q-27.006-42.657-27.006-42.212Q-27.006-41.723-27.261-41.315Q-27.517-40.907-27.949-40.674Q-28.381-40.442-28.869-40.442Q-29.263-40.442-29.619-40.633Q-29.974-40.825-30.185-41.159Q-30.396-41.493-30.396-41.907Q-30.396-42.087-30.279-42.200Q-30.162-42.313-29.982-42.313Q-29.865-42.313-29.773-42.260Q-29.681-42.208-29.629-42.116Q-29.576-42.024-29.576-41.907Q-29.576-41.723-29.689-41.606Q-29.802-41.489-29.982-41.489",[1743],[2036,4066,4068,4069,4102,4103,4118],{"className":4067},[2039],"Sliding-window maximum with a decreasing deque; window ",[415,4070,4072],{"className":4071},[418],[415,4073,4075],{"className":4074,"ariaHidden":423},[422],[415,4076,4078,4081,4084,4089,4092,4095,4099],{"className":4077},[427],[415,4079],{"className":4080,"style":485},[431],[415,4082,493],{"className":4083},[492],[415,4085,4088],{"className":4086,"style":4087},[436,437],"margin-right:0.0197em;","l",[415,4090,2082],{"className":4091},[2081],[415,4093],{"className":4094,"style":2086},[676],[415,4096,4098],{"className":4097,"style":1457},[436,437],"r",[415,4100,501],{"className":4101},[500]," over ",[415,4104,4106],{"className":4105},[418],[415,4107,4109],{"className":4108,"ariaHidden":423},[422],[415,4110,4112,4115],{"className":4111},[427],[415,4113],{"className":4114,"style":1560},[431],[415,4116,385],{"className":4117},[436,437],", deque front (in accent) is the window max",[381,4120,4121,4122,4146,4147,4162,4163,4202,4203],{},"Each index enters the deque once (one push) and leaves once (one pop, from either\nend), so across the whole stream the deque does ",[415,4123,4125],{"className":4124},[418],[415,4126,4128],{"className":4127,"ariaHidden":423},[422],[415,4129,4131,4134,4137,4140,4143],{"className":4130},[427],[415,4132],{"className":4133,"style":485},[431],[415,4135,1458],{"className":4136,"style":1457},[436,437],[415,4138,539],{"className":4139},[492],[415,4141,546],{"className":4142},[436,437],[415,4144,586],{"className":4145},[500]," work, independent of ",[415,4148,4150],{"className":4149},[418],[415,4151,4153],{"className":4152,"ariaHidden":423},[422],[415,4154,4156,4159],{"className":4155},[427],[415,4157],{"className":4158,"style":432},[431],[415,4160,439],{"className":4161,"style":438},[436,437],".\nThat beats the heap's ",[415,4164,4166],{"className":4165},[418],[415,4167,4169],{"className":4168,"ariaHidden":423},[422],[415,4170,4172,4175,4178,4181,4184,4187,4193,4196,4199],{"className":4171},[427],[415,4173],{"className":4174,"style":485},[431],[415,4176,1458],{"className":4177,"style":1457},[436,437],[415,4179,539],{"className":4180},[492],[415,4182,546],{"className":4183},[436,437],[415,4185],{"className":4186,"style":2086},[676],[415,4188,4190],{"className":4189},[3417],[415,4191,3560],{"className":4192,"style":3559},[436,3421],[415,4194],{"className":4195,"style":2086},[676],[415,4197,439],{"className":4198,"style":438},[436,437],[415,4200,586],{"className":4201},[500]," and, unlike the heap, never carries stale\nelements, since out-of-window indices are expired from the front the moment they\nbecome irrelevant.",[443,4204,4205],{},[385,4206,2100],{"href":4207,"ariaDescribedBy":4208,"dataFootnoteRef":376,"id":4209},"#user-content-fn-skiena-deque",[449],"user-content-fnref-skiena-deque",[786,4211,4213],{"type":4212},"note",[381,4214,4215,4218,4219,4222],{},[390,4216,4217],{},"Intuition."," The deque is a monotonic ",[395,4220,4221],{},"stack with a second exit",". Rule 1 is\nexactly the monotonic-stack push (smaller elements can never win once a bigger,\nlonger-lived one arrives); the extra front exit is what makes it a queue,\ndiscarding candidates that age out of the window rather than that get\nout-valued.",[1711,4224,4226,4475],{"className":4225},[1714,1715],[1717,4227,4231],{"xmlns":1719,"width":4228,"height":4229,"viewBox":4230},"231.579","137.460","-75 -75 173.685 103.095",[1724,4232,4233,4248,4251,4258,4261,4267,4282,4296,4311,4326,4338,4355,4363,4392,4399,4410,4424],{"stroke":1726,"style":1727},[1724,4234,4235,4242],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4236,4238],{"transform":4237},"translate(-52.351 2.778)",[1729,4239],{"d":4240,"fill":1726,"stroke":1726,"className":4241,"style":1752},"M-8.767-47.296L-9.048-47.296L-9.048-52.015Q-9.048-52.230-9.110-52.325Q-9.173-52.421-9.290-52.442Q-9.407-52.464-9.653-52.464L-9.653-52.761L-8.431-52.847L-8.431-50.358Q-7.954-50.823-7.255-50.823Q-6.774-50.823-6.366-50.579Q-5.958-50.335-5.722-49.921Q-5.485-49.507-5.485-49.023Q-5.485-48.648-5.634-48.319Q-5.782-47.991-6.052-47.739Q-6.321-47.487-6.665-47.353Q-7.009-47.218-7.368-47.218Q-7.689-47.218-7.987-47.366Q-8.286-47.515-8.493-47.776L-8.767-47.296M-8.407-49.968L-8.407-48.128Q-8.255-47.831-7.995-47.651Q-7.735-47.472-7.423-47.472Q-6.997-47.472-6.730-47.691Q-6.462-47.909-6.347-48.255Q-6.232-48.601-6.232-49.023Q-6.232-49.671-6.480-50.120Q-6.728-50.569-7.325-50.569Q-7.661-50.569-7.950-50.411Q-8.239-50.253-8.407-49.968",[1743],[1724,4243,4244],{"transform":4237},[1729,4245],{"d":4246,"fill":1726,"stroke":1726,"className":4247,"style":1752},"M-4.723-49.050Q-4.723-49.530-4.490-49.946Q-4.258-50.362-3.848-50.612Q-3.438-50.862-2.961-50.862Q-2.231-50.862-1.832-50.421Q-1.434-49.980-1.434-49.249Q-1.434-49.144-1.527-49.120L-3.977-49.120L-3.977-49.050Q-3.977-48.640-3.856-48.284Q-3.734-47.929-3.463-47.712Q-3.191-47.495-2.762-47.495Q-2.399-47.495-2.102-47.724Q-1.805-47.952-1.703-48.304Q-1.695-48.351-1.609-48.366L-1.527-48.366Q-1.434-48.339-1.434-48.257Q-1.434-48.249-1.441-48.218Q-1.504-47.991-1.643-47.808Q-1.781-47.624-1.973-47.491Q-2.164-47.358-2.383-47.288Q-2.602-47.218-2.840-47.218Q-3.211-47.218-3.549-47.355Q-3.887-47.491-4.154-47.743Q-4.422-47.995-4.572-48.335Q-4.723-48.675-4.723-49.050M-3.969-49.358L-2.008-49.358Q-2.008-49.663-2.109-49.954Q-2.211-50.245-2.428-50.427Q-2.645-50.608-2.961-50.608Q-3.262-50.608-3.492-50.421Q-3.723-50.233-3.846-49.942Q-3.969-49.651-3.969-49.358M1.121-47.296L-0.863-47.296L-0.863-47.593Q-0.590-47.593-0.422-47.640Q-0.254-47.687-0.254-47.855L-0.254-50.448L-0.895-50.448L-0.895-50.745L-0.254-50.745L-0.254-51.679Q-0.254-51.944-0.137-52.181Q-0.020-52.417 0.174-52.581Q0.367-52.745 0.615-52.837Q0.863-52.929 1.129-52.929Q1.414-52.929 1.639-52.771Q1.863-52.612 1.863-52.335Q1.863-52.179 1.758-52.069Q1.652-51.960 1.488-51.960Q1.332-51.960 1.223-52.069Q1.113-52.179 1.113-52.335Q1.113-52.542 1.273-52.648Q1.176-52.671 1.082-52.671Q0.851-52.671 0.680-52.515Q0.508-52.358 0.422-52.122Q0.336-51.886 0.336-51.663L0.336-50.745L1.305-50.745L1.305-50.448L0.359-50.448L0.359-47.855Q0.359-47.687 0.586-47.640Q0.812-47.593 1.121-47.593L1.121-47.296M1.648-48.991Q1.648-49.495 1.904-49.927Q2.160-50.358 2.596-50.610Q3.031-50.862 3.531-50.862Q3.918-50.862 4.260-50.718Q4.601-50.573 4.863-50.312Q5.125-50.050 5.268-49.714Q5.410-49.378 5.410-48.991Q5.410-48.499 5.146-48.089Q4.883-47.679 4.453-47.448Q4.023-47.218 3.531-47.218Q3.039-47.218 2.605-47.450Q2.172-47.683 1.910-48.091Q1.648-48.499 1.648-48.991M3.531-47.495Q3.988-47.495 4.240-47.718Q4.492-47.941 4.580-48.292Q4.668-48.644 4.668-49.089Q4.668-49.519 4.574-49.857Q4.480-50.194 4.226-50.401Q3.973-50.608 3.531-50.608Q2.883-50.608 2.639-50.192Q2.394-49.776 2.394-49.089Q2.394-48.644 2.482-48.292Q2.570-47.941 2.822-47.718Q3.074-47.495 3.531-47.495M7.902-47.296L5.922-47.296L5.922-47.593Q6.191-47.593 6.359-47.638Q6.527-47.683 6.527-47.855L6.527-49.991Q6.527-50.206 6.465-50.302Q6.402-50.398 6.285-50.419Q6.168-50.441 5.922-50.441L5.922-50.737L7.090-50.823L7.090-50.038Q7.168-50.249 7.320-50.435Q7.473-50.620 7.672-50.722Q7.871-50.823 8.098-50.823Q8.344-50.823 8.535-50.679Q8.726-50.534 8.726-50.304Q8.726-50.148 8.621-50.038Q8.516-49.929 8.359-49.929Q8.203-49.929 8.094-50.038Q7.984-50.148 7.984-50.304Q7.984-50.464 8.090-50.569Q7.766-50.569 7.551-50.341Q7.336-50.112 7.240-49.773Q7.144-49.433 7.144-49.128L7.144-47.855Q7.144-47.687 7.371-47.640Q7.598-47.593 7.902-47.593L7.902-47.296M9.207-49.050Q9.207-49.530 9.439-49.946Q9.672-50.362 10.082-50.612Q10.492-50.862 10.969-50.862Q11.699-50.862 12.098-50.421Q12.496-49.980 12.496-49.249Q12.496-49.144 12.402-49.120L9.953-49.120L9.953-49.050Q9.953-48.640 10.074-48.284Q10.195-47.929 10.467-47.712Q10.738-47.495 11.168-47.495Q11.531-47.495 11.828-47.724Q12.125-47.952 12.226-48.304Q12.234-48.351 12.320-48.366L12.402-48.366Q12.496-48.339 12.496-48.257Q12.496-48.249 12.488-48.218Q12.426-47.991 12.287-47.808Q12.148-47.624 11.957-47.491Q11.766-47.358 11.547-47.288Q11.328-47.218 11.090-47.218Q10.719-47.218 10.381-47.355Q10.043-47.491 9.775-47.743Q9.508-47.995 9.357-48.335Q9.207-48.675 9.207-49.050M9.961-49.358L11.922-49.358Q11.922-49.663 11.820-49.954Q11.719-50.245 11.502-50.427Q11.285-50.608 10.969-50.608Q10.668-50.608 10.437-50.421Q10.207-50.233 10.084-49.942Q9.961-49.651 9.961-49.358M13.465-47.761Q13.465-47.944 13.601-48.081Q13.738-48.218 13.930-48.218Q14.121-48.218 14.254-48.085Q14.387-47.952 14.387-47.761Q14.387-47.562 14.254-47.429Q14.121-47.296 13.930-47.296Q13.738-47.296 13.601-47.433Q13.465-47.569 13.465-47.761M13.465-50.288Q13.465-50.472 13.601-50.608Q13.738-50.745 13.930-50.745Q14.121-50.745 14.254-50.612Q14.387-50.480 14.387-50.288Q14.387-50.089 14.254-49.956Q14.121-49.823 13.930-49.823Q13.738-49.823 13.601-49.960Q13.465-50.097 13.465-50.288",[1743],[1729,4249],{"fill":750,"d":4250},"M-21.3-35.915H1.462v-22.763H-21.3Z",[1724,4252,4254],{"transform":4253},"translate(-2.312 2.9)",[1729,4255],{"d":4256,"fill":1726,"stroke":1726,"className":4257,"style":1744},"M-9.093-48.302Q-8.952-47.889-8.592-47.637Q-8.232-47.384-7.796-47.384Q-7.344-47.384-7.078-47.637Q-6.812-47.889-6.709-48.274Q-6.606-48.658-6.606-49.115Q-6.606-50.816-7.515-50.816Q-7.836-50.816-8.065-50.722Q-8.293-50.627-8.423-50.508Q-8.552-50.390-8.664-50.251Q-8.776-50.113-8.812-50.104L-8.895-50.104Q-8.939-50.104-8.970-50.135Q-9.001-50.166-9.001-50.214L-9.001-53.211Q-9.001-53.242-8.965-53.266Q-8.930-53.290-8.904-53.290L-8.864-53.290Q-8.232-53-7.559-53Q-6.887-53-6.245-53.290L-6.219-53.290Q-6.188-53.290-6.155-53.268Q-6.122-53.246-6.122-53.211L-6.122-53.110Q-6.122-53.106-6.131-53.088Q-6.140-53.070-6.140-53.066Q-6.456-52.671-6.926-52.449Q-7.397-52.227-7.893-52.227Q-8.302-52.227-8.684-52.337L-8.684-50.618Q-8.227-51.075-7.515-51.075Q-7.005-51.075-6.606-50.794Q-6.206-50.513-5.984-50.058Q-5.762-49.603-5.762-49.098Q-5.762-48.548-6.041-48.089Q-6.320-47.630-6.786-47.364Q-7.252-47.098-7.796-47.098Q-8.236-47.098-8.620-47.325Q-9.005-47.551-9.233-47.931Q-9.462-48.311-9.462-48.755Q-9.462-48.948-9.330-49.080Q-9.198-49.212-9.001-49.212Q-8.869-49.212-8.765-49.153Q-8.662-49.093-8.603-48.990Q-8.544-48.887-8.544-48.755Q-8.544-48.557-8.671-48.425Q-8.798-48.294-9.001-48.294Q-9.062-48.294-9.093-48.302",[1743],[1729,4259],{"fill":750,"d":4260},"M5.73-35.915h22.762v-22.763H5.73Z",[1724,4262,4263],{"transform":1738},[1729,4264],{"d":4265,"fill":1726,"stroke":1726,"className":4266,"style":1744},"M-7.221-48.773L-9.660-48.773L-9.660-49.089L-6.834-53.237Q-6.790-53.290-6.724-53.290L-6.570-53.290Q-6.531-53.290-6.498-53.257Q-6.465-53.224-6.465-53.180L-6.465-49.089L-5.564-49.089L-5.564-48.773L-6.465-48.773L-6.465-47.907Q-6.465-47.612-5.564-47.612L-5.564-47.296L-8.117-47.296L-8.117-47.612Q-7.757-47.612-7.489-47.667Q-7.221-47.722-7.221-47.907L-7.221-48.773M-7.164-52.262L-9.326-49.089L-7.164-49.089",[1743],[1724,4268,4269,4276],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4270,4272],{"transform":4271},"translate(-9.327 -14.294)",[1729,4273],{"d":4274,"fill":1726,"stroke":1726,"className":4275,"style":1752},"M-7.821-47.296L-9.599-47.296L-9.599-47.593Q-9.325-47.593-9.157-47.640Q-8.989-47.687-8.989-47.855L-8.989-49.991Q-8.989-50.206-9.046-50.302Q-9.103-50.398-9.216-50.419Q-9.329-50.441-9.575-50.441L-9.575-50.737L-8.376-50.823L-8.376-47.855Q-8.376-47.687-8.230-47.640Q-8.083-47.593-7.821-47.593L-7.821-47.296M-9.263-52.218Q-9.263-52.409-9.128-52.540Q-8.993-52.671-8.798-52.671Q-8.677-52.671-8.573-52.608Q-8.470-52.546-8.407-52.442Q-8.345-52.339-8.345-52.218Q-8.345-52.023-8.476-51.888Q-8.607-51.753-8.798-51.753Q-8.997-51.753-9.130-51.886Q-9.263-52.019-9.263-52.218M-5.505-47.218Q-5.985-47.218-6.394-47.462Q-6.802-47.706-7.040-48.120Q-7.278-48.534-7.278-49.023Q-7.278-49.515-7.021-49.931Q-6.763-50.347-6.331-50.585Q-5.899-50.823-5.407-50.823Q-4.786-50.823-4.337-50.386L-4.337-52.015Q-4.337-52.230-4.399-52.325Q-4.462-52.421-4.579-52.442Q-4.696-52.464-4.942-52.464L-4.942-52.761L-3.720-52.847L-3.720-48.038Q-3.720-47.827-3.657-47.732Q-3.595-47.636-3.478-47.614Q-3.360-47.593-3.110-47.593L-3.110-47.296L-4.360-47.218L-4.360-47.702Q-4.825-47.218-5.505-47.218M-5.439-47.472Q-5.099-47.472-4.806-47.663Q-4.513-47.855-4.360-48.151L-4.360-49.983Q-4.509-50.257-4.771-50.413Q-5.032-50.569-5.345-50.569Q-5.970-50.569-6.253-50.122Q-6.536-49.675-6.536-49.015Q-6.536-48.370-6.284-47.921Q-6.032-47.472-5.439-47.472M-1.216-47.296L-2.712-47.296L-2.712-47.593Q-2.079-47.593-1.657-48.073L-0.888-48.983L-1.880-50.183Q-2.036-50.362-2.198-50.405Q-2.360-50.448-2.665-50.448L-2.665-50.745L-0.978-50.745L-0.978-50.448Q-1.071-50.448-1.148-50.405Q-1.224-50.362-1.224-50.273Q-1.224-50.230-1.192-50.183L-0.536-49.394L-0.056-49.968Q0.061-50.105 0.061-50.241Q0.061-50.331 0.011-50.390Q-0.040-50.448-0.122-50.448L-0.122-50.745L1.366-50.745L1.366-50.448Q0.729-50.448 0.319-49.968L-0.360-49.167L0.726-47.855Q0.886-47.679 1.046-47.636Q1.206-47.593 1.511-47.593L1.511-47.296L-0.177-47.296L-0.177-47.593Q-0.087-47.593-0.009-47.636Q0.069-47.679 0.069-47.769Q0.069-47.792 0.038-47.855L-0.704-48.761L-1.290-48.073Q-1.407-47.937-1.407-47.800Q-1.407-47.714-1.357-47.653Q-1.306-47.593-1.216-47.593",[1743],[1724,4277,4278],{"transform":4271},[1729,4279],{"d":4280,"fill":1726,"stroke":1726,"className":4281,"style":1752},"M5.277-47.929Q5.468-47.655 5.824-47.528Q6.179-47.401 6.562-47.401Q6.898-47.401 7.107-47.587Q7.316-47.773 7.412-48.066Q7.507-48.358 7.507-48.671Q7.507-48.995 7.410-49.290Q7.312-49.585 7.099-49.769Q6.886-49.952 6.554-49.952L5.988-49.952Q5.957-49.952 5.927-49.982Q5.898-50.011 5.898-50.038L5.898-50.120Q5.898-50.155 5.927-50.181Q5.957-50.206 5.988-50.206L6.468-50.241Q6.754-50.241 6.951-50.446Q7.148-50.651 7.244-50.946Q7.339-51.241 7.339-51.519Q7.339-51.898 7.140-52.136Q6.941-52.374 6.562-52.374Q6.242-52.374 5.953-52.267Q5.664-52.159 5.500-51.937Q5.679-51.937 5.802-51.810Q5.925-51.683 5.925-51.511Q5.925-51.339 5.800-51.214Q5.675-51.089 5.500-51.089Q5.328-51.089 5.203-51.214Q5.078-51.339 5.078-51.511Q5.078-51.878 5.302-52.126Q5.527-52.374 5.867-52.495Q6.207-52.616 6.562-52.616Q6.910-52.616 7.273-52.495Q7.636-52.374 7.884-52.124Q8.132-51.874 8.132-51.519Q8.132-51.034 7.814-50.651Q7.496-50.269 7.019-50.097Q7.570-49.987 7.970-49.601Q8.371-49.214 8.371-48.679Q8.371-48.222 8.107-47.866Q7.843-47.511 7.422-47.319Q7-47.128 6.562-47.128Q6.152-47.128 5.759-47.263Q5.367-47.398 5.101-47.683Q4.836-47.968 4.836-48.386Q4.836-48.581 4.968-48.710Q5.101-48.839 5.293-48.839Q5.418-48.839 5.521-48.780Q5.625-48.722 5.687-48.616Q5.750-48.511 5.750-48.386Q5.750-48.191 5.615-48.060Q5.480-47.929 5.277-47.929",[1743],[1724,4283,4284,4290],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4285,4287],{"transform":4286},"translate(17.703 -14.294)",[1729,4288],{"d":4274,"fill":1726,"stroke":1726,"className":4289,"style":1752},[1743],[1724,4291,4292],{"transform":4286},[1729,4293],{"d":4294,"fill":1726,"stroke":1726,"className":4295,"style":1752},"M5.324-48.175L5.261-48.175Q5.402-47.823 5.726-47.612Q6.050-47.401 6.437-47.401Q7.031-47.401 7.281-47.835Q7.531-48.269 7.531-48.905Q7.531-49.499 7.361-49.946Q7.191-50.394 6.691-50.394Q6.394-50.394 6.189-50.314Q5.984-50.233 5.882-50.142Q5.781-50.050 5.666-49.917Q5.550-49.784 5.500-49.769L5.429-49.769Q5.343-49.792 5.324-49.870L5.324-52.519Q5.355-52.616 5.429-52.616Q5.445-52.616 5.453-52.614Q5.461-52.612 5.468-52.608Q6.054-52.358 6.652-52.358Q7.234-52.358 7.851-52.616L7.875-52.616Q7.918-52.616 7.945-52.591Q7.972-52.566 7.972-52.526L7.972-52.448Q7.972-52.417 7.949-52.394Q7.652-52.042 7.230-51.845Q6.808-51.648 6.347-51.648Q6-51.648 5.621-51.753L5.621-50.257Q5.839-50.452 6.115-50.550Q6.390-50.648 6.691-50.648Q7.148-50.648 7.517-50.400Q7.886-50.151 8.093-49.747Q8.300-49.343 8.300-48.898Q8.300-48.409 8.045-48.001Q7.789-47.593 7.357-47.360Q6.925-47.128 6.437-47.128Q6.043-47.128 5.687-47.319Q5.332-47.511 5.121-47.845Q4.910-48.179 4.910-48.593Q4.910-48.773 5.027-48.886Q5.144-48.999 5.324-48.999Q5.441-48.999 5.533-48.946Q5.625-48.894 5.677-48.802Q5.730-48.710 5.730-48.593Q5.730-48.409 5.617-48.292Q5.504-48.175 5.324-48.175",[1743],[1724,4297,4298,4305],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4299,4301],{"transform":4300},"translate(-8.976 20.418)",[1729,4302],{"d":4303,"fill":1726,"stroke":1726,"className":4304,"style":1752},"M-7.614-47.296L-9.599-47.296L-9.599-47.593Q-9.325-47.593-9.157-47.640Q-8.989-47.687-8.989-47.855L-8.989-50.448L-9.630-50.448L-9.630-50.745L-8.989-50.745L-8.989-51.679Q-8.989-51.944-8.872-52.181Q-8.755-52.417-8.562-52.581Q-8.368-52.745-8.120-52.837Q-7.872-52.929-7.607-52.929Q-7.321-52.929-7.097-52.771Q-6.872-52.612-6.872-52.335Q-6.872-52.179-6.978-52.069Q-7.083-51.960-7.247-51.960Q-7.403-51.960-7.513-52.069Q-7.622-52.179-7.622-52.335Q-7.622-52.542-7.462-52.648Q-7.560-52.671-7.653-52.671Q-7.884-52.671-8.056-52.515Q-8.228-52.358-8.314-52.122Q-8.399-51.886-8.399-51.663L-8.399-50.745L-7.431-50.745L-7.431-50.448L-8.376-50.448L-8.376-47.855Q-8.376-47.687-8.149-47.640Q-7.923-47.593-7.614-47.593L-7.614-47.296M-5.079-47.296L-7.060-47.296L-7.060-47.593Q-6.790-47.593-6.622-47.638Q-6.454-47.683-6.454-47.855L-6.454-49.991Q-6.454-50.206-6.517-50.302Q-6.579-50.398-6.696-50.419Q-6.814-50.441-7.060-50.441L-7.060-50.737L-5.892-50.823L-5.892-50.038Q-5.814-50.249-5.661-50.435Q-5.509-50.620-5.310-50.722Q-5.110-50.823-4.884-50.823Q-4.638-50.823-4.446-50.679Q-4.255-50.534-4.255-50.304Q-4.255-50.148-4.360-50.038Q-4.466-49.929-4.622-49.929Q-4.778-49.929-4.888-50.038Q-4.997-50.148-4.997-50.304Q-4.997-50.464-4.892-50.569Q-5.216-50.569-5.431-50.341Q-5.646-50.112-5.741-49.773Q-5.837-49.433-5.837-49.128L-5.837-47.855Q-5.837-47.687-5.610-47.640Q-5.384-47.593-5.079-47.593L-5.079-47.296M-3.774-48.991Q-3.774-49.495-3.519-49.927Q-3.263-50.358-2.827-50.610Q-2.392-50.862-1.892-50.862Q-1.505-50.862-1.163-50.718Q-0.821-50.573-0.560-50.312Q-0.298-50.050-0.155-49.714Q-0.013-49.378-0.013-48.991Q-0.013-48.499-0.276-48.089Q-0.540-47.679-0.970-47.448Q-1.399-47.218-1.892-47.218Q-2.384-47.218-2.817-47.450Q-3.251-47.683-3.513-48.091Q-3.774-48.499-3.774-48.991M-1.892-47.495Q-1.435-47.495-1.183-47.718Q-0.931-47.941-0.843-48.292Q-0.755-48.644-0.755-49.089Q-0.755-49.519-0.849-49.857Q-0.942-50.194-1.196-50.401Q-1.450-50.608-1.892-50.608Q-2.540-50.608-2.784-50.192Q-3.028-49.776-3.028-49.089Q-3.028-48.644-2.940-48.292Q-2.853-47.941-2.601-47.718Q-2.349-47.495-1.892-47.495M2.401-47.296L0.546-47.296L0.546-47.593Q0.819-47.593 0.987-47.640Q1.155-47.687 1.155-47.855L1.155-49.991Q1.155-50.206 1.093-50.302Q1.030-50.398 0.911-50.419Q0.792-50.441 0.546-50.441L0.546-50.737L1.737-50.823L1.737-50.089Q1.851-50.304 2.044-50.472Q2.237-50.640 2.476-50.732Q2.714-50.823 2.968-50.823Q4.136-50.823 4.136-49.745L4.136-47.855Q4.136-47.687 4.306-47.640Q4.476-47.593 4.745-47.593L4.745-47.296L2.890-47.296L2.890-47.593Q3.163-47.593 3.331-47.640Q3.499-47.687 3.499-47.855L3.499-49.730Q3.499-50.112 3.378-50.341Q3.257-50.569 2.905-50.569Q2.593-50.569 2.339-50.407Q2.085-50.245 1.938-49.976Q1.792-49.706 1.792-49.409L1.792-47.855Q1.792-47.687 1.962-47.640Q2.132-47.593 2.401-47.593",[1743],[1724,4306,4307],{"transform":4300},[1729,4308],{"d":4309,"fill":1726,"stroke":1726,"className":4310,"style":1752},"M5.590-48.257L5.590-50.448L4.887-50.448L4.887-50.702Q5.243-50.702 5.485-50.935Q5.727-51.167 5.838-51.515Q5.950-51.862 5.950-52.218L6.231-52.218L6.231-50.745L7.407-50.745L7.407-50.448L6.231-50.448L6.231-48.273Q6.231-47.952 6.350-47.724Q6.469-47.495 6.750-47.495Q6.930-47.495 7.047-47.618Q7.165-47.741 7.217-47.921Q7.270-48.101 7.270-48.273L7.270-48.745L7.551-48.745L7.551-48.257Q7.551-48.003 7.446-47.763Q7.340-47.523 7.143-47.370Q6.946-47.218 6.688-47.218Q6.372-47.218 6.120-47.341Q5.868-47.464 5.729-47.698Q5.590-47.933 5.590-48.257",[1743],[1724,4312,4313,4320],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4314,4316],{"transform":4315},"translate(18.53 20.418)",[1729,4317],{"d":4318,"fill":1726,"stroke":1726,"className":4319,"style":1752},"M-8.767-47.296L-9.048-47.296L-9.048-52.015Q-9.048-52.230-9.110-52.325Q-9.173-52.421-9.290-52.442Q-9.407-52.464-9.653-52.464L-9.653-52.761L-8.431-52.847L-8.431-50.358Q-7.954-50.823-7.255-50.823Q-6.774-50.823-6.366-50.579Q-5.958-50.335-5.722-49.921Q-5.485-49.507-5.485-49.023Q-5.485-48.648-5.634-48.319Q-5.782-47.991-6.052-47.739Q-6.321-47.487-6.665-47.353Q-7.009-47.218-7.368-47.218Q-7.689-47.218-7.987-47.366Q-8.286-47.515-8.493-47.776L-8.767-47.296M-8.407-49.968L-8.407-48.128Q-8.255-47.831-7.995-47.651Q-7.735-47.472-7.423-47.472Q-6.997-47.472-6.730-47.691Q-6.462-47.909-6.347-48.255Q-6.232-48.601-6.232-49.023Q-6.232-49.671-6.480-50.120Q-6.728-50.569-7.325-50.569Q-7.661-50.569-7.950-50.411Q-8.239-50.253-8.407-49.968M-4.864-48.128Q-4.864-48.612-4.462-48.907Q-4.060-49.202-3.509-49.321Q-2.958-49.441-2.466-49.441L-2.466-49.730Q-2.466-49.956-2.581-50.163Q-2.696-50.370-2.894-50.489Q-3.091-50.608-3.321-50.608Q-3.747-50.608-4.032-50.503Q-3.962-50.476-3.915-50.421Q-3.868-50.366-3.843-50.296Q-3.817-50.226-3.817-50.151Q-3.817-50.046-3.868-49.954Q-3.919-49.862-4.011-49.812Q-4.103-49.761-4.208-49.761Q-4.314-49.761-4.405-49.812Q-4.497-49.862-4.548-49.954Q-4.599-50.046-4.599-50.151Q-4.599-50.569-4.210-50.716Q-3.821-50.862-3.321-50.862Q-2.989-50.862-2.636-50.732Q-2.282-50.601-2.054-50.347Q-1.825-50.093-1.825-49.745L-1.825-47.944Q-1.825-47.812-1.753-47.702Q-1.681-47.593-1.552-47.593Q-1.427-47.593-1.358-47.698Q-1.290-47.804-1.290-47.944L-1.290-48.456L-1.009-48.456L-1.009-47.944Q-1.009-47.741-1.126-47.583Q-1.243-47.425-1.425-47.341Q-1.607-47.257-1.810-47.257Q-2.040-47.257-2.192-47.429Q-2.345-47.601-2.376-47.831Q-2.536-47.550-2.845-47.384Q-3.153-47.218-3.505-47.218Q-4.017-47.218-4.440-47.441Q-4.864-47.663-4.864-48.128M-4.177-48.128Q-4.177-47.843-3.950-47.657Q-3.724-47.472-3.431-47.472Q-3.185-47.472-2.960-47.589Q-2.735-47.706-2.601-47.909Q-2.466-48.112-2.466-48.366L-2.466-49.198Q-2.732-49.198-3.017-49.144Q-3.302-49.089-3.573-48.960Q-3.845-48.831-4.011-48.624Q-4.177-48.417-4.177-48.128M-0.673-49.023Q-0.673-49.519-0.423-49.944Q-0.173-50.370 0.247-50.616Q0.667-50.862 1.167-50.862Q1.706-50.862 2.097-50.737Q2.487-50.612 2.487-50.198Q2.487-50.093 2.436-50.001Q2.386-49.909 2.294-49.858Q2.202-49.808 2.093-49.808Q1.987-49.808 1.895-49.858Q1.804-49.909 1.753-50.001Q1.702-50.093 1.702-50.198Q1.702-50.421 1.870-50.526Q1.647-50.585 1.175-50.585Q0.878-50.585 0.663-50.446Q0.448-50.308 0.317-50.077Q0.186-49.847 0.128-49.577Q0.069-49.308 0.069-49.023Q0.069-48.628 0.202-48.278Q0.335-47.929 0.606-47.712Q0.878-47.495 1.276-47.495Q1.651-47.495 1.927-47.712Q2.202-47.929 2.304-48.288Q2.319-48.351 2.382-48.351L2.487-48.351Q2.522-48.351 2.548-48.323Q2.573-48.296 2.573-48.257L2.573-48.233Q2.440-47.753 2.056-47.485Q1.671-47.218 1.167-47.218Q0.804-47.218 0.470-47.355Q0.136-47.491-0.124-47.741Q-0.384-47.991-0.528-48.327Q-0.673-48.663-0.673-49.023",[1743],[1724,4321,4322],{"transform":4315},[1729,4323],{"d":4324,"fill":1726,"stroke":1726,"className":4325,"style":1752},"M4.658-47.296L2.861-47.296L2.861-47.593Q3.130-47.593 3.298-47.638Q3.466-47.683 3.466-47.855L3.466-52.015Q3.466-52.230 3.404-52.325Q3.341-52.421 3.224-52.442Q3.107-52.464 2.861-52.464L2.861-52.761L4.083-52.847L4.083-49.081L5.181-49.968Q5.388-50.148 5.388-50.296Q5.388-50.362 5.335-50.405Q5.283-50.448 5.212-50.448L5.212-50.745L6.747-50.745L6.747-50.448Q6.216-50.448 5.618-49.968L5.009-49.472L6.083-48.073Q6.220-47.898 6.327-47.790Q6.435-47.683 6.570-47.638Q6.704-47.593 6.931-47.593L6.931-47.296L5.306-47.296L5.306-47.593Q5.548-47.593 5.548-47.745Q5.548-47.823 5.505-47.894Q5.462-47.964 5.380-48.073L4.579-49.120L4.052-48.694L4.052-47.855Q4.052-47.687 4.220-47.640Q4.388-47.593 4.658-47.593",[1743],[1724,4327,4328,4331],{"stroke":1823,"style":1824},[1729,4329],{"fill":750,"d":4330},"M61.213-35.915h22.762v-22.763H61.213Z",[1724,4332,4334],{"transform":4333},"translate(80.2 2.9)",[1729,4335],{"d":4336,"fill":1726,"stroke":1726,"className":4337,"style":1744},"M-7.607-47.098Q-8.341-47.098-8.772-47.579Q-9.203-48.061-9.367-48.753Q-9.532-49.445-9.532-50.192Q-9.532-50.921-9.240-51.644Q-8.948-52.367-8.394-52.829Q-7.840-53.290-7.093-53.290Q-6.597-53.290-6.261-53.024Q-5.924-52.758-5.924-52.275Q-5.924-52.095-6.052-51.967Q-6.179-51.840-6.355-51.840Q-6.535-51.840-6.665-51.965Q-6.794-52.090-6.794-52.275Q-6.794-52.389-6.737-52.493Q-6.680-52.596-6.579-52.655Q-6.478-52.714-6.355-52.714Q-6.351-52.714-6.346-52.712Q-6.342-52.710-6.337-52.706Q-6.452-52.873-6.660-52.952Q-6.869-53.031-7.093-53.031Q-7.537-53.031-7.895-52.730Q-8.253-52.429-8.442-51.976Q-8.675-51.370-8.675-50.337Q-8.504-50.702-8.203-50.930Q-7.902-51.159-7.515-51.159Q-7.111-51.159-6.766-50.992Q-6.421-50.825-6.184-50.544Q-5.946-50.262-5.817-49.900Q-5.687-49.537-5.687-49.133Q-5.687-48.588-5.931-48.122Q-6.175-47.656-6.614-47.377Q-7.054-47.098-7.607-47.098M-7.607-47.384Q-7.146-47.384-6.911-47.641Q-6.676-47.898-6.610-48.272Q-6.544-48.645-6.544-49.115L-6.544-49.150Q-6.544-49.638-6.601-50.003Q-6.658-50.368-6.887-50.631Q-7.115-50.895-7.559-50.895Q-7.928-50.895-8.179-50.651Q-8.429-50.407-8.544-50.043Q-8.658-49.678-8.658-49.331Q-8.658-49.212-8.649-49.150Q-8.649-49.133-8.651-49.122Q-8.653-49.111-8.658-49.098Q-8.658-48.447-8.420-47.916Q-8.183-47.384-7.607-47.384",[1743],[1724,4339,4340],{"fill":1823,"stroke":1823},[1724,4341,4342,4349],{"fill":1823,"stroke":750,"fontSize":1832},[1724,4343,4345],{"transform":4344},"translate(75.77 -15.64)",[1729,4346],{"d":4347,"fill":1823,"stroke":1823,"className":4348,"style":1752},"M-8.415-47.218Q-8.771-47.218-9.040-47.398Q-9.310-47.577-9.450-47.872Q-9.591-48.167-9.591-48.526Q-9.591-48.913-9.429-49.327Q-9.267-49.741-8.983-50.079Q-8.700-50.417-8.331-50.620Q-7.962-50.823-7.560-50.823Q-7.067-50.823-6.790-50.374Q-6.759-50.507-6.655-50.589Q-6.552-50.671-6.423-50.671Q-6.310-50.671-6.230-50.601Q-6.149-50.530-6.149-50.417Q-6.149-50.390-6.165-50.327L-6.720-48.128Q-6.759-47.882-6.759-47.831Q-6.759-47.472-6.513-47.472Q-6.368-47.472-6.267-47.579Q-6.165-47.687-6.101-47.841Q-6.036-47.995-5.987-48.185Q-5.939-48.374-5.919-48.472Q-5.892-48.542-5.829-48.542L-5.728-48.542Q-5.689-48.542-5.663-48.509Q-5.638-48.476-5.638-48.448Q-5.638-48.433-5.646-48.417Q-5.759-47.925-5.958-47.571Q-6.157-47.218-6.528-47.218Q-6.810-47.218-7.036-47.360Q-7.263-47.503-7.345-47.761Q-7.567-47.519-7.841-47.368Q-8.114-47.218-8.415-47.218M-8.399-47.472Q-8.189-47.472-7.980-47.585Q-7.771-47.698-7.601-47.872Q-7.431-48.046-7.302-48.241Q-7.314-48.226-7.323-48.212Q-7.333-48.198-7.345-48.183L-6.911-49.905Q-6.950-50.085-7.036-50.235Q-7.122-50.386-7.259-50.478Q-7.396-50.569-7.575-50.569Q-7.911-50.569-8.183-50.288Q-8.454-50.007-8.614-49.632Q-8.739-49.312-8.837-48.892Q-8.935-48.472-8.935-48.191Q-8.935-47.901-8.802-47.687Q-8.669-47.472-8.399-47.472",[1743],[1724,4350,4351],{"transform":4344},[1729,4352],{"d":4353,"fill":1823,"stroke":1823,"className":4354,"style":1752},"M-3.236-45.296L-4.412-45.296L-4.412-53.296L-3.236-53.296L-3.236-52.929L-4.045-52.929L-4.045-45.663L-3.236-45.663L-3.236-45.296M-0.924-47.128Q-1.595-47.128-1.992-47.552Q-2.388-47.976-2.541-48.595Q-2.693-49.214-2.693-49.882Q-2.693-50.542-2.422-51.175Q-2.150-51.808-1.636-52.212Q-1.123-52.616-0.451-52.616Q-0.162-52.616 0.086-52.517Q0.334-52.417 0.481-52.216Q0.627-52.015 0.627-51.710Q0.627-51.605 0.576-51.513Q0.526-51.421 0.434-51.370Q0.342-51.319 0.237-51.319Q0.069-51.319-0.045-51.433Q-0.158-51.546-0.158-51.710Q-0.158-51.870-0.049-51.987Q0.061-52.105 0.229-52.105Q0.030-52.374-0.451-52.374Q-0.869-52.374-1.201-52.097Q-1.533-51.819-1.709-51.401Q-1.908-50.901-1.908-49.999Q-1.744-50.323-1.465-50.523Q-1.185-50.722-0.838-50.722Q-0.353-50.722 0.032-50.476Q0.416-50.230 0.629-49.821Q0.842-49.413 0.842-48.929Q0.842-48.437 0.612-48.025Q0.381-47.612-0.029-47.370Q-0.439-47.128-0.924-47.128M-0.924-47.401Q-0.498-47.401-0.281-47.622Q-0.064-47.843-0.002-48.169Q0.061-48.495 0.061-48.929Q0.061-49.241 0.035-49.491Q0.010-49.741-0.080-49.966Q-0.170-50.191-0.365-50.327Q-0.560-50.464-0.877-50.464Q-1.205-50.464-1.437-50.255Q-1.670-50.046-1.781-49.728Q-1.892-49.409-1.892-49.097Q-1.888-49.058-1.886-49.025Q-1.884-48.991-1.884-48.937Q-1.884-48.921-1.886-48.913Q-1.888-48.905-1.892-48.898Q-1.892-48.323-1.666-47.862Q-1.439-47.401-0.924-47.401M2.561-45.296L1.385-45.296L1.385-45.663L2.194-45.663L2.194-52.929L1.385-52.929L1.385-53.296L2.561-53.296",[1743],[1724,4356,4357,4360],{"fill":1962,"stroke":1962,"style":1963},[1729,4358],{"fill":750,"d":4359},"M59.79-47.296H36.783",[1729,4361],{"stroke":750,"d":4362},"m34.183-47.296 4.16 2.08-1.56-2.08 1.56-2.08",[1724,4364,4365],{"fill":1962,"stroke":1962},[1724,4366,4367,4374,4380,4386],{"fill":1962,"stroke":750,"fontSize":1832},[1724,4368,4370],{"transform":4369},"translate(41.912 -10.053)",[1729,4371],{"d":4372,"fill":1962,"stroke":1962,"className":4373,"style":1752},"M-7.798-45.745L-9.653-45.745L-9.653-46.038Q-9.384-46.038-9.216-46.083Q-9.048-46.128-9.048-46.304L-9.048-50.128Q-9.048-50.335-9.204-50.388Q-9.360-50.441-9.653-50.441L-9.653-50.737L-8.431-50.823L-8.431-50.358Q-8.200-50.581-7.886-50.702Q-7.571-50.823-7.232-50.823Q-6.759-50.823-6.355-50.577Q-5.950-50.331-5.718-49.915Q-5.485-49.499-5.485-49.023Q-5.485-48.648-5.634-48.319Q-5.782-47.991-6.052-47.739Q-6.321-47.487-6.665-47.353Q-7.009-47.218-7.368-47.218Q-7.657-47.218-7.929-47.339Q-8.200-47.460-8.407-47.671L-8.407-46.304Q-8.407-46.128-8.239-46.083Q-8.071-46.038-7.798-46.038L-7.798-45.745M-8.407-49.960L-8.407-48.120Q-8.255-47.831-7.993-47.651Q-7.732-47.472-7.423-47.472Q-7.138-47.472-6.915-47.610Q-6.692-47.749-6.540-47.980Q-6.388-48.210-6.310-48.482Q-6.232-48.753-6.232-49.023Q-6.232-49.355-6.357-49.712Q-6.482-50.069-6.730-50.306Q-6.978-50.542-7.325-50.542Q-7.649-50.542-7.944-50.386Q-8.239-50.230-8.407-49.960",[1743],[1724,4375,4376],{"transform":4369},[1729,4377],{"d":4378,"fill":1962,"stroke":1962,"className":4379,"style":1752},"M-4.723-48.991Q-4.723-49.495-4.467-49.927Q-4.211-50.358-3.775-50.610Q-3.340-50.862-2.840-50.862Q-2.453-50.862-2.111-50.718Q-1.770-50.573-1.508-50.312Q-1.246-50.050-1.104-49.714Q-0.961-49.378-0.961-48.991Q-0.961-48.499-1.225-48.089Q-1.488-47.679-1.918-47.448Q-2.348-47.218-2.840-47.218Q-3.332-47.218-3.766-47.450Q-4.199-47.683-4.461-48.091Q-4.723-48.499-4.723-48.991M-2.840-47.495Q-2.383-47.495-2.131-47.718Q-1.879-47.941-1.791-48.292Q-1.703-48.644-1.703-49.089Q-1.703-49.519-1.797-49.857Q-1.891-50.194-2.145-50.401Q-2.399-50.608-2.840-50.608Q-3.488-50.608-3.732-50.192Q-3.977-49.776-3.977-49.089Q-3.977-48.644-3.889-48.292Q-3.801-47.941-3.549-47.718Q-3.297-47.495-2.840-47.495M1.406-45.745L-0.449-45.745L-0.449-46.038Q-0.180-46.038-0.012-46.083Q0.156-46.128 0.156-46.304L0.156-50.128Q0.156-50.3350-50.388Q-0.156-50.441-0.449-50.441L-0.449-50.737L0.773-50.823L0.773-50.358Q1.004-50.581 1.318-50.702Q1.633-50.823 1.973-50.823Q2.445-50.823 2.850-50.577Q3.254-50.331 3.486-49.915Q3.719-49.499 3.719-49.023Q3.719-48.648 3.570-48.319Q3.422-47.991 3.152-47.739Q2.883-47.487 2.539-47.353Q2.195-47.218 1.836-47.218Q1.547-47.218 1.275-47.339Q1.004-47.460 0.797-47.671L0.797-46.304Q0.797-46.128 0.965-46.083Q1.133-46.038 1.406-46.038L1.406-45.745M0.797-49.960L0.797-48.120Q0.949-47.831 1.211-47.651Q1.473-47.472 1.781-47.472Q2.066-47.472 2.289-47.610Q2.512-47.749 2.664-47.980Q2.816-48.210 2.894-48.482Q2.973-48.753 2.973-49.023Q2.973-49.355 2.848-49.712Q2.723-50.069 2.475-50.306Q2.226-50.542 1.879-50.542Q1.555-50.542 1.260-50.386Q0.965-50.230 0.797-49.960",[1743],[1724,4381,4382],{"transform":4369},[1729,4383],{"d":4384,"fill":1962,"stroke":1962,"className":4385,"style":1752},"M12.564-45.937L7.732-45.937Q7.657-45.948 7.607-45.997Q7.556-46.046 7.556-46.120Q7.556-46.273 7.732-46.304L12.564-46.304Q12.732-46.276 12.732-46.120Q12.732-45.964 12.564-45.937M12.478-47.640L7.661-49.976Q7.556-50.015 7.556-50.136Q7.556-50.241 7.669-50.304L12.478-52.632Q12.525-52.648 12.548-52.648Q12.622-52.648 12.677-52.593Q12.732-52.538 12.732-52.464Q12.732-52.358 12.630-52.296L8.165-50.136L12.638-47.976Q12.732-47.921 12.732-47.808Q12.732-47.733 12.677-47.679Q12.622-47.624 12.548-47.624Q12.525-47.624 12.478-47.640",[1743],[1724,4387,4388],{"transform":4369},[1729,4389],{"d":4390,"fill":1962,"stroke":1962,"className":4391,"style":1752},"M17.938-47.128Q17.266-47.128 16.870-47.552Q16.473-47.976 16.321-48.595Q16.169-49.214 16.169-49.882Q16.169-50.542 16.440-51.175Q16.712-51.808 17.225-52.212Q17.739-52.616 18.411-52.616Q18.700-52.616 18.948-52.517Q19.196-52.417 19.342-52.216Q19.489-52.015 19.489-51.710Q19.489-51.605 19.438-51.513Q19.387-51.421 19.296-51.370Q19.204-51.319 19.098-51.319Q18.930-51.319 18.817-51.433Q18.704-51.546 18.704-51.710Q18.704-51.870 18.813-51.987Q18.922-52.105 19.090-52.105Q18.891-52.374 18.411-52.374Q17.993-52.374 17.661-52.097Q17.329-51.819 17.153-51.401Q16.954-50.901 16.954-49.999Q17.118-50.323 17.397-50.523Q17.676-50.722 18.024-50.722Q18.508-50.722 18.893-50.476Q19.278-50.230 19.491-49.821Q19.704-49.413 19.704-48.929Q19.704-48.437 19.473-48.025Q19.243-47.612 18.833-47.370Q18.422-47.128 17.938-47.128M17.938-47.401Q18.364-47.401 18.581-47.622Q18.797-47.843 18.860-48.169Q18.922-48.495 18.922-48.929Q18.922-49.241 18.897-49.491Q18.872-49.741 18.782-49.966Q18.692-50.191 18.497-50.327Q18.301-50.464 17.985-50.464Q17.657-50.464 17.424-50.255Q17.192-50.046 17.081-49.728Q16.969-49.409 16.969-49.097Q16.973-49.058 16.975-49.025Q16.977-48.991 16.977-48.937Q16.977-48.921 16.975-48.913Q16.973-48.905 16.969-48.898Q16.969-48.323 17.196-47.862Q17.422-47.401 17.938-47.401",[1743],[1724,4393,4395],{"transform":4394},"translate(-49.636 51.147)",[1729,4396],{"d":4397,"fill":1726,"stroke":1726,"className":4398,"style":1752},"M-9.583-48.128Q-9.583-48.612-9.181-48.907Q-8.778-49.202-8.228-49.321Q-7.677-49.441-7.185-49.441L-7.185-49.730Q-7.185-49.956-7.300-50.163Q-7.415-50.370-7.612-50.489Q-7.810-50.608-8.040-50.608Q-8.466-50.608-8.751-50.503Q-8.681-50.476-8.634-50.421Q-8.587-50.366-8.562-50.296Q-8.536-50.226-8.536-50.151Q-8.536-50.046-8.587-49.954Q-8.638-49.862-8.730-49.812Q-8.821-49.761-8.927-49.761Q-9.032-49.761-9.124-49.812Q-9.216-49.862-9.267-49.954Q-9.317-50.046-9.317-50.151Q-9.317-50.569-8.929-50.716Q-8.540-50.862-8.040-50.862Q-7.708-50.862-7.355-50.732Q-7.001-50.601-6.773-50.347Q-6.544-50.093-6.544-49.745L-6.544-47.944Q-6.544-47.812-6.472-47.702Q-6.399-47.593-6.271-47.593Q-6.146-47.593-6.077-47.698Q-6.009-47.804-6.009-47.944L-6.009-48.456L-5.728-48.456L-5.728-47.944Q-5.728-47.741-5.845-47.583Q-5.962-47.425-6.144-47.341Q-6.325-47.257-6.528-47.257Q-6.759-47.257-6.911-47.429Q-7.064-47.601-7.095-47.831Q-7.255-47.550-7.564-47.384Q-7.872-47.218-8.224-47.218Q-8.735-47.218-9.159-47.441Q-9.583-47.663-9.583-48.128M-8.896-48.128Q-8.896-47.843-8.669-47.657Q-8.442-47.472-8.149-47.472Q-7.903-47.472-7.679-47.589Q-7.454-47.706-7.319-47.909Q-7.185-48.112-7.185-48.366L-7.185-49.198Q-7.450-49.198-7.735-49.144Q-8.021-49.089-8.292-48.960Q-8.564-48.831-8.730-48.624Q-8.896-48.417-8.896-48.128M-3.368-47.296L-5.353-47.296L-5.353-47.593Q-5.079-47.593-4.911-47.640Q-4.743-47.687-4.743-47.855L-4.743-50.448L-5.384-50.448L-5.384-50.745L-4.743-50.745L-4.743-51.679Q-4.743-51.944-4.626-52.181Q-4.509-52.417-4.315-52.581Q-4.122-52.745-3.874-52.837Q-3.626-52.929-3.360-52.929Q-3.075-52.929-2.851-52.771Q-2.626-52.612-2.626-52.335Q-2.626-52.179-2.732-52.069Q-2.837-51.960-3.001-51.960Q-3.157-51.960-3.267-52.069Q-3.376-52.179-3.376-52.335Q-3.376-52.542-3.216-52.648Q-3.314-52.671-3.407-52.671Q-3.638-52.671-3.810-52.515Q-3.982-52.358-4.067-52.122Q-4.153-51.886-4.153-51.663L-4.153-50.745L-3.185-50.745L-3.185-50.448L-4.130-50.448L-4.130-47.855Q-4.130-47.687-3.903-47.640Q-3.677-47.593-3.368-47.593L-3.368-47.296M-2.216-48.257L-2.216-50.448L-2.919-50.448L-2.919-50.702Q-2.564-50.702-2.321-50.935Q-2.079-51.167-1.968-51.515Q-1.857-51.862-1.857-52.218L-1.575-52.218L-1.575-50.745L-0.399-50.745L-0.399-50.448L-1.575-50.448L-1.575-48.273Q-1.575-47.952-1.456-47.724Q-1.337-47.495-1.056-47.495Q-0.876-47.495-0.759-47.618Q-0.642-47.741-0.589-47.921Q-0.536-48.101-0.536-48.273L-0.536-48.745L-0.255-48.745L-0.255-48.257Q-0.255-48.003-0.360-47.763Q-0.466-47.523-0.663-47.370Q-0.860-47.218-1.118-47.218Q-1.435-47.218-1.687-47.341Q-1.939-47.464-2.077-47.698Q-2.216-47.933-2.216-48.257M0.464-49.050Q0.464-49.530 0.696-49.946Q0.929-50.362 1.339-50.612Q1.749-50.862 2.226-50.862Q2.956-50.862 3.354-50.421Q3.753-49.980 3.753-49.249Q3.753-49.144 3.659-49.120L1.210-49.120L1.210-49.050Q1.210-48.640 1.331-48.284Q1.452-47.929 1.724-47.712Q1.995-47.495 2.425-47.495Q2.788-47.495 3.085-47.724Q3.382-47.952 3.483-48.304Q3.491-48.351 3.577-48.366L3.659-48.366Q3.753-48.339 3.753-48.257Q3.753-48.249 3.745-48.218Q3.683-47.991 3.544-47.808Q3.405-47.624 3.214-47.491Q3.022-47.358 2.804-47.288Q2.585-47.218 2.347-47.218Q1.976-47.218 1.638-47.355Q1.300-47.491 1.032-47.743Q0.765-47.995 0.614-48.335Q0.464-48.675 0.464-49.050M1.218-49.358L3.179-49.358Q3.179-49.663 3.077-49.954Q2.976-50.245 2.759-50.427Q2.542-50.608 2.226-50.608Q1.925-50.608 1.694-50.421Q1.464-50.233 1.341-49.942Q1.218-49.651 1.218-49.358M6.249-47.296L4.268-47.296L4.268-47.593Q4.538-47.593 4.706-47.638Q4.874-47.683 4.874-47.855L4.874-49.991Q4.874-50.206 4.811-50.302Q4.749-50.398 4.632-50.419Q4.515-50.441 4.268-50.441L4.268-50.737L5.436-50.823L5.436-50.038Q5.515-50.249 5.667-50.435Q5.819-50.620 6.018-50.722Q6.218-50.823 6.444-50.823Q6.690-50.823 6.882-50.679Q7.073-50.534 7.073-50.304Q7.073-50.148 6.968-50.038Q6.862-49.929 6.706-49.929Q6.550-49.929 6.440-50.038Q6.331-50.148 6.331-50.304Q6.331-50.464 6.436-50.569Q6.112-50.569 5.897-50.341Q5.683-50.112 5.587-49.773Q5.491-49.433 5.491-49.128L5.491-47.855Q5.491-47.687 5.718-47.640Q5.944-47.593 6.249-47.593L6.249-47.296M8.034-47.761Q8.034-47.944 8.171-48.081Q8.308-48.218 8.499-48.218Q8.690-48.218 8.823-48.085Q8.956-47.952 8.956-47.761Q8.956-47.562 8.823-47.429Q8.690-47.296 8.499-47.296Q8.308-47.296 8.171-47.433Q8.034-47.569 8.034-47.761M8.034-50.288Q8.034-50.472 8.171-50.608Q8.308-50.745 8.499-50.745Q8.690-50.745 8.823-50.612Q8.956-50.480 8.956-50.288Q8.956-50.089 8.823-49.956Q8.690-49.823 8.499-49.823Q8.308-49.823 8.171-49.960Q8.034-50.097 8.034-50.288",[1743],[1724,4400,4401,4404],{"fill":1731,"stroke":1823,"style":1824},[1729,4402],{"d":4403},"M-21.3 12.454H1.462v-22.762H-21.3Z",[1724,4405,4407],{"transform":4406},"translate(-2.312 51.27)",[1729,4408],{"d":4336,"fill":1726,"stroke":1726,"className":4409,"style":1744},[1743],[1724,4411,4412,4418],{"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4413,4415],{"transform":4414},"translate(-9.327 68.788)",[1729,4416],{"d":4274,"fill":1726,"stroke":1726,"className":4417,"style":1752},[1743],[1724,4419,4420],{"transform":4414},[1729,4421],{"d":4422,"fill":1726,"stroke":1726,"className":4423,"style":1752},"M6.605-47.128Q5.933-47.128 5.537-47.552Q5.140-47.976 4.988-48.595Q4.836-49.214 4.836-49.882Q4.836-50.542 5.107-51.175Q5.379-51.808 5.892-52.212Q6.406-52.616 7.078-52.616Q7.367-52.616 7.615-52.517Q7.863-52.417 8.009-52.216Q8.156-52.015 8.156-51.710Q8.156-51.605 8.105-51.513Q8.054-51.421 7.963-51.370Q7.871-51.319 7.765-51.319Q7.597-51.319 7.484-51.433Q7.371-51.546 7.371-51.710Q7.371-51.870 7.480-51.987Q7.589-52.105 7.757-52.105Q7.558-52.374 7.078-52.374Q6.660-52.374 6.328-52.097Q5.996-51.819 5.820-51.401Q5.621-50.901 5.621-49.999Q5.785-50.323 6.064-50.523Q6.343-50.722 6.691-50.722Q7.175-50.722 7.560-50.476Q7.945-50.230 8.158-49.821Q8.371-49.413 8.371-48.929Q8.371-48.437 8.140-48.025Q7.910-47.612 7.500-47.370Q7.089-47.128 6.605-47.128M6.605-47.401Q7.031-47.401 7.248-47.622Q7.464-47.843 7.527-48.169Q7.589-48.495 7.589-48.929Q7.589-49.241 7.564-49.491Q7.539-49.741 7.449-49.966Q7.359-50.191 7.164-50.327Q6.968-50.464 6.652-50.464Q6.324-50.464 6.091-50.255Q5.859-50.046 5.748-49.728Q5.636-49.409 5.636-49.097Q5.640-49.058 5.642-49.025Q5.644-48.991 5.644-48.937Q5.644-48.921 5.642-48.913Q5.640-48.905 5.636-48.898Q5.636-48.323 5.863-47.862Q6.089-47.401 6.605-47.401",[1743],[1724,4425,4426],{"fill":1823,"stroke":1823},[1724,4427,4428,4434,4439,4445,4451,4457,4463,4469],{"fill":1823,"stroke":750,"fontFamily":1860,"fontSize":1832},[1724,4429,4431],{"transform":4430},"translate(8.965 51.147)",[1729,4432],{"d":4303,"fill":1823,"stroke":1823,"className":4433,"style":1752},[1743],[1724,4435,4436],{"transform":4430},[1729,4437],{"d":4309,"fill":1823,"stroke":1823,"className":4438,"style":1752},[1743],[1724,4440,4441],{"transform":4430},[1729,4442],{"d":4443,"fill":1823,"stroke":1823,"className":4444,"style":1752},"M16.827-48.273L11.514-48.273Q11.436-48.280 11.387-48.329Q11.339-48.378 11.339-48.456Q11.339-48.526 11.386-48.577Q11.432-48.628 11.514-48.640L16.827-48.640Q16.901-48.628 16.948-48.577Q16.995-48.526 16.995-48.456Q16.995-48.378 16.946-48.329Q16.897-48.280 16.827-48.273M16.827-49.960L11.514-49.960Q11.436-49.968 11.387-50.017Q11.339-50.066 11.339-50.144Q11.339-50.214 11.386-50.265Q11.432-50.316 11.514-50.327L16.827-50.327Q16.901-50.316 16.948-50.265Q16.995-50.214 16.995-50.144Q16.995-50.066 16.946-50.017Q16.897-49.968 16.827-49.960",[1743],[1724,4446,4447],{"transform":4430},[1729,4448],{"d":4449,"fill":1823,"stroke":1823,"className":4450,"style":1752},"M22.134-47.327L21.064-50.183Q20.997-50.362 20.867-50.405Q20.736-50.448 20.478-50.448L20.478-50.745L22.158-50.745L22.158-50.448Q21.708-50.448 21.708-50.249Q21.712-50.233 21.714-50.216Q21.716-50.198 21.716-50.183L22.509-48.089L23.220-49.999Q23.185-50.093 23.185-50.138Q23.185-50.183 23.150-50.183Q23.083-50.362 22.953-50.405Q22.822-50.448 22.568-50.448L22.568-50.745L24.158-50.745L24.158-50.448Q23.708-50.448 23.708-50.249Q23.712-50.230 23.714-50.212Q23.716-50.194 23.716-50.183L24.548-47.968L25.302-49.968Q25.326-50.026 25.326-50.097Q25.326-50.257 25.189-50.353Q25.052-50.448 24.884-50.448L24.884-50.745L26.271-50.745L26.271-50.448Q26.037-50.448 25.859-50.321Q25.681-50.194 25.599-49.968L24.615-47.327Q24.560-47.218 24.447-47.218L24.388-47.218Q24.275-47.218 24.232-47.327L23.372-49.601L22.517-47.327Q22.478-47.218 22.357-47.218L22.302-47.218Q22.189-47.218 22.134-47.327M28.544-47.296L26.767-47.296L26.767-47.593Q27.040-47.593 27.208-47.640Q27.376-47.687 27.376-47.855L27.376-49.991Q27.376-50.206 27.320-50.302Q27.263-50.398 27.150-50.419Q27.037-50.441 26.790-50.441L26.790-50.737L27.990-50.823L27.990-47.855Q27.990-47.687 28.136-47.640Q28.283-47.593 28.544-47.593L28.544-47.296M27.103-52.218Q27.103-52.409 27.238-52.540Q27.372-52.671 27.568-52.671Q27.689-52.671 27.792-52.608Q27.896-52.546 27.958-52.442Q28.021-52.339 28.021-52.218Q28.021-52.023 27.890-51.888Q27.759-51.753 27.568-51.753Q27.369-51.753 27.236-51.886Q27.103-52.019 27.103-52.218M30.974-47.296L29.119-47.296L29.119-47.593Q29.392-47.593 29.560-47.640Q29.728-47.687 29.728-47.855L29.728-49.991Q29.728-50.206 29.665-50.302Q29.603-50.398 29.484-50.419Q29.365-50.441 29.119-50.441L29.119-50.737L30.310-50.823L30.310-50.089Q30.423-50.304 30.617-50.472Q30.810-50.640 31.048-50.732Q31.287-50.823 31.540-50.823Q32.708-50.823 32.708-49.745L32.708-47.855Q32.708-47.687 32.878-47.640Q33.048-47.593 33.318-47.593L33.318-47.296L31.462-47.296L31.462-47.593Q31.736-47.593 31.904-47.640Q32.072-47.687 32.072-47.855L32.072-49.730Q32.072-50.112 31.951-50.341Q31.830-50.569 31.478-50.569Q31.165-50.569 30.912-50.407Q30.658-50.245 30.511-49.976Q30.365-49.706 30.365-49.409L30.365-47.855Q30.365-47.687 30.535-47.640Q30.705-47.593 30.974-47.593L30.974-47.296M35.580-47.218Q35.099-47.218 34.691-47.462Q34.283-47.706 34.044-48.120Q33.806-48.534 33.806-49.023Q33.806-49.515 34.064-49.931Q34.322-50.347 34.753-50.585Q35.185-50.823 35.677-50.823Q36.298-50.823 36.748-50.386L36.748-52.015Q36.748-52.230 36.685-52.325Q36.623-52.421 36.505-52.442Q36.388-52.464 36.142-52.464L36.142-52.761L37.365-52.847L37.365-48.038Q37.365-47.827 37.427-47.732Q37.490-47.636 37.607-47.614Q37.724-47.593 37.974-47.593L37.974-47.296L36.724-47.218L36.724-47.702Q36.259-47.218 35.580-47.218M35.646-47.472Q35.986-47.472 36.279-47.663Q36.572-47.855 36.724-48.151L36.724-49.983Q36.576-50.257 36.314-50.413Q36.052-50.569 35.740-50.569Q35.115-50.569 34.831-50.122Q34.548-49.675 34.548-49.015Q34.548-48.370 34.800-47.921Q35.052-47.472 35.646-47.472M38.482-48.991Q38.482-49.495 38.738-49.927Q38.994-50.358 39.429-50.610Q39.865-50.862 40.365-50.862Q40.751-50.862 41.093-50.718Q41.435-50.573 41.697-50.312Q41.958-50.050 42.101-49.714Q42.244-49.378 42.244-48.991Q42.244-48.499 41.980-48.089Q41.716-47.679 41.287-47.448Q40.857-47.218 40.365-47.218Q39.873-47.218 39.439-47.450Q39.005-47.683 38.744-48.091Q38.482-48.499 38.482-48.991M40.365-47.495Q40.822-47.495 41.074-47.718Q41.326-47.941 41.414-48.292Q41.501-48.644 41.501-49.089Q41.501-49.519 41.408-49.857Q41.314-50.194 41.060-50.401Q40.806-50.608 40.365-50.608Q39.716-50.608 39.472-50.192Q39.228-49.776 39.228-49.089Q39.228-48.644 39.316-48.292Q39.404-47.941 39.656-47.718Q39.908-47.495 40.365-47.495",[1743],[1724,4452,4453],{"transform":4430},[1729,4454],{"d":4455,"fill":1823,"stroke":1823,"className":4456,"style":1752},"M44.093-47.327L43.023-50.183Q42.956-50.362 42.826-50.405Q42.695-50.448 42.437-50.448L42.437-50.745L44.117-50.745L44.117-50.448Q43.667-50.448 43.667-50.249Q43.671-50.233 43.673-50.216Q43.675-50.198 43.675-50.183L44.468-48.089L45.179-49.999Q45.144-50.093 45.144-50.138Q45.144-50.183 45.109-50.183Q45.042-50.362 44.912-50.405Q44.781-50.448 44.527-50.448L44.527-50.745L46.117-50.745L46.117-50.448Q45.667-50.448 45.667-50.249Q45.671-50.230 45.673-50.212Q45.675-50.194 45.675-50.183L46.507-47.968L47.261-49.968Q47.285-50.026 47.285-50.097Q47.285-50.257 47.148-50.353Q47.011-50.448 46.843-50.448L46.843-50.745L48.230-50.745L48.230-50.448Q47.996-50.448 47.818-50.321Q47.640-50.194 47.558-49.968L46.574-47.327Q46.519-47.218 46.406-47.218L46.347-47.218Q46.234-47.218 46.191-47.327L45.331-49.601L44.476-47.327Q44.437-47.218 44.316-47.218L44.261-47.218Q44.148-47.218 44.093-47.327",[1743],[1724,4458,4459],{"transform":4430},[1729,4460],{"d":4461,"fill":1823,"stroke":1823,"className":4462,"style":1752},"M53.409-47.296L51.553-47.296L51.553-47.593Q51.827-47.593 51.995-47.640Q52.163-47.687 52.163-47.855L52.163-49.991Q52.163-50.206 52.100-50.302Q52.038-50.398 51.919-50.419Q51.800-50.441 51.553-50.441L51.553-50.737L52.745-50.823L52.745-50.089Q52.858-50.304 53.052-50.472Q53.245-50.640 53.483-50.732Q53.721-50.823 53.975-50.823Q54.936-50.823 55.112-50.112Q55.296-50.441 55.624-50.632Q55.952-50.823 56.331-50.823Q57.507-50.823 57.507-49.745L57.507-47.855Q57.507-47.687 57.675-47.640Q57.843-47.593 58.112-47.593L58.112-47.296L56.257-47.296L56.257-47.593Q56.530-47.593 56.698-47.638Q56.866-47.683 56.866-47.855L56.866-49.730Q56.866-50.116 56.741-50.343Q56.616-50.569 56.264-50.569Q55.960-50.569 55.704-50.407Q55.448-50.245 55.300-49.976Q55.151-49.706 55.151-49.409L55.151-47.855Q55.151-47.687 55.321-47.640Q55.491-47.593 55.761-47.593L55.761-47.296L53.905-47.296L53.905-47.593Q54.178-47.593 54.346-47.640Q54.514-47.687 54.514-47.855L54.514-49.730Q54.514-50.116 54.389-50.343Q54.264-50.569 53.913-50.569Q53.608-50.569 53.352-50.407Q53.096-50.245 52.948-49.976Q52.800-49.706 52.800-49.409L52.800-47.855Q52.800-47.687 52.970-47.640Q53.139-47.593 53.409-47.593L53.409-47.296M58.655-48.128Q58.655-48.612 59.057-48.907Q59.460-49.202 60.011-49.321Q60.561-49.441 61.053-49.441L61.053-49.730Q61.053-49.956 60.938-50.163Q60.823-50.370 60.626-50.489Q60.428-50.608 60.198-50.608Q59.772-50.608 59.487-50.503Q59.557-50.476 59.604-50.421Q59.651-50.366 59.677-50.296Q59.702-50.226 59.702-50.151Q59.702-50.046 59.651-49.954Q59.600-49.862 59.509-49.812Q59.417-49.761 59.311-49.761Q59.206-49.761 59.114-49.812Q59.022-49.862 58.971-49.954Q58.921-50.046 58.921-50.151Q58.921-50.569 59.309-50.716Q59.698-50.862 60.198-50.862Q60.530-50.862 60.884-50.732Q61.237-50.601 61.466-50.347Q61.694-50.093 61.694-49.745L61.694-47.944Q61.694-47.812 61.766-47.702Q61.839-47.593 61.968-47.593Q62.093-47.593 62.161-47.698Q62.229-47.804 62.229-47.944L62.229-48.456L62.511-48.456L62.511-47.944Q62.511-47.741 62.393-47.583Q62.276-47.425 62.095-47.341Q61.913-47.257 61.710-47.257Q61.479-47.257 61.327-47.429Q61.175-47.601 61.143-47.831Q60.983-47.550 60.675-47.384Q60.366-47.218 60.014-47.218Q59.503-47.218 59.079-47.441Q58.655-47.663 58.655-48.128M59.343-48.128Q59.343-47.843 59.569-47.657Q59.796-47.472 60.089-47.472Q60.335-47.472 60.559-47.589Q60.784-47.706 60.919-47.909Q61.053-48.112 61.053-48.366L61.053-49.198Q60.788-49.198 60.503-49.144Q60.218-49.089 59.946-48.960Q59.675-48.831 59.509-48.624Q59.343-48.417 59.343-48.128M64.190-47.296L62.694-47.296L62.694-47.593Q63.327-47.593 63.749-48.073L64.518-48.983L63.526-50.183Q63.370-50.362 63.208-50.405Q63.046-50.448 62.741-50.448L62.741-50.745L64.428-50.745L64.428-50.448Q64.335-50.448 64.259-50.405Q64.182-50.362 64.182-50.273Q64.182-50.230 64.214-50.183L64.870-49.394L65.350-49.968Q65.468-50.105 65.468-50.241Q65.468-50.331 65.417-50.390Q65.366-50.448 65.284-50.448L65.284-50.745L66.772-50.745L66.772-50.448Q66.136-50.448 65.725-49.968L65.046-49.167L66.132-47.855Q66.292-47.679 66.452-47.636Q66.612-47.593 66.917-47.593L66.917-47.296L65.229-47.296L65.229-47.593Q65.319-47.593 65.397-47.636Q65.475-47.679 65.475-47.769Q65.475-47.792 65.444-47.855L64.702-48.761L64.116-48.073Q63.999-47.937 63.999-47.800Q63.999-47.714 64.050-47.653Q64.100-47.593 64.190-47.593",[1743],[1724,4464,4465],{"transform":4430},[1729,4466],{"d":4467,"fill":1823,"stroke":1823,"className":4468,"style":1752},"M75.855-48.273L70.542-48.273Q70.464-48.280 70.415-48.329Q70.367-48.378 70.367-48.456Q70.367-48.526 70.414-48.577Q70.460-48.628 70.542-48.640L75.855-48.640Q75.929-48.628 75.976-48.577Q76.023-48.526 76.023-48.456Q76.023-48.378 75.974-48.329Q75.925-48.280 75.855-48.273M75.855-49.960L70.542-49.960Q70.464-49.968 70.415-50.017Q70.367-50.066 70.367-50.144Q70.367-50.214 70.414-50.265Q70.460-50.316 70.542-50.327L75.855-50.327Q75.929-50.316 75.976-50.265Q76.023-50.214 76.023-50.144Q76.023-50.066 75.974-50.017Q75.925-49.968 75.855-49.960",[1743],[1724,4470,4471],{"transform":4430},[1729,4472],{"d":4473,"fill":1823,"stroke":1823,"className":4474,"style":1752},"M80.988-47.128Q80.316-47.128 79.920-47.552Q79.523-47.976 79.371-48.595Q79.219-49.214 79.219-49.882Q79.219-50.542 79.490-51.175Q79.762-51.808 80.275-52.212Q80.789-52.616 81.461-52.616Q81.750-52.616 81.998-52.517Q82.246-52.417 82.392-52.216Q82.539-52.015 82.539-51.710Q82.539-51.605 82.488-51.513Q82.437-51.421 82.346-51.370Q82.254-51.319 82.148-51.319Q81.980-51.319 81.867-51.433Q81.754-51.546 81.754-51.710Q81.754-51.870 81.863-51.987Q81.972-52.105 82.140-52.105Q81.941-52.374 81.461-52.374Q81.043-52.374 80.711-52.097Q80.379-51.819 80.203-51.401Q80.004-50.901 80.004-49.999Q80.168-50.323 80.447-50.523Q80.726-50.722 81.074-50.722Q81.558-50.722 81.943-50.476Q82.328-50.230 82.541-49.821Q82.754-49.413 82.754-48.929Q82.754-48.437 82.523-48.025Q82.293-47.612 81.883-47.370Q81.472-47.128 80.988-47.128M80.988-47.401Q81.414-47.401 81.631-47.622Q81.847-47.843 81.910-48.169Q81.972-48.495 81.972-48.929Q81.972-49.241 81.947-49.491Q81.922-49.741 81.832-49.966Q81.742-50.191 81.547-50.327Q81.351-50.464 81.035-50.464Q80.707-50.464 80.474-50.255Q80.242-50.046 80.131-49.728Q80.019-49.409 80.019-49.097Q80.023-49.058 80.025-49.025Q80.027-48.991 80.027-48.937Q80.027-48.921 80.025-48.913Q80.023-48.905 80.019-48.898Q80.019-48.323 80.246-47.862Q80.472-47.401 80.988-47.401",[1743],[2036,4476,4478,4479,4504,4505,4538,4539,4623,4624,4639,4640,2191,4664,4688,4689,4710,4711,4741],{"className":4477},[2039],"Deque step at ",[415,4480,4482],{"className":4481},[418],[415,4483,4485],{"className":4484,"ariaHidden":423},[422],[415,4486,4488,4491,4494,4500],{"className":4487},[427],[415,4489],{"className":4490,"style":467},[431],[415,4492,471],{"className":4493},[436,437],[415,4495,4497],{"className":4496},[436],[415,4498,1279],{"className":4499},[681],[415,4501,4503],{"className":4502},[436],"6"," (",[415,4506,4508],{"className":4507},[418],[415,4509,4511],{"className":4510,"ariaHidden":423},[422],[415,4512,4514,4517,4520,4523,4526,4529,4535],{"className":4513},[427],[415,4515],{"className":4516,"style":485},[431],[415,4518,385],{"className":4519},[436,437],[415,4521,493],{"className":4522},[492],[415,4524,4503],{"className":4525},[436],[415,4527,501],{"className":4528},[500],[415,4530,4532],{"className":4531},[436],[415,4533,1279],{"className":4534},[681],[415,4536,4503],{"className":4537},[436],") on ",[415,4540,4542],{"className":4541},[418],[415,4543,4545,4563],{"className":4544,"ariaHidden":423},[422],[415,4546,4548,4551,4554,4557,4560],{"className":4547},[427],[415,4549],{"className":4550,"style":1560},[431],[415,4552,385],{"className":4553},[436,437],[415,4555],{"className":4556,"style":677},[676],[415,4558,1279],{"className":4559},[681],[415,4561],{"className":4562,"style":677},[676],[415,4564,4566,4569,4572,4575,4578,4581,4584,4587,4590,4593,4596,4599,4602,4605,4608,4611,4614,4617,4620],{"className":4565},[427],[415,4567],{"className":4568,"style":485},[431],[415,4570,2074],{"className":4571},[492],[415,4573,451],{"className":4574},[436],[415,4576,2082],{"className":4577},[2081],[415,4579],{"className":4580,"style":2086},[676],[415,4582,2100],{"className":4583},[436],[415,4585,2082],{"className":4586},[2081],[415,4588],{"className":4589,"style":2086},[676],[415,4591,2090],{"className":4592},[436],[415,4594,2082],{"className":4595},[2081],[415,4597],{"className":4598,"style":2086},[676],[415,4600,582],{"className":4601},[436],[415,4603,2082],{"className":4604},[2081],[415,4606],{"className":4607,"style":2086},[676],[415,4609,2119],{"className":4610},[436],[415,4612,2082],{"className":4613},[2081],[415,4615],{"className":4616,"style":2086},[676],[415,4618,4503],{"className":4619},[436],[415,4621,2123],{"className":4622},[500],". The incoming ",[415,4625,4627],{"className":4626},[418],[415,4628,4630],{"className":4629,"ariaHidden":423},[422],[415,4631,4633,4636],{"className":4632},[427],[415,4634],{"className":4635,"style":2171},[431],[415,4637,4503],{"className":4638},[436]," exceeds both tails, so back-popping clears indices ",[415,4641,4643],{"className":4642},[418],[415,4644,4646],{"className":4645,"ariaHidden":423},[422],[415,4647,4649,4652,4655,4658,4661],{"className":4648},[427],[415,4650],{"className":4651,"style":2204},[431],[415,4653,2090],{"className":4654},[436],[415,4656,2082],{"className":4657},[2081],[415,4659],{"className":4660,"style":2086},[676],[415,4662,2100],{"className":4663},[436],[415,4665,4667],{"className":4666},[418],[415,4668,4670],{"className":4669,"ariaHidden":423},[422],[415,4671,4673,4676,4679,4682,4685],{"className":4672},[427],[415,4674],{"className":4675,"style":2204},[431],[415,4677,2119],{"className":4678},[436],[415,4680,2082],{"className":4681},[2081],[415,4683],{"className":4684,"style":2086},[676],[415,4686,2090],{"className":4687},[436],"); the deque collapses to ",[415,4690,4692],{"className":4691},[418],[415,4693,4695],{"className":4694,"ariaHidden":423},[422],[415,4696,4698,4701,4704,4707],{"className":4697},[427],[415,4699],{"className":4700,"style":485},[431],[415,4702,2074],{"className":4703},[492],[415,4705,4503],{"className":4706},[436],[415,4708,2123],{"className":4709},[500],", the new window-",[415,4712,4714],{"className":4713},[418],[415,4715,4717],{"className":4716,"ariaHidden":423},[422],[415,4718,4720,4723,4726,4729,4732,4735,4738],{"className":4719},[427],[415,4721],{"className":4722,"style":485},[431],[415,4724,493],{"className":4725},[492],[415,4727,2119],{"className":4728},[436],[415,4730,2082],{"className":4731},[2081],[415,4733],{"className":4734,"style":2086},[676],[415,4736,4503],{"className":4737},[436],[415,4739,501],{"className":4740},[500]," maximum",[593,4743,4745],{"id":4744},"why-one-idea-covers-so-many-problems","Why one idea covers so many problems",[381,4747,4748,4749,4752,4753,4768,4769,4789,4790,4793,4794,4818],{},"Stock span, daily temperatures, largest rectangle, maximal rectangle in a binary\nmatrix (a histogram per row), and trapping rain water are all the ",[395,4750,4751],{},"same\nprevious\u002Fnext-greater-or-smaller machinery",". Trapping rain water, for instance,\nholds water above index ",[415,4754,4756],{"className":4755},[418],[415,4757,4759],{"className":4758,"ariaHidden":423},[422],[415,4760,4762,4765],{"className":4761},[427],[415,4763],{"className":4764,"style":467},[431],[415,4766,471],{"className":4767},[436,437]," up to ",[415,4770,4772],{"className":4771},[418],[415,4773,4775],{"className":4774,"ariaHidden":423},[422],[415,4776,4778,4782],{"className":4777},[427],[415,4779],{"className":4780,"style":4781},[431],"height:0.6679em;",[415,4783,4785],{"className":4784},[3417],[415,4786,4788],{"className":4787},[436,3421],"min"," of the tallest bar to its left and the\ntallest bar to its right: two directional maxima that a monotonic stack supplies\nin one pass each. Once you recognize ",[404,4791,4792],{},"nearest element beating me on one side,"," the\nmonotonic stack (or, for windowed maxima, the monotonic deque) is the reflex: one\npush and one pop per element, ",[415,4795,4797],{"className":4796},[418],[415,4798,4800],{"className":4799,"ariaHidden":423},[422],[415,4801,4803,4806,4809,4812,4815],{"className":4802},[427],[415,4804],{"className":4805,"style":485},[431],[415,4807,1458],{"className":4808,"style":1457},[436,437],[415,4810,539],{"className":4811},[492],[415,4813,546],{"className":4814},[436,437],[415,4816,586],{"className":4817},[500]," total.",[1711,4820,4822,5019],{"className":4821},[1714,1715],[1717,4823,4827],{"xmlns":1719,"width":4824,"height":4825,"viewBox":4826},"245.269","146.091","-75 -75 183.952 109.568",[1724,4828,4829,4832,4835,4839,4842,4845,4849,4917],{"stroke":1726,"style":1727},[1729,4830],{"fill":1731,"stroke":750,"d":4831},"M-37.72 13.373v-59.751h19.917v59.75Zm19.917-59.751",[1729,4833],{"fill":1731,"stroke":750,"d":4834},"M-17.803-26.461v-19.917H2.114v19.917ZM2.114 13.373v-59.751h19.917v59.75ZM41.948-6.544v-39.834h19.917v39.834ZM61.865-26.461v-19.917h19.917v19.917Zm19.917-19.917",[1729,4836],{"fill":750,"stroke":4837,"d":4838,"style":1963},"var(--tk-line)","M-57.637 13.373v-59.751h19.917v59.75ZM-17.803 13.373v-39.834H2.114v39.834ZM22.031 13.373v-79.668h19.917v79.668ZM41.948 13.373V-6.544h19.917v19.917ZM61.865 13.373v-39.834h19.917v39.834Zm19.917-39.834",[1729,4840],{"fill":750,"stroke":4837,"d":4841,"style":1963},"M81.782 13.373v-59.751h19.917v59.75Zm19.917-59.751",[1729,4843],{"fill":750,"d":4844,"style":1963},"M-57.637 13.373H101.7",[1729,4846],{"fill":750,"stroke":1823,"d":4847,"style":4848},"M-57.637-46.378H101.7","stroke-dasharray:3.0,3.0;stroke-width:.8",[1724,4850,4851,4854],{"fill":3107,"stroke":1823},[1729,4852],{"fill":3107,"stroke":750,"d":4853},"M-23.221-50.34h90.504v-10h-90.504Z",[1724,4855,4856,4863,4869,4875,4881,4887,4893,4899,4905,4911],{"fill":1823,"stroke":750,"fontSize":1832},[1724,4857,4859],{"transform":4858},"translate(35.416 -66.713)",[1729,4860],{"d":4861,"fill":1823,"stroke":1823,"className":4862,"style":1752},"M-55.813 13.342L-56.883 10.486Q-56.950 10.307-57.080 10.264Q-57.211 10.221-57.469 10.221L-57.469 9.924L-55.789 9.924L-55.789 10.221Q-56.239 10.221-56.239 10.420Q-56.235 10.435-56.233 10.453Q-56.231 10.471-56.231 10.486L-55.438 12.580L-54.727 10.670Q-54.762 10.576-54.762 10.531Q-54.762 10.486-54.797 10.486Q-54.864 10.307-54.994 10.264Q-55.125 10.221-55.379 10.221L-55.379 9.924L-53.789 9.924L-53.789 10.221Q-54.239 10.221-54.239 10.420Q-54.235 10.439-54.233 10.457Q-54.231 10.475-54.231 10.486L-53.399 12.701L-52.645 10.701Q-52.621 10.643-52.621 10.572Q-52.621 10.412-52.758 10.316Q-52.895 10.221-53.063 10.221L-53.063 9.924L-51.676 9.924L-51.676 10.221Q-51.910 10.221-52.088 10.348Q-52.266 10.475-52.348 10.701L-53.332 13.342Q-53.387 13.451-53.500 13.451L-53.559 13.451Q-53.672 13.451-53.715 13.342L-54.575 11.068L-55.430 13.342Q-55.469 13.451-55.590 13.451L-55.645 13.451Q-55.758 13.451-55.813 13.342",[1743],[1724,4864,4865],{"transform":4858},[1729,4866],{"d":4867,"fill":1823,"stroke":1823,"className":4868,"style":1752},"M-51.398 12.541Q-51.398 12.057-50.996 11.762Q-50.593 11.467-50.043 11.348Q-49.492 11.228-49 11.228L-49 10.939Q-49 10.713-49.115 10.506Q-49.230 10.299-49.427 10.180Q-49.625 10.060-49.855 10.060Q-50.281 10.060-50.566 10.166Q-50.496 10.193-50.449 10.248Q-50.402 10.303-50.377 10.373Q-50.351 10.443-50.351 10.518Q-50.351 10.623-50.402 10.715Q-50.453 10.807-50.545 10.857Q-50.636 10.908-50.742 10.908Q-50.847 10.908-50.939 10.857Q-51.031 10.807-51.082 10.715Q-51.132 10.623-51.132 10.518Q-51.132 10.100-50.744 9.953Q-50.355 9.807-49.855 9.807Q-49.523 9.807-49.170 9.937Q-48.816 10.068-48.588 10.322Q-48.359 10.576-48.359 10.924L-48.359 12.725Q-48.359 12.857-48.287 12.967Q-48.214 13.076-48.086 13.076Q-47.961 13.076-47.892 12.971Q-47.824 12.865-47.824 12.725L-47.824 12.213L-47.543 12.213L-47.543 12.725Q-47.543 12.928-47.660 13.086Q-47.777 13.244-47.959 13.328Q-48.140 13.412-48.343 13.412Q-48.574 13.412-48.726 13.240Q-48.879 13.068-48.910 12.838Q-49.070 13.119-49.379 13.285Q-49.687 13.451-50.039 13.451Q-50.550 13.451-50.974 13.228Q-51.398 13.006-51.398 12.541M-50.711 12.541Q-50.711 12.826-50.484 13.012Q-50.257 13.197-49.964 13.197Q-49.718 13.197-49.494 13.080Q-49.269 12.963-49.134 12.760Q-49 12.557-49 12.303L-49 11.471Q-49.265 11.471-49.550 11.525Q-49.836 11.580-50.107 11.709Q-50.379 11.838-50.545 12.045Q-50.711 12.252-50.711 12.541M-46.625 12.412L-46.625 10.221L-47.328 10.221L-47.328 9.967Q-46.972 9.967-46.730 9.734Q-46.488 9.502-46.377 9.154Q-46.265 8.807-46.265 8.451L-45.984 8.451L-45.984 9.924L-44.808 9.924L-44.808 10.221L-45.984 10.221L-45.984 12.396Q-45.984 12.717-45.865 12.945Q-45.746 13.174-45.464 13.174Q-45.285 13.174-45.168 13.051Q-45.050 12.928-44.998 12.748Q-44.945 12.568-44.945 12.396L-44.945 11.924L-44.664 11.924L-44.664 12.412Q-44.664 12.666-44.769 12.906Q-44.875 13.146-45.072 13.299Q-45.269 13.451-45.527 13.451Q-45.843 13.451-46.095 13.328Q-46.347 13.205-46.486 12.971Q-46.625 12.736-46.625 12.412M-43.945 11.619Q-43.945 11.139-43.713 10.723Q-43.480 10.307-43.070 10.057Q-42.660 9.807-42.183 9.807Q-41.453 9.807-41.054 10.248Q-40.656 10.689-40.656 11.420Q-40.656 11.525-40.750 11.549L-43.199 11.549L-43.199 11.619Q-43.199 12.029-43.078 12.385Q-42.957 12.740-42.685 12.957Q-42.414 13.174-41.984 13.174Q-41.621 13.174-41.324 12.945Q-41.027 12.717-40.925 12.365Q-40.918 12.318-40.832 12.303L-40.750 12.303Q-40.656 12.330-40.656 12.412Q-40.656 12.420-40.664 12.451Q-40.726 12.678-40.865 12.861Q-41.004 13.045-41.195 13.178Q-41.386 13.310-41.605 13.381Q-41.824 13.451-42.062 13.451Q-42.433 13.451-42.771 13.314Q-43.109 13.178-43.377 12.926Q-43.644 12.674-43.795 12.334Q-43.945 11.994-43.945 11.619M-43.191 11.310L-41.230 11.310Q-41.230 11.006-41.332 10.715Q-41.433 10.424-41.650 10.242Q-41.867 10.060-42.183 10.060Q-42.484 10.060-42.714 10.248Q-42.945 10.435-43.068 10.727Q-43.191 11.018-43.191 11.310M-38.160 13.373L-40.140 13.373L-40.140 13.076Q-39.871 13.076-39.703 13.031Q-39.535 12.986-39.535 12.814L-39.535 10.678Q-39.535 10.463-39.597 10.367Q-39.660 10.271-39.777 10.250Q-39.894 10.228-40.140 10.228L-40.140 9.932L-38.972 9.846L-38.972 10.631Q-38.894 10.420-38.742 10.234Q-38.589 10.049-38.390 9.947Q-38.191 9.846-37.964 9.846Q-37.718 9.846-37.527 9.990Q-37.336 10.135-37.336 10.365Q-37.336 10.521-37.441 10.631Q-37.547 10.740-37.703 10.740Q-37.859 10.740-37.968 10.631Q-38.078 10.521-38.078 10.365Q-38.078 10.205-37.972 10.100Q-38.297 10.100-38.511 10.328Q-38.726 10.557-38.822 10.896Q-38.918 11.236-38.918 11.541L-38.918 12.814Q-38.918 12.982-38.691 13.029Q-38.464 13.076-38.160 13.076",[1743],[1724,4870,4871],{"transform":4858},[1729,4872],{"d":4873,"fill":1823,"stroke":1823,"className":4874,"style":1752},"M-32.102 13.373L-33.934 13.373L-33.934 13.076Q-33.660 13.076-33.492 13.029Q-33.324 12.982-33.324 12.814L-33.324 8.654Q-33.324 8.439-33.387 8.344Q-33.449 8.248-33.568 8.227Q-33.688 8.205-33.934 8.205L-33.934 7.908L-32.711 7.822L-32.711 12.814Q-32.711 12.982-32.543 13.029Q-32.375 13.076-32.102 13.076L-32.102 13.373M-31.656 11.619Q-31.656 11.139-31.424 10.723Q-31.191 10.307-30.781 10.057Q-30.371 9.807-29.895 9.807Q-29.164 9.807-28.766 10.248Q-28.367 10.689-28.367 11.420Q-28.367 11.525-28.461 11.549L-30.910 11.549L-30.910 11.619Q-30.910 12.029-30.789 12.385Q-30.668 12.740-30.397 12.957Q-30.125 13.174-29.695 13.174Q-29.332 13.174-29.035 12.945Q-28.738 12.717-28.637 12.365Q-28.629 12.318-28.543 12.303L-28.461 12.303Q-28.367 12.330-28.367 12.412Q-28.367 12.420-28.375 12.451Q-28.438 12.678-28.576 12.861Q-28.715 13.045-28.906 13.178Q-29.098 13.310-29.316 13.381Q-29.535 13.451-29.774 13.451Q-30.145 13.451-30.483 13.314Q-30.820 13.178-31.088 12.926Q-31.356 12.674-31.506 12.334Q-31.656 11.994-31.656 11.619M-30.902 11.310L-28.941 11.310Q-28.941 11.006-29.043 10.715Q-29.145 10.424-29.361 10.242Q-29.578 10.060-29.895 10.060Q-30.195 10.060-30.426 10.248Q-30.656 10.435-30.779 10.727Q-30.902 11.018-30.902 11.310M-26.078 13.342L-27.301 10.486Q-27.383 10.310-27.527 10.266Q-27.672 10.221-27.941 10.221L-27.941 9.924L-26.231 9.924L-26.231 10.221Q-26.652 10.221-26.652 10.404Q-26.652 10.439-26.637 10.486L-25.691 12.678L-24.852 10.701Q-24.813 10.623-24.813 10.533Q-24.813 10.393-24.918 10.307Q-25.024 10.221-25.164 10.221L-25.164 9.924L-23.813 9.924L-23.813 10.221Q-24.336 10.221-24.551 10.701L-25.676 13.342Q-25.738 13.451-25.844 13.451L-25.910 13.451Q-26.024 13.451-26.078 13.342",[1743],[1724,4876,4877],{"transform":4858},[1729,4878],{"d":4879,"fill":1823,"stroke":1823,"className":4880,"style":1752},"M-23.627 11.619Q-23.627 11.139-23.394 10.723Q-23.162 10.307-22.752 10.057Q-22.342 9.807-21.865 9.807Q-21.135 9.807-20.736 10.248Q-20.338 10.689-20.338 11.420Q-20.338 11.525-20.431 11.549L-22.881 11.549L-22.881 11.619Q-22.881 12.029-22.760 12.385Q-22.638 12.740-22.367 12.957Q-22.095 13.174-21.666 13.174Q-21.302 13.174-21.006 12.945Q-20.709 12.717-20.607 12.365Q-20.599 12.318-20.513 12.303L-20.431 12.303Q-20.338 12.330-20.338 12.412Q-20.338 12.420-20.345 12.451Q-20.408 12.678-20.547 12.861Q-20.685 13.045-20.877 13.178Q-21.068 13.310-21.287 13.381Q-21.506 13.451-21.744 13.451Q-22.115 13.451-22.453 13.314Q-22.791 13.178-23.058 12.926Q-23.326 12.674-23.476 12.334Q-23.627 11.994-23.627 11.619M-22.873 11.310L-20.912 11.310Q-20.912 11.006-21.013 10.715Q-21.115 10.424-21.332 10.242Q-21.549 10.060-21.865 10.060Q-22.166 10.060-22.396 10.248Q-22.627 10.435-22.750 10.727Q-22.873 11.018-22.873 11.310M-17.935 13.373L-19.767 13.373L-19.767 13.076Q-19.494 13.076-19.326 13.029Q-19.158 12.982-19.158 12.814L-19.158 8.654Q-19.158 8.439-19.220 8.344Q-19.283 8.248-19.402 8.227Q-19.521 8.205-19.767 8.205L-19.767 7.908L-18.545 7.822L-18.545 12.814Q-18.545 12.982-18.377 13.029Q-18.209 13.076-17.935 13.076",[1743],[1724,4882,4883],{"transform":4858},[1729,4884],{"d":4885,"fill":1823,"stroke":1823,"className":4886,"style":1752},"M-8.932 12.396L-14.245 12.396Q-14.323 12.389-14.372 12.340Q-14.420 12.291-14.420 12.213Q-14.420 12.143-14.373 12.092Q-14.327 12.041-14.245 12.029L-8.932 12.029Q-8.858 12.041-8.811 12.092Q-8.764 12.143-8.764 12.213Q-8.764 12.291-8.813 12.340Q-8.862 12.389-8.932 12.396M-8.932 10.709L-14.245 10.709Q-14.323 10.701-14.372 10.652Q-14.420 10.603-14.420 10.525Q-14.420 10.455-14.373 10.404Q-14.327 10.353-14.245 10.342L-8.932 10.342Q-8.858 10.353-8.811 10.404Q-8.764 10.455-8.764 10.525Q-8.764 10.603-8.813 10.652Q-8.862 10.701-8.932 10.709",[1743],[1724,4888,4889],{"transform":4858},[1729,4890],{"d":4891,"fill":1823,"stroke":1823,"className":4892,"style":1752},"M-3.753 13.373L-5.609 13.373L-5.609 13.076Q-5.335 13.076-5.167 13.029Q-4.999 12.982-4.999 12.814L-4.999 10.678Q-4.999 10.463-5.062 10.367Q-5.124 10.271-5.243 10.250Q-5.362 10.228-5.609 10.228L-5.609 9.932L-4.417 9.846L-4.417 10.580Q-4.304 10.365-4.110 10.197Q-3.917 10.029-3.679 9.937Q-3.441 9.846-3.187 9.846Q-2.226 9.846-2.050 10.557Q-1.866 10.228-1.538 10.037Q-1.210 9.846-0.831 9.846Q0.345 9.846 0.345 10.924L0.345 12.814Q0.345 12.982 0.513 13.029Q0.681 13.076 0.950 13.076L0.950 13.373L-0.905 13.373L-0.905 13.076Q-0.632 13.076-0.464 13.031Q-0.296 12.986-0.296 12.814L-0.296 10.939Q-0.296 10.553-0.421 10.326Q-0.546 10.100-0.898 10.100Q-1.202 10.100-1.458 10.262Q-1.714 10.424-1.862 10.693Q-2.011 10.963-2.011 11.260L-2.011 12.814Q-2.011 12.982-1.841 13.029Q-1.671 13.076-1.401 13.076L-1.401 13.373L-3.257 13.373L-3.257 13.076Q-2.984 13.076-2.816 13.029Q-2.648 12.982-2.648 12.814L-2.648 10.939Q-2.648 10.553-2.773 10.326Q-2.898 10.100-3.249 10.100Q-3.554 10.100-3.810 10.262Q-4.066 10.424-4.214 10.693Q-4.362 10.963-4.362 11.260L-4.362 12.814Q-4.362 12.982-4.192 13.029Q-4.023 13.076-3.753 13.076L-3.753 13.373M3.255 13.373L1.477 13.373L1.477 13.076Q1.751 13.076 1.919 13.029Q2.087 12.982 2.087 12.814L2.087 10.678Q2.087 10.463 2.030 10.367Q1.974 10.271 1.860 10.250Q1.747 10.228 1.501 10.228L1.501 9.932L2.700 9.846L2.700 12.814Q2.700 12.982 2.847 13.029Q2.993 13.076 3.255 13.076L3.255 13.373M1.813 8.451Q1.813 8.260 1.948 8.129Q2.083 7.998 2.278 7.998Q2.399 7.998 2.503 8.060Q2.606 8.123 2.669 8.227Q2.731 8.330 2.731 8.451Q2.731 8.646 2.600 8.781Q2.470 8.916 2.278 8.916Q2.079 8.916 1.946 8.783Q1.813 8.650 1.813 8.451M5.684 13.373L3.829 13.373L3.829 13.076Q4.102 13.076 4.270 13.029Q4.438 12.982 4.438 12.814L4.438 10.678Q4.438 10.463 4.376 10.367Q4.313 10.271 4.194 10.250Q4.075 10.228 3.829 10.228L3.829 9.932L5.020 9.846L5.020 10.580Q5.134 10.365 5.327 10.197Q5.520 10.029 5.759 9.937Q5.997 9.846 6.251 9.846Q7.419 9.846 7.419 10.924L7.419 12.814Q7.419 12.982 7.589 13.029Q7.759 13.076 8.028 13.076L8.028 13.373L6.173 13.373L6.173 13.076Q6.446 13.076 6.614 13.029Q6.782 12.982 6.782 12.814L6.782 10.939Q6.782 10.557 6.661 10.328Q6.540 10.100 6.188 10.100Q5.876 10.100 5.622 10.262Q5.368 10.424 5.222 10.693Q5.075 10.963 5.075 11.260L5.075 12.814Q5.075 12.982 5.245 13.029Q5.415 13.076 5.684 13.076",[1743],[1724,4894,4895],{"transform":4858},[1729,4896],{"d":4897,"fill":1823,"stroke":1823,"className":4898,"style":1752},"M10.863 15.365Q10.250 14.908 9.848 14.273Q9.445 13.639 9.250 12.893Q9.055 12.146 9.055 11.373Q9.055 10.600 9.250 9.853Q9.445 9.107 9.848 8.473Q10.250 7.838 10.863 7.381Q10.875 7.377 10.883 7.375Q10.891 7.373 10.902 7.373L10.980 7.373Q11.019 7.373 11.045 7.400Q11.070 7.428 11.070 7.471Q11.070 7.521 11.039 7.541Q10.531 7.994 10.209 8.617Q9.887 9.240 9.746 9.935Q9.605 10.631 9.605 11.373Q9.605 12.107 9.744 12.807Q9.883 13.506 10.207 14.131Q10.531 14.756 11.039 15.205Q11.070 15.225 11.070 15.275Q11.070 15.318 11.045 15.346Q11.019 15.373 10.980 15.373L10.902 15.373Q10.894 15.369 10.885 15.367Q10.875 15.365 10.863 15.365",[1743],[1724,4900,4901],{"transform":4858},[1729,4902],{"d":4903,"fill":1823,"stroke":1823,"className":4904,"style":1752},"M16.200 13.373L12.032 13.373Q11.935 13.342 11.935 13.244L11.958 13.143Q11.993 13.088 12.056 13.076Q12.497 13.076 12.656 13.037Q12.814 12.998 12.857 12.771L13.935 8.451Q13.958 8.381 13.958 8.318Q13.958 8.256 13.896 8.236Q13.751 8.205 13.329 8.205Q13.224 8.178 13.224 8.076L13.255 7.975Q13.286 7.916 13.345 7.908L15.704 7.908Q15.743 7.908 15.771 7.945Q15.798 7.982 15.798 8.029L15.775 8.135Q15.743 8.193 15.681 8.205Q15.095 8.205 14.896 8.244Q14.728 8.295 14.673 8.510L13.591 12.830Q13.560 12.955 13.560 13.029Q13.560 13.076 13.810 13.076L14.630 13.076Q15.091 13.076 15.427 12.961Q15.763 12.846 15.997 12.623Q16.232 12.400 16.398 12.092Q16.564 11.783 16.728 11.334Q16.775 11.275 16.825 11.260L16.904 11.260Q17.001 11.287 17.001 11.373Q17.001 11.381 16.993 11.420L16.294 13.303Q16.255 13.365 16.200 13.373M18.154 14.779Q18.154 14.756 18.185 14.709Q18.478 14.447 18.644 14.080Q18.810 13.713 18.810 13.326L18.810 13.268Q18.681 13.373 18.513 13.373Q18.322 13.373 18.185 13.240Q18.048 13.107 18.048 12.908Q18.048 12.717 18.185 12.584Q18.322 12.451 18.513 12.451Q18.814 12.451 18.939 12.721Q19.064 12.990 19.064 13.326Q19.064 13.775 18.882 14.189Q18.700 14.603 18.361 14.900Q18.337 14.924 18.298 14.924Q18.251 14.924 18.202 14.879Q18.154 14.834 18.154 14.779",[1743],[1724,4906,4907],{"transform":4858},[1729,4908],{"d":4909,"fill":1823,"stroke":1823,"className":4910,"style":1752},"M23.735 13.373L21.598 13.373Q21.563 13.373 21.532 13.332Q21.501 13.291 21.501 13.244L21.524 13.143Q21.536 13.092 21.622 13.076Q22.063 13.076 22.221 13.037Q22.380 12.998 22.422 12.771L23.501 8.451Q23.524 8.381 23.524 8.318Q23.524 8.256 23.462 8.236Q23.317 8.205 22.895 8.205Q22.790 8.178 22.790 8.076L22.821 7.975Q22.829 7.928 22.911 7.908L25.422 7.908Q25.829 7.908 26.272 8.031Q26.715 8.154 27.020 8.430Q27.325 8.705 27.325 9.127Q27.325 9.514 27.055 9.830Q26.786 10.146 26.387 10.355Q25.989 10.564 25.614 10.654Q25.922 10.779 26.120 11.018Q26.317 11.256 26.317 11.572Q26.317 11.615 26.315 11.643Q26.313 11.670 26.309 11.701L26.231 12.396Q26.200 12.685 26.200 12.807Q26.200 13.021 26.268 13.152Q26.337 13.283 26.544 13.283Q26.797 13.283 26.993 13.059Q27.188 12.834 27.255 12.557Q27.262 12.510 27.348 12.494L27.430 12.494Q27.524 12.521 27.524 12.603Q27.524 12.611 27.516 12.646Q27.465 12.861 27.321 13.072Q27.176 13.283 26.969 13.412Q26.762 13.541 26.536 13.541Q26.231 13.541 25.962 13.455Q25.692 13.369 25.520 13.170Q25.348 12.971 25.348 12.662Q25.348 12.553 25.391 12.373L25.567 11.678Q25.590 11.557 25.590 11.463Q25.590 11.127 25.329 10.945Q25.067 10.764 24.704 10.764L23.653 10.764L23.133 12.830Q23.118 12.924 23.118 12.967Q23.118 13.006 23.131 13.019Q23.145 13.033 23.180 13.045Q23.325 13.076 23.751 13.076Q23.844 13.103 23.844 13.197L23.821 13.303Q23.813 13.353 23.735 13.373M24.215 8.510L23.719 10.510L24.661 10.510Q25.005 10.510 25.321 10.441Q25.637 10.373 25.911 10.205Q26.098 10.080 26.235 9.879Q26.372 9.678 26.440 9.445Q26.508 9.213 26.508 8.990Q26.508 8.533 26.141 8.369Q25.774 8.205 25.239 8.205L24.622 8.205Q24.450 8.205 24.387 8.219Q24.325 8.232 24.292 8.291Q24.258 8.350 24.215 8.510",[1743],[1724,4912,4913],{"transform":4858},[1729,4914],{"d":4915,"fill":1823,"stroke":1823,"className":4916,"style":1752},"M28.203 15.373L28.121 15.373Q28.085 15.373 28.060 15.344Q28.035 15.314 28.035 15.275Q28.035 15.225 28.066 15.205Q28.453 14.869 28.736 14.420Q29.019 13.971 29.185 13.471Q29.351 12.971 29.425 12.453Q29.500 11.935 29.500 11.373Q29.500 10.803 29.425 10.287Q29.351 9.771 29.185 9.275Q29.019 8.779 28.740 8.332Q28.460 7.885 28.066 7.541Q28.035 7.521 28.035 7.471Q28.035 7.432 28.060 7.402Q28.085 7.373 28.121 7.373L28.203 7.373Q28.214 7.373 28.224 7.375Q28.234 7.377 28.242 7.381Q28.855 7.838 29.257 8.473Q29.660 9.107 29.855 9.853Q30.050 10.600 30.050 11.373Q30.050 12.146 29.855 12.893Q29.660 13.639 29.257 14.273Q28.855 14.908 28.242 15.365Q28.230 15.365 28.222 15.367Q28.214 15.369 28.203 15.373",[1743],[1724,4918,4919],{"fill":1962,"stroke":1962},[1724,4920,4921,4928,4934,4940,4946,4952,4958,4965,4971,4977,4983,4989,4995,5001,5007,5013],{"fill":1962,"stroke":750},[1724,4922,4924],{"transform":4923},"translate(-3.63 13.95)",[1729,4925],{"d":4926,"fill":1962,"stroke":1962,"className":4927,"style":1752},"M-56.774 12.412L-56.774 10.221L-57.477 10.221L-57.477 9.967Q-57.121 9.967-56.879 9.734Q-56.637 9.502-56.526 9.154Q-56.414 8.807-56.414 8.451L-56.133 8.451L-56.133 9.924L-54.957 9.924L-54.957 10.221L-56.133 10.221L-56.133 12.396Q-56.133 12.717-56.014 12.945Q-55.895 13.174-55.614 13.174Q-55.434 13.174-55.317 13.051Q-55.200 12.928-55.147 12.748Q-55.094 12.568-55.094 12.396L-55.094 11.924L-54.813 11.924L-54.813 12.412Q-54.813 12.666-54.918 12.906Q-55.024 13.146-55.221 13.299Q-55.418 13.451-55.676 13.451Q-55.992 13.451-56.244 13.328Q-56.496 13.205-56.635 12.971Q-56.774 12.736-56.774 12.412M-52.086 13.373L-54.067 13.373L-54.067 13.076Q-53.797 13.076-53.629 13.031Q-53.461 12.986-53.461 12.814L-53.461 10.678Q-53.461 10.463-53.524 10.367Q-53.586 10.271-53.703 10.250Q-53.821 10.228-54.067 10.228L-54.067 9.932L-52.899 9.846L-52.899 10.631Q-52.821 10.420-52.668 10.234Q-52.516 10.049-52.317 9.947Q-52.117 9.846-51.891 9.846Q-51.645 9.846-51.453 9.990Q-51.262 10.135-51.262 10.365Q-51.262 10.521-51.367 10.631Q-51.473 10.740-51.629 10.740Q-51.785 10.740-51.895 10.631Q-52.004 10.521-52.004 10.365Q-52.004 10.205-51.899 10.100Q-52.223 10.100-52.438 10.328Q-52.653 10.557-52.748 10.896Q-52.844 11.236-52.844 11.541L-52.844 12.814Q-52.844 12.982-52.617 13.029Q-52.391 13.076-52.086 13.076L-52.086 13.373M-50.684 12.541Q-50.684 12.057-50.282 11.762Q-49.879 11.467-49.328 11.348Q-48.778 11.228-48.285 11.228L-48.285 10.939Q-48.285 10.713-48.401 10.506Q-48.516 10.299-48.713 10.180Q-48.910 10.060-49.141 10.060Q-49.567 10.060-49.852 10.166Q-49.782 10.193-49.735 10.248Q-49.688 10.303-49.662 10.373Q-49.637 10.443-49.637 10.518Q-49.637 10.623-49.688 10.715Q-49.739 10.807-49.830 10.857Q-49.922 10.908-50.028 10.908Q-50.133 10.908-50.225 10.857Q-50.317 10.807-50.367 10.715Q-50.418 10.623-50.418 10.518Q-50.418 10.100-50.030 9.953Q-49.641 9.807-49.141 9.807Q-48.809 9.807-48.455 9.937Q-48.102 10.068-47.873 10.322Q-47.645 10.576-47.645 10.924L-47.645 12.725Q-47.645 12.857-47.573 12.967Q-47.500 13.076-47.371 13.076Q-47.246 13.076-47.178 12.971Q-47.110 12.865-47.110 12.725L-47.110 12.213L-46.828 12.213L-46.828 12.725Q-46.828 12.928-46.946 13.086Q-47.063 13.244-47.244 13.328Q-47.426 13.412-47.629 13.412Q-47.860 13.412-48.012 13.240Q-48.164 13.068-48.196 12.838Q-48.356 13.119-48.664 13.285Q-48.973 13.451-49.325 13.451Q-49.836 13.451-50.260 13.228Q-50.684 13.006-50.684 12.541M-49.996 12.541Q-49.996 12.826-49.770 13.012Q-49.543 13.197-49.250 13.197Q-49.004 13.197-48.780 13.080Q-48.555 12.963-48.420 12.760Q-48.285 12.557-48.285 12.303L-48.285 11.471Q-48.551 11.471-48.836 11.525Q-49.121 11.580-49.393 11.709Q-49.664 11.838-49.830 12.045Q-49.996 12.252-49.996 12.541M-44.653 14.924L-46.508 14.924L-46.508 14.631Q-46.239 14.631-46.071 14.586Q-45.903 14.541-45.903 14.365L-45.903 10.541Q-45.903 10.334-46.059 10.281Q-46.215 10.228-46.508 10.228L-46.508 9.932L-45.285 9.846L-45.285 10.310Q-45.055 10.088-44.741 9.967Q-44.426 9.846-44.086 9.846Q-43.614 9.846-43.209 10.092Q-42.805 10.338-42.573 10.754Q-42.340 11.170-42.340 11.646Q-42.340 12.021-42.489 12.350Q-42.637 12.678-42.907 12.930Q-43.176 13.182-43.520 13.316Q-43.864 13.451-44.223 13.451Q-44.512 13.451-44.783 13.330Q-45.055 13.209-45.262 12.998L-45.262 14.365Q-45.262 14.541-45.094 14.586Q-44.926 14.631-44.653 14.631L-44.653 14.924M-45.262 10.709L-45.262 12.549Q-45.110 12.838-44.848 13.018Q-44.586 13.197-44.278 13.197Q-43.992 13.197-43.770 13.059Q-43.547 12.920-43.395 12.689Q-43.242 12.459-43.164 12.187Q-43.086 11.916-43.086 11.646Q-43.086 11.314-43.211 10.957Q-43.336 10.600-43.584 10.363Q-43.832 10.127-44.180 10.127Q-44.504 10.127-44.799 10.283Q-45.094 10.439-45.262 10.709M-39.934 14.924L-41.789 14.924L-41.789 14.631Q-41.520 14.631-41.352 14.586Q-41.184 14.541-41.184 14.365L-41.184 10.541Q-41.184 10.334-41.340 10.281Q-41.496 10.228-41.789 10.228L-41.789 9.932L-40.567 9.846L-40.567 10.310Q-40.336 10.088-40.022 9.967Q-39.707 9.846-39.367 9.846Q-38.895 9.846-38.491 10.092Q-38.086 10.338-37.854 10.754Q-37.621 11.170-37.621 11.646Q-37.621 12.021-37.770 12.350Q-37.918 12.678-38.188 12.930Q-38.457 13.182-38.801 13.316Q-39.145 13.451-39.504 13.451Q-39.793 13.451-40.065 13.330Q-40.336 13.209-40.543 12.998L-40.543 14.365Q-40.543 14.541-40.375 14.586Q-40.207 14.631-39.934 14.631L-39.934 14.924M-40.543 10.709L-40.543 12.549Q-40.391 12.838-40.129 13.018Q-39.867 13.197-39.559 13.197Q-39.274 13.197-39.051 13.059Q-38.828 12.920-38.676 12.689Q-38.524 12.459-38.446 12.187Q-38.367 11.916-38.367 11.646Q-38.367 11.314-38.492 10.957Q-38.617 10.600-38.866 10.363Q-39.114 10.127-39.461 10.127Q-39.785 10.127-40.080 10.283Q-40.375 10.439-40.543 10.709",[1743],[1724,4929,4930],{"transform":4923},[1729,4931],{"d":4932,"fill":1962,"stroke":1962,"className":4933,"style":1752},"M-36.850 11.619Q-36.850 11.139-36.617 10.723Q-36.385 10.307-35.975 10.057Q-35.565 9.807-35.088 9.807Q-34.358 9.807-33.959 10.248Q-33.561 10.689-33.561 11.420Q-33.561 11.525-33.654 11.549L-36.104 11.549L-36.104 11.619Q-36.104 12.029-35.983 12.385Q-35.861 12.740-35.590 12.957Q-35.318 13.174-34.889 13.174Q-34.526 13.174-34.229 12.945Q-33.932 12.717-33.830 12.365Q-33.822 12.318-33.736 12.303L-33.654 12.303Q-33.561 12.330-33.561 12.412Q-33.561 12.420-33.568 12.451Q-33.631 12.678-33.770 12.861Q-33.908 13.045-34.100 13.178Q-34.291 13.310-34.510 13.381Q-34.729 13.451-34.967 13.451Q-35.338 13.451-35.676 13.314Q-36.014 13.178-36.281 12.926Q-36.549 12.674-36.699 12.334Q-36.850 11.994-36.850 11.619M-36.096 11.310L-34.135 11.310Q-34.135 11.006-34.236 10.715Q-34.338 10.424-34.555 10.242Q-34.772 10.060-35.088 10.060Q-35.389 10.060-35.619 10.248Q-35.850 10.435-35.973 10.727Q-36.096 11.018-36.096 11.310M-31.256 13.451Q-31.736 13.451-32.145 13.207Q-32.553 12.963-32.791 12.549Q-33.029 12.135-33.029 11.646Q-33.029 11.154-32.772 10.738Q-32.514 10.322-32.082 10.084Q-31.651 9.846-31.158 9.846Q-30.537 9.846-30.088 10.283L-30.088 8.654Q-30.088 8.439-30.151 8.344Q-30.213 8.248-30.330 8.227Q-30.447 8.205-30.693 8.205L-30.693 7.908L-29.471 7.822L-29.471 12.631Q-29.471 12.842-29.408 12.937Q-29.346 13.033-29.229 13.055Q-29.111 13.076-28.861 13.076L-28.861 13.373L-30.111 13.451L-30.111 12.967Q-30.576 13.451-31.256 13.451M-31.190 13.197Q-30.850 13.197-30.557 13.006Q-30.264 12.814-30.111 12.518L-30.111 10.685Q-30.260 10.412-30.522 10.256Q-30.783 10.100-31.096 10.100Q-31.721 10.100-32.004 10.547Q-32.287 10.994-32.287 11.654Q-32.287 12.299-32.035 12.748Q-31.783 13.197-31.190 13.197",[1743],[1724,4935,4936],{"transform":4923},[1729,4937],{"d":4938,"fill":1962,"stroke":1962,"className":4939,"style":1752},"M-19.793 12.396L-25.106 12.396Q-25.184 12.389-25.233 12.340Q-25.281 12.291-25.281 12.213Q-25.281 12.143-25.234 12.092Q-25.188 12.041-25.106 12.029L-19.793 12.029Q-19.719 12.041-19.672 12.092Q-19.625 12.143-19.625 12.213Q-19.625 12.291-19.674 12.340Q-19.723 12.389-19.793 12.396M-19.793 10.709L-25.106 10.709Q-25.184 10.701-25.233 10.652Q-25.281 10.603-25.281 10.525Q-25.281 10.455-25.234 10.404Q-25.188 10.353-25.106 10.342L-19.793 10.342Q-19.719 10.353-19.672 10.404Q-19.625 10.455-19.625 10.525Q-19.625 10.603-19.674 10.652Q-19.723 10.701-19.793 10.709",[1743],[1724,4941,4942],{"transform":4923},[1729,4943],{"d":4944,"fill":1962,"stroke":1962,"className":4945,"style":1752},"M-14.614 13.373L-16.469 13.373L-16.469 13.076Q-16.196 13.076-16.028 13.029Q-15.860 12.982-15.860 12.814L-15.860 10.678Q-15.860 10.463-15.923 10.367Q-15.985 10.271-16.104 10.250Q-16.223 10.228-16.469 10.228L-16.469 9.932L-15.278 9.846L-15.278 10.580Q-15.165 10.365-14.971 10.197Q-14.778 10.029-14.540 9.937Q-14.302 9.846-14.048 9.846Q-13.087 9.846-12.911 10.557Q-12.727 10.228-12.399 10.037Q-12.071 9.846-11.692 9.846Q-10.516 9.846-10.516 10.924L-10.516 12.814Q-10.516 12.982-10.348 13.029Q-10.180 13.076-9.911 13.076L-9.911 13.373L-11.766 13.373L-11.766 13.076Q-11.493 13.076-11.325 13.031Q-11.157 12.986-11.157 12.814L-11.157 10.939Q-11.157 10.553-11.282 10.326Q-11.407 10.100-11.759 10.100Q-12.063 10.100-12.319 10.262Q-12.575 10.424-12.723 10.693Q-12.872 10.963-12.872 11.260L-12.872 12.814Q-12.872 12.982-12.702 13.029Q-12.532 13.076-12.262 13.076L-12.262 13.373L-14.118 13.373L-14.118 13.076Q-13.845 13.076-13.677 13.029Q-13.509 12.982-13.509 12.814L-13.509 10.939Q-13.509 10.553-13.634 10.326Q-13.759 10.100-14.110 10.100Q-14.415 10.100-14.671 10.262Q-14.927 10.424-15.075 10.693Q-15.223 10.963-15.223 11.260L-15.223 12.814Q-15.223 12.982-15.053 13.029Q-14.884 13.076-14.614 13.076L-14.614 13.373M-7.606 13.373L-9.384 13.373L-9.384 13.076Q-9.110 13.076-8.942 13.029Q-8.774 12.982-8.774 12.814L-8.774 10.678Q-8.774 10.463-8.831 10.367Q-8.887 10.271-9.001 10.250Q-9.114 10.228-9.360 10.228L-9.360 9.932L-8.161 9.846L-8.161 12.814Q-8.161 12.982-8.014 13.029Q-7.868 13.076-7.606 13.076L-7.606 13.373M-9.048 8.451Q-9.048 8.260-8.913 8.129Q-8.778 7.998-8.583 7.998Q-8.462 7.998-8.358 8.060Q-8.255 8.123-8.192 8.227Q-8.130 8.330-8.130 8.451Q-8.130 8.646-8.261 8.781Q-8.391 8.916-8.583 8.916Q-8.782 8.916-8.915 8.783Q-9.048 8.650-9.048 8.451M-5.177 13.373L-7.032 13.373L-7.032 13.076Q-6.759 13.076-6.591 13.029Q-6.423 12.982-6.423 12.814L-6.423 10.678Q-6.423 10.463-6.485 10.367Q-6.548 10.271-6.667 10.250Q-6.786 10.228-7.032 10.228L-7.032 9.932L-5.841 9.846L-5.841 10.580Q-5.727 10.365-5.534 10.197Q-5.341 10.029-5.102 9.937Q-4.864 9.846-4.610 9.846Q-3.442 9.846-3.442 10.924L-3.442 12.814Q-3.442 12.982-3.272 13.029Q-3.102 13.076-2.833 13.076L-2.833 13.373L-4.688 13.373L-4.688 13.076Q-4.415 13.076-4.247 13.029Q-4.079 12.982-4.079 12.814L-4.079 10.939Q-4.079 10.557-4.200 10.328Q-4.321 10.100-4.673 10.100Q-4.985 10.100-5.239 10.262Q-5.493 10.424-5.639 10.693Q-5.786 10.963-5.786 11.260L-5.786 12.814Q-5.786 12.982-5.616 13.029Q-5.446 13.076-5.177 13.076",[1743],[1724,4947,4948],{"transform":4923},[1729,4949],{"d":4950,"fill":1962,"stroke":1962,"className":4951,"style":1752},"M0.002 15.365Q-0.611 14.908-1.013 14.273Q-1.416 13.639-1.611 12.893Q-1.806 12.146-1.806 11.373Q-1.806 10.600-1.611 9.853Q-1.416 9.107-1.013 8.473Q-0.611 7.838 0.002 7.381Q0.014 7.377 0.022 7.375Q0.030 7.373 0.041 7.373L0.119 7.373Q0.158 7.373 0.184 7.400Q0.209 7.428 0.209 7.471Q0.209 7.521 0.178 7.541Q-0.330 7.994-0.652 8.617Q-0.974 9.240-1.115 9.935Q-1.256 10.631-1.256 11.373Q-1.256 12.107-1.117 12.807Q-0.978 13.506-0.654 14.131Q-0.330 14.756 0.178 15.205Q0.209 15.225 0.209 15.275Q0.209 15.318 0.184 15.346Q0.158 15.373 0.119 15.373L0.041 15.373Q0.033 15.369 0.024 15.367Q0.014 15.365 0.002 15.365",[1743],[1724,4953,4954],{"transform":4923},[1729,4955],{"d":4956,"fill":1962,"stroke":1962,"className":4957,"style":1752},"M5.339 13.373L1.171 13.373Q1.074 13.342 1.074 13.244L1.097 13.143Q1.132 13.088 1.195 13.076Q1.636 13.076 1.795 13.037Q1.953 12.998 1.996 12.771L3.074 8.451Q3.097 8.381 3.097 8.318Q3.097 8.256 3.035 8.236Q2.890 8.205 2.468 8.205Q2.363 8.178 2.363 8.076L2.394 7.975Q2.425 7.916 2.484 7.908L4.843 7.908Q4.882 7.908 4.910 7.945Q4.937 7.982 4.937 8.029L4.914 8.135Q4.882 8.193 4.820 8.205Q4.234 8.205 4.035 8.244Q3.867 8.295 3.812 8.510L2.730 12.830Q2.699 12.955 2.699 13.029Q2.699 13.076 2.949 13.076L3.769 13.076Q4.230 13.076 4.566 12.961Q4.902 12.846 5.136 12.623Q5.371 12.400 5.537 12.092Q5.703 11.783 5.867 11.334Q5.914 11.275 5.964 11.260L6.043 11.260Q6.140 11.287 6.140 11.373Q6.140 11.381 6.132 11.420L5.433 13.303Q5.394 13.365 5.339 13.373",[1743],[1724,4959,4960],{"transform":4923},[1729,4961],{"d":4962,"fill":1962,"stroke":1962,"className":4963,"style":4964},"M7.250 14.129Q7.250 14.015 7.300 13.915L7.816 12.617Q7.868 12.480 7.868 12.365Q7.868 12.163 7.719 12.163Q7.555 12.163 7.419 12.279Q7.283 12.395 7.193 12.566Q7.104 12.738 7.066 12.899Q7.045 12.937 6.992 12.954L6.896 12.954Q6.825 12.934 6.825 12.869Q6.825 12.863 6.831 12.834Q6.919 12.491 7.164 12.219Q7.409 11.946 7.731 11.946Q7.889 11.946 8.034 12.007Q8.179 12.067 8.267 12.185Q8.355 12.304 8.355 12.468Q8.355 12.591 8.314 12.685L7.798 13.980Q7.742 14.094 7.742 14.232Q7.742 14.437 7.886 14.437Q8.053 14.437 8.189 14.321Q8.325 14.205 8.416 14.035Q8.507 13.865 8.548 13.698Q8.569 13.666 8.613 13.643L8.709 13.643Q8.788 13.672 8.788 13.728Q8.788 13.734 8.780 13.763Q8.730 13.974 8.602 14.180Q8.475 14.387 8.284 14.519Q8.094 14.651 7.874 14.651Q7.628 14.651 7.439 14.511Q7.250 14.372 7.250 14.129M7.959 10.956Q7.959 10.816 8.069 10.712Q8.179 10.608 8.320 10.608Q8.422 10.608 8.497 10.679Q8.572 10.751 8.572 10.854Q8.572 10.994 8.460 11.098Q8.349 11.202 8.211 11.202Q8.109 11.202 8.034 11.128Q7.959 11.053 7.959 10.956",[1743],"stroke-width:0.180",[1724,4966,4967],{"transform":4923},[1729,4968],{"d":4969,"fill":1962,"stroke":1962,"className":4970,"style":1752},"M10.469 14.779Q10.469 14.756 10.500 14.709Q10.793 14.447 10.959 14.080Q11.125 13.713 11.125 13.326L11.125 13.268Q10.997 13.373 10.829 13.373Q10.637 13.373 10.500 13.240Q10.364 13.107 10.364 12.908Q10.364 12.717 10.500 12.584Q10.637 12.451 10.829 12.451Q11.129 12.451 11.254 12.721Q11.379 12.990 11.379 13.326Q11.379 13.775 11.198 14.189Q11.016 14.603 10.676 14.900Q10.653 14.924 10.614 14.924Q10.567 14.924 10.518 14.879Q10.469 14.834 10.469 14.779",[1743],[1724,4972,4973],{"transform":4923},[1729,4974],{"d":4975,"fill":1962,"stroke":1962,"className":4976,"style":1752},"M16.048 13.373L13.911 13.373Q13.876 13.373 13.845 13.332Q13.814 13.291 13.814 13.244L13.837 13.143Q13.849 13.092 13.935 13.076Q14.376 13.076 14.534 13.037Q14.693 12.998 14.736 12.771L15.814 8.451Q15.837 8.381 15.837 8.318Q15.837 8.256 15.775 8.236Q15.630 8.205 15.208 8.205Q15.103 8.178 15.103 8.076L15.134 7.975Q15.142 7.928 15.224 7.908L17.736 7.908Q18.142 7.908 18.585 8.031Q19.028 8.154 19.333 8.430Q19.638 8.705 19.638 9.127Q19.638 9.514 19.368 9.830Q19.099 10.146 18.700 10.355Q18.302 10.564 17.927 10.654Q18.236 10.779 18.433 11.018Q18.630 11.256 18.630 11.572Q18.630 11.615 18.628 11.643Q18.626 11.670 18.622 11.701L18.544 12.396Q18.513 12.685 18.513 12.807Q18.513 13.021 18.581 13.152Q18.650 13.283 18.857 13.283Q19.111 13.283 19.306 13.059Q19.501 12.834 19.568 12.557Q19.575 12.510 19.661 12.494L19.743 12.494Q19.837 12.521 19.837 12.603Q19.837 12.611 19.829 12.646Q19.778 12.861 19.634 13.072Q19.489 13.283 19.282 13.412Q19.075 13.541 18.849 13.541Q18.544 13.541 18.275 13.455Q18.005 13.369 17.833 13.170Q17.661 12.971 17.661 12.662Q17.661 12.553 17.704 12.373L17.880 11.678Q17.903 11.557 17.903 11.463Q17.903 11.127 17.642 10.945Q17.380 10.764 17.017 10.764L15.966 10.764L15.446 12.830Q15.431 12.924 15.431 12.967Q15.431 13.006 15.444 13.019Q15.458 13.033 15.493 13.045Q15.638 13.076 16.064 13.076Q16.157 13.103 16.157 13.197L16.134 13.303Q16.126 13.353 16.048 13.373M16.528 8.510L16.032 10.510L16.974 10.510Q17.318 10.510 17.634 10.441Q17.950 10.373 18.224 10.205Q18.411 10.080 18.548 9.879Q18.685 9.678 18.753 9.445Q18.821 9.213 18.821 8.990Q18.821 8.533 18.454 8.369Q18.087 8.205 17.552 8.205L16.935 8.205Q16.763 8.205 16.700 8.219Q16.638 8.232 16.605 8.291Q16.571 8.350 16.528 8.510",[1743],[1724,4978,4979],{"transform":4923},[1729,4980],{"d":4981,"fill":1962,"stroke":1962,"className":4982,"style":4964},"M20.603 14.129Q20.603 14.015 20.653 13.915L21.169 12.617Q21.221 12.480 21.221 12.365Q21.221 12.163 21.072 12.163Q20.908 12.163 20.772 12.279Q20.636 12.395 20.546 12.566Q20.457 12.738 20.419 12.899Q20.398 12.937 20.345 12.954L20.249 12.954Q20.178 12.934 20.178 12.869Q20.178 12.863 20.184 12.834Q20.272 12.491 20.517 12.219Q20.762 11.946 21.084 11.946Q21.242 11.946 21.387 12.007Q21.532 12.067 21.620 12.185Q21.708 12.304 21.708 12.468Q21.708 12.591 21.667 12.685L21.151 13.980Q21.095 14.094 21.095 14.232Q21.095 14.437 21.239 14.437Q21.406 14.437 21.542 14.321Q21.678 14.205 21.769 14.035Q21.860 13.865 21.901 13.698Q21.922 13.666 21.966 13.643L22.062 13.643Q22.141 13.672 22.141 13.728Q22.141 13.734 22.133 13.763Q22.083 13.974 21.955 14.180Q21.828 14.387 21.637 14.519Q21.447 14.651 21.227 14.651Q20.981 14.651 20.792 14.511Q20.603 14.372 20.603 14.129M21.312 10.956Q21.312 10.816 21.422 10.712Q21.532 10.608 21.673 10.608Q21.775 10.608 21.850 10.679Q21.925 10.751 21.925 10.854Q21.925 10.994 21.813 11.098Q21.702 11.202 21.564 11.202Q21.462 11.202 21.387 11.128Q21.312 11.053 21.312 10.956",[1743],[1724,4984,4985],{"transform":4923},[1729,4986],{"d":4987,"fill":1962,"stroke":1962,"className":4988,"style":1752},"M23.639 15.373L23.557 15.373Q23.521 15.373 23.496 15.344Q23.471 15.314 23.471 15.275Q23.471 15.225 23.502 15.205Q23.889 14.869 24.172 14.420Q24.455 13.971 24.621 13.471Q24.787 12.971 24.861 12.453Q24.936 11.935 24.936 11.373Q24.936 10.803 24.861 10.287Q24.787 9.771 24.621 9.275Q24.455 8.779 24.176 8.332Q23.896 7.885 23.502 7.541Q23.471 7.521 23.471 7.471Q23.471 7.432 23.496 7.402Q23.521 7.373 23.557 7.373L23.639 7.373Q23.650 7.373 23.660 7.375Q23.670 7.377 23.678 7.381Q24.291 7.838 24.693 8.473Q25.096 9.107 25.291 9.853Q25.486 10.600 25.486 11.373Q25.486 12.146 25.291 12.893Q25.096 13.639 24.693 14.273Q24.291 14.908 23.678 15.365Q23.666 15.365 23.658 15.367Q23.650 15.369 23.639 15.373",[1743],[1724,4990,4991],{"transform":4923},[1729,4992],{"d":4993,"fill":1962,"stroke":1962,"className":4994,"style":1752},"M33.912 11.557L29.080 11.557Q29.006 11.545 28.955 11.496Q28.904 11.447 28.904 11.373Q28.904 11.221 29.080 11.189L33.912 11.189Q34.080 11.217 34.080 11.373Q34.080 11.529 33.912 11.557",[1743],[1724,4996,4997],{"transform":4923},[1729,4998],{"d":4999,"fill":1962,"stroke":1962,"className":5000,"style":1752},"M37.134 13.197Q37.138 13.178 37.140 13.164Q37.142 13.150 37.142 13.127L38.295 8.525Q38.334 8.338 38.334 8.310Q38.334 8.205 37.838 8.205Q37.740 8.174 37.740 8.076L37.763 7.975Q37.771 7.928 37.853 7.908L38.959 7.822Q39.009 7.822 39.043 7.852Q39.076 7.881 39.076 7.939L38.455 10.443Q38.697 10.166 39.007 10.006Q39.318 9.846 39.670 9.846Q40.123 9.846 40.404 10.072Q40.685 10.299 40.685 10.732Q40.685 11.072 40.552 11.473Q40.420 11.873 40.166 12.541Q40.068 12.756 40.068 12.947Q40.068 13.197 40.244 13.197Q40.552 13.197 40.771 12.881Q40.990 12.564 41.076 12.197Q41.103 12.127 41.166 12.127L41.267 12.127Q41.306 12.127 41.332 12.156Q41.357 12.185 41.357 12.221Q41.357 12.236 41.349 12.252Q41.275 12.541 41.125 12.812Q40.974 13.084 40.744 13.268Q40.513 13.451 40.228 13.451Q39.923 13.451 39.705 13.264Q39.486 13.076 39.486 12.771Q39.486 12.607 39.541 12.486Q39.783 11.842 39.925 11.400Q40.068 10.959 40.068 10.631Q40.068 10.396 39.972 10.248Q39.877 10.100 39.654 10.100Q38.826 10.100 38.267 11.174L37.763 13.182Q37.732 13.303 37.634 13.377Q37.537 13.451 37.412 13.451Q37.298 13.451 37.216 13.381Q37.134 13.310 37.134 13.197",[1743],[1724,5002,5003],{"transform":4923},[1729,5004],{"d":5005,"fill":1962,"stroke":1962,"className":5006,"style":1752},"M43.759 15.373L42.583 15.373L42.583 7.373L43.759 7.373L43.759 7.740L42.950 7.740L42.950 15.006L43.759 15.006",[1743],[1724,5008,5009],{"transform":4923},[1729,5010],{"d":5011,"fill":1962,"stroke":1962,"className":5012,"style":1752},"M44.639 12.771Q44.639 12.639 44.694 12.486L45.366 10.756Q45.456 10.533 45.456 10.350Q45.456 10.100 45.280 10.100Q44.975 10.100 44.764 10.408Q44.554 10.717 44.448 11.100Q44.436 11.174 44.366 11.174L44.264 11.174Q44.229 11.174 44.202 11.139Q44.175 11.103 44.175 11.076L44.175 11.045Q44.296 10.580 44.591 10.213Q44.886 9.846 45.296 9.846Q45.503 9.846 45.673 9.928Q45.843 10.010 45.946 10.164Q46.050 10.318 46.050 10.525Q46.050 10.646 45.991 10.814L45.319 12.541Q45.233 12.775 45.233 12.947Q45.233 13.197 45.409 13.197Q45.722 13.197 45.936 12.879Q46.151 12.560 46.233 12.197Q46.261 12.127 46.319 12.127L46.425 12.127Q46.464 12.127 46.487 12.156Q46.511 12.185 46.511 12.221Q46.511 12.236 46.503 12.252Q46.425 12.553 46.278 12.820Q46.132 13.088 45.907 13.269Q45.682 13.451 45.393 13.451Q45.077 13.451 44.858 13.264Q44.639 13.076 44.639 12.771M45.561 8.533Q45.561 8.353 45.708 8.215Q45.854 8.076 46.030 8.076Q46.167 8.076 46.259 8.164Q46.350 8.252 46.350 8.389Q46.350 8.564 46.206 8.705Q46.061 8.846 45.889 8.846Q45.757 8.846 45.659 8.754Q45.561 8.662 45.561 8.533",[1743],[1724,5014,5015],{"transform":4923},[1729,5016],{"d":5017,"fill":1962,"stroke":1962,"className":5018,"style":1752},"M48.205 15.373L47.030 15.373L47.030 15.006L47.838 15.006L47.838 7.740L47.030 7.740L47.030 7.373L48.205 7.373",[1743],[2036,5020,5022,5023,5067,5068,5083,5084,5223],{"className":5021},[2039],"Trapping rain water: above each bar the water rises to ",[415,5024,5026],{"className":5025},[418],[415,5027,5029],{"className":5028,"ariaHidden":423},[422],[415,5030,5032,5035,5041,5044,5051,5054,5057,5064],{"className":5031},[427],[415,5033],{"className":5034,"style":485},[431],[415,5036,5038],{"className":5037},[3417],[415,5039,4788],{"className":5040},[436,3421],[415,5042,539],{"className":5043},[492],[415,5045,5047],{"className":5046},[436,640],[415,5048,5050],{"className":5049},[436],"leftMax",[415,5052,2082],{"className":5053},[2081],[415,5055],{"className":5056,"style":2086},[676],[415,5058,5060],{"className":5059},[436,640],[415,5061,5063],{"className":5062},[436],"rightMax",[415,5065,586],{"className":5066},[500],", so the trapped height at index ",[415,5069,5071],{"className":5070},[418],[415,5072,5074],{"className":5073,"ariaHidden":423},[422],[415,5075,5077,5080],{"className":5076},[427],[415,5078],{"className":5079,"style":467},[431],[415,5081,471],{"className":5082},[436,437]," is ",[415,5085,5087],{"className":5086},[418],[415,5088,5090,5205],{"className":5089,"ariaHidden":423},[422],[415,5091,5093,5096,5102,5105,5146,5149,5152,5193,5196,5199,5202],{"className":5092},[427],[415,5094],{"className":5095,"style":485},[431],[415,5097,5099],{"className":5098},[3417],[415,5100,4788],{"className":5101},[436,3421],[415,5103,539],{"className":5104},[492],[415,5106,5108,5111],{"className":5107},[436],[415,5109,2611],{"className":5110},[436,437],[415,5112,5114],{"className":5113},[550],[415,5115,5117,5138],{"className":5116},[554,820],[415,5118,5120,5135],{"className":5119},[558],[415,5121,5124],{"className":5122,"style":5123},[562],"height:0.3117em;",[415,5125,5126,5129],{"style":830},[415,5127],{"className":5128,"style":571},[570],[415,5130,5132],{"className":5131},[575,576,577,578],[415,5133,471],{"className":5134},[436,437,578],[415,5136,844],{"className":5137},[843],[415,5139,5141],{"className":5140},[558],[415,5142,5144],{"className":5143,"style":851},[562],[415,5145],{},[415,5147,2082],{"className":5148},[2081],[415,5150],{"className":5151,"style":2086},[676],[415,5153,5155,5158],{"className":5154},[436],[415,5156,2642],{"className":5157,"style":2641},[436,437],[415,5159,5161],{"className":5160},[550],[415,5162,5164,5185],{"className":5163},[554,820],[415,5165,5167,5182],{"className":5166},[558],[415,5168,5170],{"className":5169,"style":5123},[562],[415,5171,5173,5176],{"style":5172},"top:-2.55em;margin-left:-0.0077em;margin-right:0.05em;",[415,5174],{"className":5175,"style":571},[570],[415,5177,5179],{"className":5178},[575,576,577,578],[415,5180,471],{"className":5181},[436,437,578],[415,5183,844],{"className":5184},[843],[415,5186,5188],{"className":5187},[558],[415,5189,5191],{"className":5190,"style":851},[562],[415,5192],{},[415,5194,586],{"className":5195},[500],[415,5197],{"className":5198,"style":1633},[676],[415,5200,2494],{"className":5201},[1637],[415,5203],{"className":5204,"style":1633},[676],[415,5206,5208,5211,5214,5217,5220],{"className":5207},[427],[415,5209],{"className":5210,"style":485},[431],[415,5212,2561],{"className":5213},[436,437],[415,5215,493],{"className":5216},[492],[415,5218,471],{"className":5219},[436,437],[415,5221,501],{"className":5222},[500]," — bounded on each side by a previous\u002Fnext taller bar",[593,5225,5227],{"id":5226},"takeaways","Takeaways",[5229,5230,5231,5240,5277,5282,5356],"ul",{},[3625,5232,5233,5234,5236,5237,2787],{},"A ",[390,5235,392],{}," stays sorted by popping order-violating elements before\neach push; at every moment it holds exactly the indices whose answer is still\n",[390,5238,5239],{},"unresolved",[3625,5241,5242,5245,5246,5249,5250,2787],{},[390,5243,5244],{},"Next greater element"," is the core routine: a decreasing stack of indices,\nresolved when a larger value arrives. By an ",[390,5247,5248],{},"aggregate argument"," (each index\npushed once, popped at most once) it runs in ",[390,5251,5252,5253],{},"amortized ",[415,5254,5256],{"className":5255},[418],[415,5257,5259],{"className":5258,"ariaHidden":423},[422],[415,5260,5262,5265,5268,5271,5274],{"className":5261},[427],[415,5263],{"className":5264,"style":485},[431],[415,5266,1458],{"className":5267,"style":1457},[436,437],[415,5269,539],{"className":5270},[492],[415,5272,546],{"className":5273},[436,437],[415,5275,586],{"className":5276},[500],[3625,5278,5279,5281],{},[390,5280,2542],{}," fuses a previous-smaller and a\nnext-smaller scan into one increasing stack: a popped bar's left\u002Fright limits\nare the exposed stack top and the trigger index, both genuine smaller bars, so\nthe linear sweep computes every maximal rectangle.",[3625,5283,5233,5284,5287,5288,5291,5292,5316,5317,2787],{},[390,5285,5286],{},"monotonic (decreasing) deque"," streams the ",[390,5289,5290],{},"sliding-window maximum"," in\n",[415,5293,5295],{"className":5294},[418],[415,5296,5298],{"className":5297,"ariaHidden":423},[422],[415,5299,5301,5304,5307,5310,5313],{"className":5300},[427],[415,5302],{"className":5303,"style":485},[431],[415,5305,1458],{"className":5306,"style":1457},[436,437],[415,5308,539],{"className":5309},[492],[415,5311,546],{"className":5312},[436,437],[415,5314,586],{"className":5315},[500],": push at the back popping smaller tails, expire the front when it leaves\nthe window, and the front is always the window max, beating a heap's\n",[415,5318,5320],{"className":5319},[418],[415,5321,5323],{"className":5322,"ariaHidden":423},[422],[415,5324,5326,5329,5332,5335,5338,5341,5347,5350,5353],{"className":5325},[427],[415,5327],{"className":5328,"style":485},[431],[415,5330,1458],{"className":5331,"style":1457},[436,437],[415,5333,539],{"className":5334},[492],[415,5336,546],{"className":5337},[436,437],[415,5339],{"className":5340,"style":2086},[676],[415,5342,5344],{"className":5343},[3417],[415,5345,3560],{"className":5346,"style":3559},[436,3421],[415,5348],{"className":5349,"style":2086},[676],[415,5351,439],{"className":5352,"style":438},[436,437],[415,5354,586],{"className":5355},[500],[3625,5357,5358,407,5361,5363,5364,5366],{},[390,5359,5360],{},"Daily temperatures",[390,5362,2526],{},", and ",[390,5365,2530],{}," are the same\nprevious\u002Fnext-greater machinery pointed in different directions.",[5368,5369,5372,5377],"section",{"className":5370,"dataFootnotes":376},[5371],"footnotes",[593,5373,5376],{"className":5374,"id":449},[5375],"sr-only","Footnotes",[3622,5378,5379,5393,5405],{},[3625,5380,5382,5385,5386],{"id":5381},"user-content-fn-skiena-sq",[390,5383,5384],{},"Skiena",", § — Stacks & Queues: stacks and queues as the primitives behind LIFO\u002FFIFO scans; the monotonic discipline turns them into linear nearest-greater solvers. ",[385,5387,5392],{"href":5388,"ariaLabel":5389,"className":5390,"dataFootnoteBackref":376},"#user-content-fnref-skiena-sq","Back to reference 1",[5391],"data-footnote-backref","↩",[3625,5394,5396,5399,5400],{"id":5395},"user-content-fn-erickson-ds",[390,5397,5398],{},"Erickson",", Ch. — Data Structures: amortized aggregate analysis of stack operations where each element is pushed and popped at most once. ",[385,5401,5392],{"href":5402,"ariaLabel":5403,"className":5404,"dataFootnoteBackref":376},"#user-content-fnref-erickson-ds","Back to reference 2",[5391],[3625,5406,5408,5410,5411,5435,5436,5460,5461],{"id":5407},"user-content-fn-skiena-deque",[390,5409,5384],{},", § — Stacks & Queues: the deque (double-ended queue) supporting ",[415,5412,5414],{"className":5413},[418],[415,5415,5417],{"className":5416,"ariaHidden":423},[422],[415,5418,5420,5423,5426,5429,5432],{"className":5419},[427],[415,5421],{"className":5422,"style":485},[431],[415,5424,1458],{"className":5425,"style":1457},[436,437],[415,5427,539],{"className":5428},[492],[415,5430,451],{"className":5431},[436],[415,5433,586],{"className":5434},[500]," push\u002Fpop at both ends, the structure underlying ",[415,5437,5439],{"className":5438},[418],[415,5440,5442],{"className":5441,"ariaHidden":423},[422],[415,5443,5445,5448,5451,5454,5457],{"className":5444},[427],[415,5446],{"className":5447,"style":485},[431],[415,5449,1458],{"className":5450,"style":1457},[436,437],[415,5452,539],{"className":5453},[492],[415,5455,546],{"className":5456},[436,437],[415,5458,586],{"className":5459},[500]," sliding-window maxima. ",[385,5462,5392],{"href":5463,"ariaLabel":5464,"className":5465,"dataFootnoteBackref":376},"#user-content-fnref-skiena-deque","Back to reference 3",[5391],[5467,5468,5469],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}html.dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}",{"title":376,"searchDepth":18,"depth":18,"links":5471},[5472,5473,5474,5475,5476,5477],{"id":595,"depth":18,"text":596},{"id":2541,"depth":18,"text":2542},{"id":3377,"depth":18,"text":3378},{"id":4744,"depth":18,"text":4745},{"id":5226,"depth":18,"text":5227},{"id":449,"depth":18,"text":5376},"A plain stack records\nhistory in last-in-first-out order; a monotonic stack records only the\nuseful history. The rule is one extra line: before pushing a new element, pop\nevery element already on the stack that would violate a chosen order, increasing\nor decreasing, and only then push. What survives on the stack is always a sorted\nsequence, and the elements you discard are discarded exactly when they stop\nbeing able to influence any future answer. That single discipline collapses a\nwhole family of array questions (what is the next value to my right larger than me?, how far back is the last taller bar?, what is the maximum of every length-k window?) from quadratic brute force to a single linear\npass.1","md",{"moduleNumber":102,"lessonNumber":18,"order":5481},502,true,[5484,5487,5490,5494,5497],{"title":2449,"slug":5485,"difficulty":5486},"daily-temperatures","Medium",{"title":5488,"slug":5489,"difficulty":5486},"Next Greater Element II","next-greater-element-ii",{"title":5491,"slug":5492,"difficulty":5493},"Largest Rectangle in Histogram","largest-rectangle-in-histogram","Hard",{"title":5495,"slug":5496,"difficulty":5493},"Sliding Window Maximum","sliding-window-maximum",{"title":5498,"slug":5499,"difficulty":5493},"Trapping Rain Water","trapping-rain-water","---\ntitle: Monotonic Stacks & Queues\nmodule: Sequences & Strings\nmoduleNumber: 5\nlessonNumber: 2\norder: 502\nsummary: >-\n  A **monotonic stack** keeps its contents sorted by popping every element that\n  would break the order before each push — turning a family of \"previous\u002Fnext\n  greater (or smaller) element\" questions into a single $O(n)$ scan. We derive\n  the next-greater-element routine and its amortized analysis, fuse two such\n  scans to measure the **largest rectangle in a histogram** in linear time, and\n  extend the idea to a **monotonic deque** that streams the **sliding-window\n  maximum** in $O(n)$.\ntopics: [Array Techniques]\nsources:\n  - book: Skiena\n    ref: \"§ — Stacks & Queues\"\n  - book: Erickson\n    ref: \"Ch. — Data Structures\"\npractice:\n  - title: 'Daily Temperatures'\n    slug: daily-temperatures\n    difficulty: Medium\n  - title: 'Next Greater Element II'\n    slug: next-greater-element-ii\n    difficulty: Medium\n  - title: 'Largest Rectangle in Histogram'\n    slug: largest-rectangle-in-histogram\n    difficulty: Hard\n  - title: 'Sliding Window Maximum'\n    slug: sliding-window-maximum\n    difficulty: Hard\n  - title: 'Trapping Rain Water'\n    slug: trapping-rain-water\n    difficulty: Hard\n---\n\nA plain [stack](\u002Falgorithms\u002Fdata-structures\u002Felementary-structures) records\nhistory in last-in-first-out order; a **monotonic stack** records only the\n_useful_ history. The rule is one extra line: before pushing a new element, pop\nevery element already on the stack that would violate a chosen order, increasing\nor decreasing, and only then push. What survives on the stack is always a sorted\nsequence, and the elements you discard are discarded _exactly when they stop\nbeing able to influence any future answer_. That single discipline collapses a\nwhole family of array questions (\"what is the next value to my right larger than\nme?\", \"how far back is the last taller bar?\", \"what is the maximum of every\nlength-$k$ window?\") from quadratic brute force to a single linear\npass.[^skiena-sq]\n\nThe questions all share a shape. For each index $i$ we want the nearest index to\none side whose value beats $a[i]$ in some sense (greater, smaller). Brute force\nre-scans from every $i$ and costs $\\Theta(n^2)$. The monotonic stack avoids the\nre-scan by carrying, at all times, precisely the set of indices _whose answer is\nstill unknown_, discharging each one the instant its answer appears.\n\n## The monotonic stack: next greater element\n\nThe canonical task: for each $a[i]$, find $\\text{nge}(i)$, the smallest $j > i$\nwith $a[j] > a[i]$ (or \"none\"). Scan left to right keeping a stack of **indices**\nwhose next-greater is still unknown, maintained so their values are **strictly\ndecreasing** from bottom to top. When we reach $a[i]$:\n\n> **Invariant.** The stack holds indices $i_1 \u003C i_2 \u003C \\cdots \u003C i_m$, not yet\n> resolved, with $a[i_1] > a[i_2] > \\cdots > a[i_m]$. Every index _not_ on the\n> stack has already been assigned its next-greater element.\n\nIf $a[i]$ exceeds the value at the top, then $a[i]$ is the answer for that top\nindex, the first larger value to its right, so we pop it, record\n$\\text{nge} = i$, and repeat. We keep popping while $a[i]$ beats the new top; each\npopped index has just found its next-greater. Once the top is $\\ge a[i]$ (order\nrestored), we push $i$, still unresolved. Anything left on the stack at the end\nhas no greater element to its right.\n\n```algorithm\ncaption: $\\textsc{Next-Greater}(a[1..n])$ — next strictly-greater element to the right\n$S \\gets$ empty stack of indices\nfor $i \\gets 1$ to $n$ do\n  while $S$ not empty and $a[\\text{top}(S)] \u003C a[i]$ do\n    $j \\gets \\text{pop}(S)$\n    $\\text{nge}[j] \\gets i$ \u002F\u002F $a[i]$: $j$'s next-greater\n  $\\text{push}(S, i)$ \u002F\u002F unresolved\nwhile $S$ not empty do\n  $\\text{nge}[\\text{pop}(S)] \\gets \\text{none}$ \u002F\u002F no greater right\n```\n\nThe body of the `while` looks as if it could be quadratic, but it is not.\n\n> **Lemma (amortized $O(n)$).** $\\textsc{Next-Greater}$ runs in $O(n)$ time.\n>\n\n> **Proof (aggregate).** Each index is **pushed exactly once**, in the single\n> `push` at the end of the loop body, and is **popped at most once**, after which\n> it never returns to the stack. A `while`-iteration performs one pop, so the\n> total number of `while`-iterations across the whole run is at most $n$. The\n> outer loop runs $n$ times and does $O(1)$ work besides popping. Total work is\n> therefore $O(n) + O(n) = O(n)$, even though an individual step may pop many\n> elements. $\\qed$\n\n$$\n% caption: Next-greater scan on $a=\\langle 2,5,3,1,4\\rangle$. Arriving $a[5]{=}4$ pops\n%          indices $4$ then $3$ (values $1,3$ both $\u003C4$), assigning\n%          $\\text{nge}[4]{=}\\text{nge}[3]{=}5$; index $2$ (value $5\\ge4$) survives, then\n%          $5$ is pushed\n\\begin{tikzpicture}[>=stealth, font=\\small]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\fill[acc!15] (4.4,-0.4) rectangle (5.1,0.4);\n  \\foreach \\i\u002F\\v in {1\u002F2,2\u002F5,3\u002F3,4\u002F1,5\u002F4} {\n    \\node[draw, minimum size=8mm, inner sep=1pt] (a\\i) at (\\i*0.95,0) {$\\v$};\n    \\node[font=\\footnotesize] at (\\i*0.95,0.6) {\\i};\n  }\n  \\node[draw=acc, very thick, minimum size=8mm, inner sep=1pt] at (4.75,0) {};\n  \\node[font=\\footnotesize, acc] at (4.75,-0.6) {trigger $i{=}5$};\n  \\node[font=\\footnotesize] at (0.0,-1.6) {stack};\n  \\node[draw, minimum size=7mm, inner sep=1pt] (sb) at (1.0,-1.6) {$2$};\n  \\node[draw, minimum size=7mm, inner sep=1pt] (sm) at (1.8,-1.6) {$3$};\n  \\node[draw, minimum size=7mm, inner sep=1pt] (st) at (2.6,-1.6) {$4$};\n  \\node[font=\\footnotesize] at (1.0,-2.2) {$v{=}5$};\n  \\node[font=\\footnotesize] at (1.8,-2.2) {$v{=}3$};\n  \\node[font=\\footnotesize] at (2.6,-2.2) {$v{=}1$};\n  \\draw[->, red!75!black, thick] (st.north) .. controls (3.4,-0.6) and (4.0,-0.55) .. (4.45,-0.25);\n  \\draw[->, red!75!black, thick] (sm.north) .. controls (2.2,0.7) and (3.6,0.75) .. (4.45,0.15);\n  \\node[font=\\footnotesize, red!75!black] at (3.45,-1.15) {pop $4,3$};\n  \\node[font=\\footnotesize] at (1.0,-2.8) {bottom};\n  \\node[font=\\footnotesize] at (2.6,-2.8) {top};\n\\end{tikzpicture}\n$$\n\nThe same scan, with the comparison flipped to $a[\\text{top}(S)] > a[i]$ and a\nstrictly-increasing stack, computes the **next smaller** element; reversing the\nscan direction gives **previous greater \u002F previous smaller**. Four cousins, one\ntemplate. **Daily Temperatures** is literally $\\textsc{Next-Greater}$ returning\n$j - i$ instead of $j$; the classic **stock span** is previous-greater; and as we\nwill see, **trapping rain water** is bounded on each side by the previous- and\nnext-greater bars. They are all the same machine pointed in different\ndirections.[^erickson-ds]\n\n\n## Largest rectangle in a histogram\n\nGiven bar heights $h[1..n]$ of unit width, find the largest axis-aligned\nrectangle that fits under the skyline. The key observation: the maximal rectangle\n_using bar $i$ as its limiting (shortest) height_ extends left until it hits the\nnearest shorter bar and right until the nearest shorter bar. So if\n$L(i)$ is the **previous-smaller** index and $R(i)$ the **next-smaller** index,\nbar $i$ contributes a rectangle of height $h[i]$ and width $R(i) - L(i) - 1$, and\nthe answer is the maximum of these over all $i$. That is two monotonic scans, and\nwe can _fuse them into one_.\n\nKeep an **increasing** stack of bar indices. When bar $i$ arrives shorter than\nthe top, the top bar can extend no further right: $i$ is its next-smaller bar. Pop\nit. Its previous-smaller bar is _exactly the new stack top_ after the pop, because\nthe stack is increasing, so the element now exposed beneath it is the closest\nearlier bar shorter than the popped one. So at the moment of popping index $t$\nwith $i$ as the trigger:\n\n$$\n\\text{area} = h[t] \\cdot \\bigl(i - \\text{(new top)} - 1\\bigr),\n$$\n\nwhere the width spans from just past the previous-smaller bar (the exposed stack\ntop) up to just before the next-smaller bar $i$. Both boundaries are pinned to\ngenuine smaller bars, so the rectangle is exactly the widest one of height $h[t]$.\n\n$$\n% caption: Largest rectangle via a monotonic increasing stack: bar 5 triggers the pops;\n%          the maximal rectangle of height $h=2$ spans bars 1–4\n\\begin{tikzpicture}[>=stealth, x=8mm, y=8mm]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\draw[thick] (0,0) -- (7.4,0);\n  \\fill[acc, opacity=0.18] (0,0) rectangle (4,2);\n  \\draw[acc, thick] (0,0) rectangle (4,2);\n  \\draw (0,0) rectangle (1,3);\n  \\draw (1,0) rectangle (2,2);\n  \\draw (2,0) rectangle (3,4);\n  \\draw (3,0) rectangle (4,5);\n  \\draw[acc, very thick] (4,0) rectangle (5,1);\n  \\node[font=\\footnotesize] at (0.5,-0.4) {$1$};\n  \\node[font=\\footnotesize] at (1.5,-0.4) {$2$};\n  \\node[font=\\footnotesize] at (2.5,-0.4) {$3$};\n  \\node[font=\\footnotesize] at (3.5,-0.4) {$4$};\n  \\node[font=\\footnotesize, acc] at (4.5,-0.4) {$5$};\n  \\node[font=\\footnotesize, acc] at (4.5,1.35) {trigger};\n  \\node[font=\\footnotesize, acc, fill=white, inner sep=1.5pt] at (2.0,2.35) {max area $=2\\times4$};\n\\end{tikzpicture}\n$$\n\nWhen the trigger bar is shorter than several stacked bars, we pop them one after\nanother, each discharged with its own correct width, before pushing the trigger.\nA sentinel of height $0$ appended at the end flushes everything still on the stack.\n\n```algorithm\ncaption: $\\textsc{Largest-Rectangle}(h[1..n])$ — fused previous\u002Fnext-smaller scan\n$S \\gets$ empty stack of indices; append sentinel $h[n+1] \\gets 0$\n$\\text{best} \\gets 0$\nfor $i \\gets 1$ to $n+1$ do\n  while $S$ not empty and $h[\\text{top}(S)] \\ge h[i]$ do\n    $t \\gets \\text{pop}(S)$\n    $L \\gets$ ($S$ empty $?$ $0$ $:$ $\\text{top}(S)$) \u002F\u002F previous-smaller bar\n    $\\text{best} \\gets \\max(\\text{best},\\; h[t] \\cdot (i - L - 1))$\n  $\\text{push}(S, i)$\nreturn $\\text{best}$\n```\n\nEvery index is pushed once and popped once, so the histogram is solved in\n**[amortized](\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis) $O(n)$** time and\n$O(n)$ space, by the same aggregate argument as\nbefore. What was a $\\Theta(n^2)$ \"try every pair of boundaries\" search becomes a\nsingle sweep precisely because the increasing stack hands us both the left and\nright smaller-boundaries for free.\n\n## The monotonic deque: sliding-window maximum\n\nNow stream the maximum of every contiguous\n[sliding window](\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows) of width $k$:\n$\\max\\{a[i], \\ldots, a[i+k-1]\\}$ for each start $i$. A binary\n[heap](\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort) of the current\nwindow gives $O(n \\log k)$, since every slide does an insert and a (lazy) delete.\nA **monotonic deque** does it in $O(n)$.\n\nMaintain a double-ended queue of indices whose values are **strictly decreasing**\nfrom front to back. Two rules per step at index $i$:\n\n1. **Push back, popping smaller tails.** While the back's value is $\\le a[i]$,\n   pop it, since it can never again be a maximum: $a[i]$ is at least as large\n   and stays in the window at least as long. Then push $i$ at the back.\n2. **Expire the front.** If the front index has fallen out of the window\n   ($\\text{front} \\le i - k$), pop it from the front.\n\nAfter both rules, the **front holds the index of the maximum** of the current\nwindow: it is the largest value among all still-live candidates, because every\nlarger-or-equal later value would have evicted it, and every earlier larger value\nthat left the window was expired.\n\n$$\n% caption: Sliding-window maximum with a decreasing deque; window $[l,r]$ over $a$, deque\n%          front (in accent) is the window max\n\\begin{tikzpicture}[>=stealth, x=9mm, y=9mm]\n  \\definecolor{acc}{HTML}{2348F2}\n  % array row: values 1 3 5 2 4 6  ; window [3,5] = indices covering 5 2 4\n  \\foreach \\i\u002F\\v in {1\u002F1,2\u002F3,3\u002F5,4\u002F2,5\u002F4,6\u002F6} {\n    \\node[draw, minimum size=8mm, font=\\small] (a\\i) at (\\i,0) {$\\v$};\n    \\node[font=\\footnotesize\\itshape] at (\\i,0.62) {\\i};\n  }\n  % window box over indices 3,4,5\n  \\draw[acc, thick] (2.55,-0.45) rectangle (5.45,0.45);\n  \\node[font=\\footnotesize, acc] at (4,0.95) {window $[l,r]=[3,5]$};\n  % deque below: decreasing values 5 (idx3), 4 (idx5)\n  \\node[font=\\footnotesize] at (-0.2,-1.5) {deque:};\n  \\node[draw, fill=acc, fill opacity=0.18, draw=acc, thick, minimum size=8mm, font=\\small] (d1) at (1.1,-1.5) {$5$};\n  \\node[draw, minimum size=8mm, font=\\small] (d2) at (2.2,-1.5) {$4$};\n  \\node[font=\\footnotesize, acc] at (1.1,-2.15) {front};\n  \\node[font=\\footnotesize, acc] at (1.1,-2.72) {(max)};\n  \\node[font=\\footnotesize] at (2.2,-2.15) {back};\n  \\node[font=\\footnotesize] at (1.1,-0.78) {idx 3};\n  \\node[font=\\footnotesize] at (2.2,-0.78) {idx 5};\n  % index 4 (value 2) was popped from the back when 4 arrived\n\\end{tikzpicture}\n$$\n\nEach index enters the deque once (one push) and leaves once (one pop, from either\nend), so across the whole stream the deque does $O(n)$ work, independent of $k$.\nThat beats the heap's $O(n \\log k)$ and, unlike the heap, never carries stale\nelements, since out-of-window indices are expired from the front the moment they\nbecome irrelevant.[^skiena-deque]\n\n> **Intuition.** The deque is a monotonic _stack with a second exit_. Rule 1 is\n> exactly the monotonic-stack push (smaller elements can never win once a bigger,\n> longer-lived one arrives); the extra front exit is what makes it a queue,\n> discarding candidates that age out of the window rather than that get\n> out-valued.\n\n$$\n% caption: Deque step at $i{=}6$ ($a[6]{=}6$) on $a=\\langle 1,3,5,2,4,6\\rangle$. The\n%          incoming $6$ exceeds both tails, so back-popping clears indices $5,3$ (values\n%          $4,5$); the deque collapses to $\\langle 6\\rangle$, the new window-$[4,6]$\n%          maximum\n\\begin{tikzpicture}[>=stealth, font=\\small]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\node[font=\\footnotesize] at (-1.4,0) {before:};\n  \\node[draw, minimum size=8mm, inner sep=1pt] (b1) at (0,0) {$5$};\n  \\node[draw, minimum size=8mm, inner sep=1pt] (b2) at (0.95,0) {$4$};\n  \\node[font=\\footnotesize] at (0,0.6) {idx 3};\n  \\node[font=\\footnotesize] at (0.95,0.6) {idx 5};\n  \\node[font=\\footnotesize] at (0,-0.62) {front};\n  \\node[font=\\footnotesize] at (0.95,-0.62) {back};\n  \\node[draw=acc, very thick, minimum size=8mm, inner sep=1pt] (inc) at (2.9,0) {$6$};\n  \\node[font=\\footnotesize, acc] at (2.9,0.62) {$a[6]$};\n  \\draw[->, red!75!black, thick] (2.45,0) -- (1.55,0);\n  \\node[font=\\footnotesize, red!75!black] at (2.0,0.42) {pop $\\le 6$};\n  \\node[font=\\footnotesize] at (-1.4,-1.7) {after:};\n  \\node[draw=acc, very thick, fill=acc!15, minimum size=8mm, inner sep=1pt] (af) at (0,-1.7) {$6$};\n  \\node[font=\\footnotesize] at (0,-2.32) {idx 6};\n  \\node[font=\\footnotesize, acc] at (1.95,-1.7) {front $=$ window max $=6$};\n\\end{tikzpicture}\n$$\n\n## Why one idea covers so many problems\n\nStock span, daily temperatures, largest rectangle, maximal rectangle in a binary\nmatrix (a histogram per row), and trapping rain water are all the _same\nprevious\u002Fnext-greater-or-smaller machinery_. Trapping rain water, for instance,\nholds water above index $i$ up to $\\min$ of the tallest bar to its left and the\ntallest bar to its right: two directional maxima that a monotonic stack supplies\nin one pass each. Once you recognize \"nearest element beating me on one side,\" the\nmonotonic stack (or, for windowed maxima, the monotonic deque) is the reflex: one\npush and one pop per element, $O(n)$ total.\n\n$$\n% caption: Trapping rain water: above each bar the water rises to\n%          $\\min(\\text{leftMax},\\text{rightMax})$, so the trapped height at index $i$ is\n%          $\\min(L_i,R_i)-h[i]$ — bounded on each side by a previous\u002Fnext taller bar\n\\begin{tikzpicture}[>=stealth, x=7mm, y=7mm]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\useasboundingbox (-0.4,-0.9) rectangle (8.2,4.3);\n  % heights h = [3,0,2,0,4,1,2,3]\n  % water fills to min(leftMax,rightMax) per column up to the cap\n  % leftMax\u002FrightMax give water level: columns 1..7 (0-indexed 0..7)\n  % water cells (acc tint) where level>h\n  \\fill[acc!18] (1,0) rectangle (2,3);   % col1 h0 level3\n  \\fill[acc!18] (2,2) rectangle (3,3);   % col2 h2 level3\n  \\fill[acc!18] (3,0) rectangle (4,3);   % col3 h0 level3\n  \\fill[acc!18] (5,1) rectangle (6,3);   % col5 h1 level3\n  \\fill[acc!18] (6,2) rectangle (7,3);   % col6 h2 level3\n  % bars h\n  \\foreach \\i\u002F\\h in {0\u002F3,1\u002F0,2\u002F2,3\u002F0,4\u002F4,5\u002F1,6\u002F2,7\u002F3} {\n    \\ifnum\\h>0 \\draw[black!60, thick] (\\i,0) rectangle (\\i+1,\\h);\\fi\n  }\n  \\draw[thick] (0,0) -- (8,0);\n  % water level line at y=3 (capped by bar4 height 4 -> level min of left\u002Fright; here 3)\n  \\draw[acc, dashed, thick] (0,3) -- (8,3);\n  \\node[acc, font=\\footnotesize, fill=white, inner sep=1pt] at (4,3.45) {water level $=\\min(L,R)$};\n  % annotate one trapped column\n  \\node[font=\\footnotesize, red!75!black, align=center] at (2.5,-0.6)\n    {trapped $=\\min(L_i,R_i)-h[i]$};\n\\end{tikzpicture}\n$$\n\n## Takeaways\n\n- A **monotonic stack** stays sorted by popping order-violating elements before\n  each push; at every moment it holds exactly the indices whose answer is still\n  **unresolved**.\n- **Next greater element** is the core routine: a decreasing stack of indices,\n  resolved when a larger value arrives. By an **aggregate argument** (each index\n  pushed once, popped at most once) it runs in **amortized $O(n)$**.\n- **Largest rectangle in a histogram** fuses a previous-smaller and a\n  next-smaller scan into one increasing stack: a popped bar's left\u002Fright limits\n  are the exposed stack top and the trigger index, both genuine smaller bars, so\n  the linear sweep computes every maximal rectangle.\n- A **monotonic (decreasing) deque** streams the **sliding-window maximum** in\n  $O(n)$: push at the back popping smaller tails, expire the front when it leaves\n  the window, and the front is always the window max, beating a heap's\n  $O(n\\log k)$.\n- **Daily temperatures**, **stock span**, and **trapping rain water** are the same\n  previous\u002Fnext-greater machinery pointed in different directions.\n\n[^skiena-sq]: **Skiena**, § — Stacks & Queues: stacks and queues as the primitives behind LIFO\u002FFIFO scans; the monotonic discipline turns them into linear nearest-greater solvers.\n[^erickson-ds]: **Erickson**, Ch. — Data Structures: amortized aggregate analysis of stack operations where each element is pushed and popped at most once.\n[^skiena-deque]: **Skiena**, § — Stacks & Queues: the deque (double-ended queue) supporting $O(1)$ push\u002Fpop at both ends, the structure underlying $O(n)$ sliding-window maxima.\n",{"text":5502,"minutes":5503,"time":5504,"words":5505},"8 min read",7.415,444900,1483,{"title":131,"description":5478},[5508,5510],{"book":5384,"ref":5509},"§ — Stacks & Queues",{"book":5398,"ref":5511},"Ch. — Data Structures","available","01.algorithms\u002F05.sequences\u002F02.monotonic-stacks",[128],"TQQYNUa7yaqn45OV2Z-mHCEHv18EfWPowgM30OOit2c",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":5517,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":5518,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":5519,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":5520,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":5521,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":5522,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":5523,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":5524,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":5525,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":5526,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":5527,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":5528,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":5529,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":5530,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":5531,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":5532,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":5533,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":5505,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":5534,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":5535,"\u002Falgorithms\u002Fsequences\u002Ftries":5536,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":5537,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":5538,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":5539,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":5540,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":5541,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":5542,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":5543,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":5544,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":5545,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":5546,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":5547,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":5548,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":5549,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":5550,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":5551,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":5552,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":5553,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":5554,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":5555,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":5556,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":5557,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":5558,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":5559,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":5560,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":5561,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":5562,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":5533,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":5563,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":5564,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":5565,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":5566,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":5548,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":5567,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":5568,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":5529,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":5569,"\u002Falgorithms":5570,"\u002Ftheory-of-computation":5571,"\u002Fcomputer-architecture":5571,"\u002Fphysical-computing":5571,"\u002Fdatabases":5571,"\u002Fdeep-learning":5571},1763,2107,1738,2628,1723,2048,1697,1044,1542,1565,1679,1586,1388,1465,1971,1455,1533,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":5573,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":5574,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":5575,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":5576,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":5577,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":5578,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":5579,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":5580,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":5581,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":5582,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":5583,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":5584,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":5585,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":5586,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":5587,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":5588,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":5589,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":5590,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":5591,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":5592,"\u002Falgorithms\u002Fsequences\u002Ftries":5593,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":5594,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":5595,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":5596,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":5597,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":5598,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":5599,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":5600,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":5601,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":5602,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":5603,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":5604,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":5605,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":5606,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":5607,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":5608,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":5609,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":5610,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":5611,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":5612,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":5613,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":5614,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":5615,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":5616,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":5617,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":5618,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":5619,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":5620,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":5621,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":5622,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":5623,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":5624,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":5625,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":5626,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":5627,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":5628,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":5629,"\u002Falgorithms":5630,"\u002Ftheory-of-computation":5633,"\u002Fcomputer-architecture":5636,"\u002Fphysical-computing":5639,"\u002Fdatabases":5642,"\u002Fdeep-learning":5645},{"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":5631,"title":5632,"module":376,"summary":376},"\u002Falgorithms","Algorithms",{"path":5634,"title":5635,"module":376,"summary":376},"\u002Ftheory-of-computation","Theory of Computation",{"path":5637,"title":5638,"module":376,"summary":376},"\u002Fcomputer-architecture","Computer Architecture",{"path":5640,"title":5641,"module":376,"summary":376},"\u002Fphysical-computing","Physical Computing",{"path":5643,"title":5644,"module":376,"summary":376},"\u002Fdatabases","Databases",{"path":5646,"title":5647,"module":376,"summary":376},"\u002Fdeep-learning","Deep Learning",1781560523290]